Tengo una máquina Linux que actúa como enrutador, servidor DHCP y proxy. En mi lado LAN necesito dos subredes para tener suficientes IP: 192.168.100.0 - 192.168.101.255 - es el rango que necesito. Ambas subredes deben poder acceder a Internet a través de mi equipo Linux,
En eth1 (em1) tengo mi módem de Internet conectado con una IP estática.
En eth2 (em2) tengo mi LAN conectada con la siguiente configuración:
- Dirección IP: 192.168.100.1
- Dirección de transmisión: 192.168.101.255
- Máscara de subred: 255.255.254.0
- Puerta de enlace predeterminada: 192.168.100.1
Mi tabla de enrutamiento es la siguiente:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 56343ffe.rev.st 0.0.0.0 UG 0 0 0 em1
86.52.0.0 * 255.255.192.0 U 1 0 0 em1
192.168.100.0 * 255.255.254.0 U 1 0 0 em2
192.168.101.0 * 255.255.255.0 U 0 0 0 em2
Todo el tráfico del puerto 80 se redirige a mi proxy en Shorewall, y esto funciona bien: todos los hosts pueden acceder a sitios web, YouTube, etc. (puerto 80). El resto del tráfico está enmascarado, pero el tráfico a otros puertos es un problema, por ejemplo, el servidor de licencias DRM de Microsoft, el servidor de actualización AVG, ¿¡inalcanzable!? ¿Pero creo que algo está mal configurado en la tabla de enrutamiento? Mi firewall acepta todo el tráfico saliente después de redirigir el tráfico del puerto 80.
Editar: salida de mi firewall (he sustituido los números en la dirección de Internet por xxx.xxx):
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
dnat all -- anywhere anywhere
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
em1_masq all -- anywhere anywhere
Chain dnat (1 references)
target prot opt source destination
loc_dnat all -- anywhere anywhere
Chain em1_masq (1 references)
target prot opt source destination
SNAT all -- 192.168.100.0/24 anywhere to:86.52.xxx.xxx
SNAT all -- 192.168.101.0/24 anywhere to:86.52.xxx.xxx
Chain loc_dnat (1 references)
target prot opt source destination
REDIRECT tcp -- 192.168.100.0/24 anywhere multiport dports http,squid redir ports 8080
REDIRECT tcp -- 192.168.101.0/24 anywhere multiport dports http,squid redir ports 8080
Respuesta1
Tendrás que hacerles NAT (enmascararlos).
Y ahí fallas.
Dices que está enmascarado, pero obviamente eso no funciona.
(El puerto 80 funciona porque recibe proxy).
Hay alguna configuración en la NAT o en el firewall (posiblemente AMBOS) que no es correcta.
PD: No necesitas esa última línea de ruta. Ya está cubierto por el que está encima.