Bash / proc / sys / net / ipv4 / ip_forward: permissão negada

6

Eu tentei executar

echo 1 > /proc/sys/net/ipv4/ip_forward

Diz acesso negado do bash, então eu fiz:

sudo chmod 1+x /proc/sys/net/ipv4/ip_forward

e agora diz Operação não permitida.

Como posso obter acesso?

    
por Divise 05.06.2016 / 07:06

1 resposta

8

Os bits de permissão para o arquivo /proc/sys/net/ipv4/ip_forward são:

-rw-r--r-- 

com owner:group sendo root:root .

Portanto, apenas root pode gravar no arquivo.

Quando você faz:

echo 1 > /proc/sys/net/ipv4/ip_forward

como usuário normal, você não poderá gravar no arquivo devido a permissão insuficiente.

Você pode fazer:

  • Use sudo e bash :

    sudo bash -c 'echo 1 > /proc/sys/net/ipv4/ip_forward'
    
  • Use tee :

    echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward
    

Observe que você deve usar /etc/sysctl.conf para operações persistentes nos subdiretórios /proc/sys .

Em suma, para habilitar o encaminhamento de IP, você pode simplesmente colocar o seguinte em /etc/sysctl.conf :

net.ipv4.ip_forward = 1

Em seguida, execute:

sudo sysctl -p

para ter efeito imediato.

Isso tem o mesmo efeito que editar o arquivo /proc/sys/net/ipv4/ip_forward diretamente, sem mencionar que é muito mais limpo e, claro, persistente.

    
por heemayl 05.06.2016 / 07:15