Eu estava tentando todo esse tempo se conectar via eth3
e não havia redirecionado o tráfego a partir dele, apenas de eth0
. Um erro estúpido que levou dias para resolver ...
Na minha máquina "roteador" eu tenho o seguinte /etc/network/interfaces
:
# The loopback network interface
auto lo eth0 eth1 eth2 eth3
iface lo inet loopback
# The primary network interface
allow-hotplug eth0
iface eth0 inet dhcp
# Subred 1
iface eth1 inet static
address 192.168.10.1
netmask 255.255.255.0
# Subred 2 (dhcp)
iface eth2 inet static
address 192.168.20.1
netmask 255.255.255.0
# Host-only
iface eth3 inet static
address 192.168.56.10
netmask 255.255.255.0
broadcast 192.168.56.255
Em ~/.bashrc
(pelo menos por enquanto, mais tarde poderia estar em /etc/network/interfaces
):
iptables -F
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 80 -j DNAT --to-destination 192.168.10.20:80
iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 22 -j DNAT --to-destination 192.168.20.46:22
iptables -A FORWARD -i eth0 -p tcp --dport 80 -d 192.168.10.20 -j ACCEPT
iptables -A FORWARD -i eth0 -p tcp --dport 22 -d 192.168.30.50 -j ACCEPT
E iptables -t nat-L
me dá:
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
DNAT tcp -- anywhere anywhere tcp dpt:http to:192.168.10.20:80
DNAT tcp -- anywhere anywhere tcp dpt:ssh to:192.168.20.46:22
Ainda assim, não posso conectar-me ao servidor Web em 192.168.10.20
nem ao servidor ssh em 192.168.30.50
de fora da sub-rede. De dentro não há problema.
Eu estava tentando todo esse tempo se conectar via eth3
e não havia redirecionado o tráfego a partir dele, apenas de eth0
. Um erro estúpido que levou dias para resolver ...