Cómo enrutar dos subredes a Internet a través de una máquina Linux que actúa como enrutador y proxy

Cómo enrutar dos subredes a Internet a través de una máquina Linux que actúa como enrutador y proxy

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.

información relacionada