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.