iptables: adicione roteamento para convidados internos e encaminhamento de porta [fechado]

2

Eu tenho as seguintes regras funcionando bem - antes de adicionar uma rede privada com uma única VM (que pode executar ping em todas as máquinas no host, mas não fora dela) . Eu quero que a VM (192.168.100.2) atinja a internet e habilite um encaminhamento para que eu possa me conectar a ela via SSH. (que só funciona sem as minhas regras, eu já tenho) o encaminhamento de IP está ativado.

As regras do iptables que tenho até agora:

*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [1:152]
-A INPUT -i lo -j ACCEPT
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -p tcp -m tcp --dport 25 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 993 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 587 -j ACCEPT
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables    INPUT:DROP: "
-A INPUT -j DROP
-A FORWARD -m physdev --physdev-is-bridged -j ACCEPT
-A OUTPUT -p icmp -j ACCEPT
COMMIT

Sempre que carrego as regras acima e, em seguida, carrego o seguinte, a VM interna não pode acessar a Internet, mas posso me conectar a ela por meio do encaminhamento de porta:

iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o br0 -j MASQUERADE
iptables -t nat -A PREROUTING -p tcp -i br0 --dport 22727 -j DNAT --to-destination 192.168.100.2:2727
iptables -A FORWARD -p tcp -d 192.168.100.2 --dport 22727 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

Alguma dica do que estou sentindo falta?

    
por lorem monkey 18.02.2016 / 20:24

1 resposta

1

O problema pode ser que os pacotes da Web que retornam da Internet são descartados pela cadeia INPUT, pois o dport é aleatório (e nem sempre 22727)

Você pode tentar:

iptables -I INPUT 2 -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT

EDITAR:

Você também precisa ativar o encaminhamento de ip

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

    
por 18.02.2016 / 21:00