Por que a mudança para o iptables não está tendo efeito?

1

Estou tentando configurar o OpenVPN para usar o Tor como um proxy no Liberte. Quando eu executo o openvpn como root, recebo a seguinte resposta:

Tue May 13 15:15:18 2014 Attempting to establish TCP connection with 127.0.0.1:9050 [nonblock]
Tue May 13 15:15:20 2014 TCP: connecto to 127.0.0.1:9050 failed, will try again in 5 seconds: No route to host

Suponho que isso se deva à seguinte configuração:

# Tor access via SOCKS only for main user and Privoxy
iptables -A OUTPUT -o lo -p tcp -m owner --uid-owner ${luser} --syn -d 127.0.0.1 --dport 9050 -j ACCEPT
iptables -A OUTPUT -o lo -p tcp -m owner --uid-owner privoxy  --syn -d 127.0.0.1 --dport 9050 -j ACCEPT
iptables -A OUTPUT       -p tcp                               --syn -d 127.0.0.1 --dport 9050 -j LOGREJECT

Porque quando eu tento rodar o openvpn como usuário comum (anon) ele se conecta sem nenhum problema. Em vez disso, ele se depara com alguns outros conflitos de permissão mais tarde na execução.

Então, tentei executar o seguinte:

iptables -A OUTPUT -o lo -p tcp -m owner --uid-owner root  --syn -d 127.0.0.1 --dport 9050 -j ACCEPT
/etc/init.d/iptables save
/etc/init.d/iptables restart

E com certeza as mudanças aparecem quando faço iptables -L.

Mas ainda recebo o mesmo erro quando tento executar o openvpn. Então, por que as mudanças não terão efeito?

    
por John 13.05.2014 / 17:23

1 resposta

1

Aqui estão meus pensamentos:

Quando você adiciona uma nova regra usando iptables , ela é ativada na regra no final da cadeia.

Assim, sua cadeia provavelmente ficará assim depois que você emitir o comando:

# Tor access via SOCKS only for main user and Privoxy
iptables -A OUTPUT -o lo -p tcp -m owner --uid-owner ${luser} --syn -d 127.0.0.1 --dport 9050 -j ACCEPT
iptables -A OUTPUT -o lo -p tcp -m owner --uid-owner privoxy  --syn -d 127.0.0.1 --dport 9050 -j ACCEPT
iptables -A OUTPUT       -p tcp                               --syn -d 127.0.0.1 --dport 9050 -j LOGREJECT
iptables -A OUTPUT -o lo -p tcp -m owner --uid-owner root  --syn -d 127.0.0.1 --dport 9050 -j ACCEPT

O pacote de propriedade da raiz está ficando desarmado na regra LOGREJECT, uma vez que aparece à frente da regra ACCEPT final. Você precisa lançar a quarta linha antes do terceiro.

    
por 13.05.2014 / 19:57