Nemesis
N3RD
hi,
ich habe hier eine Bridge eingerichtet, mit der ich den verkehr zwischen 2 subnetzen leiten möchte.
sämtliche clients7server solen nicht wissen, dass es auch ein anderes subnetz gibt, si esollen denken, dass der angesprochene client/server im eigenen subnetz liegt.
dabei sollen jeweils nur die ersten beiden byte der ip verändert werden.
bsp:
netz a: 194.173.0.1 entspricht netz b: 172.16.0.1
die bridge geht über die interfaces eth0 und eth1, mit brctl showmacs sehe ich, dass sie auch mac-adressen sammelt, mit tcpdump kann ich den verkehr an den interfaces beobachten.
nun leite ich auf layer2-ebene den verkehr mit
auf die layer3-ebene zu iptables, welches dann mit:
die Pakete eigentlich an die gewünschte ip leiten sollte.
mit dem modul ip_conntrack und der regel:
sollten die pakete dann eigentlich auch wieder den richtigen weg zurück finden, aber das ganze funktioniert nicht.
im kernel-log finde ich auch eine ganze menge nachrichten aus dem netz von eth0, aber aus dem netz von eth1, in dem sich momentan nur ein rechner befindet bekomme ich fast keine nachrichten.
wenn ich dann hingegen mit
schaue, bekomme ich eine ganze menge an arp-anfragen z.b.:
wobei hier ersteres ein DNS-Servers ist und zweiteres die ip des einen rechners, der sich in dem netz hinter eth1(172.16.0.0/16) befindet
ja, nun weiss ich nicht weiter ...
kann mir da jemand ehlfen ?
thx!
ich habe hier eine Bridge eingerichtet, mit der ich den verkehr zwischen 2 subnetzen leiten möchte.
sämtliche clients7server solen nicht wissen, dass es auch ein anderes subnetz gibt, si esollen denken, dass der angesprochene client/server im eigenen subnetz liegt.
dabei sollen jeweils nur die ersten beiden byte der ip verändert werden.
bsp:
netz a: 194.173.0.1 entspricht netz b: 172.16.0.1
die bridge geht über die interfaces eth0 und eth1, mit brctl showmacs sehe ich, dass sie auch mac-adressen sammelt, mit tcpdump kann ich den verkehr an den interfaces beobachten.
nun leite ich auf layer2-ebene den verkehr mit
Code:
ebtables -t broute -A BROUTING -j DROP
Code:
iptables -t nat -A PREROUTING -m physdev --physdev-in eth1 -d 172.16.0.1 -j DNAT --to-destination 194.173.0.1
mit dem modul ip_conntrack und der regel:
Code:
iptables -A FORWARD -m physdev --physdev-is-bridged -m state --state ESTABLISHED,RELATED -j ACCEPT
im kernel-log finde ich auch eine ganze menge nachrichten aus dem netz von eth0, aber aus dem netz von eth1, in dem sich momentan nur ein rechner befindet bekomme ich fast keine nachrichten.
wenn ich dann hingegen mit
Code:
tcpdump -n -i eth1
Code:
arp who-has 172.16.120.100 tell 172.16.250.250
ja, nun weiss ich nicht weiter ...
kann mir da jemand ehlfen ?
thx!
Zuletzt bearbeitet: