Um usuário não root pode alterar o IP de uma interface de rede?

0

Eu quero usar o OpenVPN com uma interface de túnel persistente. Eu posso criar essa interface com o próprio OpenVPN e atribuí-lo ao usuário / grupo do OpenVPN

$ openvpn --mktun --dev tunOV20 --user openvpn --group openvpn

Neste momento, o tunOV20 não possui endereço IP atribuído. Eu começo o openvpn como root, alimento com o nome do dispositivo TUN preexistente e ele se conecta com o peer e o tunOV20 obtém um endereço IP. Assistindo o log do OpenVPN, ele faz isso executando

$ /sbin/ip addr add dev tunOV20 10.8.0.2/24 broadcast 10.8.0.255

Na configuração do OpenVPN especifiquei que o OpenVPN deveria rodar como usuário / grupo "openvpn". Quando eu paro o OpenVPN agora, ele tenta excluir o endereço do túnel:

$ /sbin/ip addr del dev tunOV20 10.8.0.2/24
RTNETLINK answers: Operation not permitted

Quando eu tento iniciá-lo novamente como root, ele não inicia porque

$ /sbin/ip addr add dev tunOV20 10.8.0.2/24 broadcast 10.8.0.255
RTNETLINK answers: File exists

Após algumas experiências, vejo que o OpenVPN pode manipular a atribuição e a exclusão de IP apenas quando executado como usuário root, mesmo que o usuário openvpn possua a propriedade da interface TUN.

Se eu quiser iniciar o OpenVPN novamente, primeiro tenho que excluir o endereço IP na interface tun com

$ ifconfig tunOV20 0.0.0.0

como root.

Existe uma maneira que o usuário do OpenVPN possa adicionar / apagar IP em sua interface?

    
por Franz 12.08.2018 / 18:24

0 respostas