
Estoy ejecutando Ubuntu 20.04. Funciona bien reenviando solicitudes http dirigidas al puerto 8080 de la máquina local al puerto 80 de otra máquina. Pero cuando configuré reglas de iptables para reenviar solicitudes smb dirigidas a una máquina local a otra máquina que ejecuta un servidor smb, falló. Sólo hay hits en PREROUTING, pero no en POSTROUTING. Los comandos de iptables son los siguientes:
sudo iptables -t nat -A PREROUTING -p tcp --match multiport --dports 445,137,138,139 -j DNAT --to-destination 192.168.10.162
sudo iptables -t nat -A POSTROUTING -d 192.168.10.162 -j MASQUERADE
Después de ejecutar $sudo iptables -t nat -L -v, muestra lo siguiente:
Chain PREROUTING (policy ACCEPT 3981 packets, 847K bytes)
pkts bytes target prot opt in out source destination
60 3156 DNAT tcp -- any any anywhere anywhere multiport dports netbios-ns,netbios-dgm,netbios-ssn,microsoft-ds to:192.168.10.162
Chain INPUT (policy ACCEPT 604 packets, 86773 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 57 packets, 4781 bytes)
pkts bytes target prot opt in out source destination
Chain POSTROUTING (policy ACCEPT 57 packets, 4781 bytes)
pkts bytes target prot opt in out source destination
0 0 MASQUERADE all -- any any anywhere 192.168.10.162
Ubuntu 20.04 se conecta a un conmutador que se conecta a otro conmutador al que se conecta la otra máquina Linux. Utilizo una PC con Win10 conectada al mismo conmutador que Ubuntu 20.04 para visitar Ubuntu 20.04.
Respuesta1
Lamento decirles que cometí un error de bajo nivel. Olvidé habilitar IPFORWARD en la máquina Linux. después de correr
sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
Funciona.