Hallo,
ich habe folgendes Szenario:
- Server mit zwei Interfaces eth0 und eth1
- eth0 geht zum lokalen Netz, Subnet 192.168.9.0/24
- eth1 geht zu einem Router, Subnet 192.168.254.0/24
Jetzt habe ich vor, einzelnen Rechnern im lokalen Netz den Internetzugang über Masquerading zu erlauben. Das habe ich mit einer etwas unsauberen, aber dennoch logischen (meine Meinung nach ) Konfiguration gemacht. Ich lasse Masquerading allgemein zu, aber zunächst sperre ich das gesamte Subnet:
/etc/shorewall/masq:
eth1 eth0!192.168.9.0/24
iptables -L -t nat:
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
eth1\_masq all -- anywhere anywhere
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain eth1\_masq (1 references)
target prot opt source destination
excl\_1 all -- 192.168.9.0/24 anywhere
Chain excl\_1 (1 references)
target prot opt source destination
RETURN all -- 192.168.9.0/24 anywhere
MASQUERADE all -- anywhere anywhere
Das erstellt zwei iptables-Ketten, eth1_masq und excl_1. eth1_masq referenziert zu excl_1, welche das gesamte Subnet ausschließt. Dann füge ich einzelne Rechner VOR den Verweis auf excl_1 ein:
iptables -I eth1\_masq -t nat -s 192.168.9.101 -j MASQUERADE
iptables -L -t nat:
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
eth1\_masq all -- anywhere anywhere
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain eth1\_masq (1 references)
target prot opt source destination
MASQUERADE all -- apollo.cybercrew.lg anywhere
excl\_1 all -- 192.168.9.0/24 anywhere
Chain excl\_1 (1 references)
target prot opt source destination
RETURN all -- 192.168.9.0/24 anywhere
MASQUERADE all -- anywhere anywhere
Jetzt sollte iptables das Paket masqueraden, weil die Regel ja vor dem Exclude abgearbeitet wird. Dennoch bringt mir ein Traceroute auf dem CLient
tracert www.google.de
Routenverfolgung zu www.l.google.com [64.233.183.99] über maximal 30 Abschnitte
>
1
Der Server selber kann aber pingen. Auch wenn ich wirklich das gesamte Subnet masquerade kommt das Ping nicht durch!
Hat jemand eine Idee, wie ich das ganze ohne größere Änderungen an meinem Plan realisieren kann? Oder auch mit ...
Grüße,
Nik