So routen Sie zwei Subnetze über eine Linux-Box, die als Router und Proxy fungiert, zum Internet

So routen Sie zwei Subnetze über eine Linux-Box, die als Router und Proxy fungiert, zum Internet

Ich habe eine Linux-Box, die als Router, DHCP-Server und Proxy fungiert. Auf meiner LAN-Seite brauche ich zwei Subnetze, um genügend IPs zu haben: 192.168.100.0 - 192.168.101.255 - das ist der Bereich, den ich brauche. Beide Subnetze müssen über meine Linux-Box auf das Internet zugreifen können.

An eth1 (em1) habe ich mein Internetmodem mit einer statischen IP angeschlossen.

An eth2 (em2) habe ich mein LAN mit folgenden Einstellungen angeschlossen:

  • IP-Adresse: 192.168.100.1
  • Broadcast-Adresse: 192.168.101.255
  • Subnetzmaske: 255.255.254.0
  • Standard-Gateway: 192.168.100.1

Meine Routingtabelle sieht wie folgt aus:

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

Der gesamte Datenverkehr von Port 80 wird zu meinem Proxy in Shorewall umgeleitet – und das funktioniert einwandfrei – alle Hosts können auf Websites, YouTube usw. zugreifen (Port 80). Der gesamte andere Datenverkehr wird maskiert – aber der Datenverkehr zu anderen Ports ist ein Problem – z. B. der DRM-Lizenzserver von Microsoft oder der AVG-Updateserver – nicht erreichbar!? Aber ich glaube, in der Routing-Tabelle ist etwas falsch konfiguriert?? Meine Firewall akzeptiert den gesamten ausgehenden Datenverkehr, nachdem der Datenverkehr von Port 80 umgeleitet wurde.

Bearbeiten – Ausgabe meiner Firewall (ich habe die Zahlen in der Internetadresse durch xxx.xxx ersetzt):

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

Antwort1

Sie müssen sie per NAT (Maskierung) verwenden.
Und da scheitern Sie.
Sie sagen, es sei maskiert, aber das funktioniert offensichtlich nicht.
(Port 80 funktioniert, weil er per Proxy verwendet wird.)

Eine Konfiguration des NAT oder der Firewall (möglicherweise BEIDES) ist nicht korrekt.

PS: Die letzte Routing-Linie brauchen Sie nicht. Sie wird bereits von der darüber liegenden abgedeckt.

verwandte Informationen