Linux Forwarding, Routing 2 interfaces brauchen je ein "default gateway"
Moin moin,
ich möchte grade von einem virtuellen netzwerk (virtual box) den ganzen netzwerk traffic über ein bestimmtes interface routen zu einem bestimmten gateway.
doch meine versuche funktionieren nicht so ganz... (erläuter ich ganz unten noch mal ausführlicher)
Das komplette netzwerk besteht auf 3 netzen mit 5 wichten schnittstellen (Gateway1, Gateway2, eth0, eth1, vboxnet0)
- Netz 1: 192.168.56.0/24 (Virtuelles Host only Netzwerk mit der schnittstelle vboxnet0)
- Netz 2: 192.168.0.0/24 (eth0 , Gateway:192.168.0.1)
- Netz 3: 192.168.10.0/24 (eth1, Gateway:192.168.10.1)
Linux Debian 8 ist ein Client mit 2 Schnittstellen eth0,eth1 - der mit VirtualBox einige VMs hat - die virtuelle Schnittstelle ist vboxnet0
an eth0 liegt das 192.168.0.0 Netz an - dort stehen einige Office Maschienen und ein Router(GW .0.1) nach Draußen.
an eth1 liegt ein spezielles Netz an .10.0 - in diesem Netz befinden sich noch einige Diagnostik-Rechner und ein Gateway (.10.1) nach Draußen
der tracert google.de befehl auf einer der virtuellen maschienen liefert folgendes:
Also wenn eine virtuelle maschiene aus dem VBOX netz traffic generiert - muss der zwangsweise über die vboxnet0 schnittstelle.
nun soll jeder traffic des 'vboxnet0' interfaces über die eth1 schnittstelle zum gateway des 192.168.10.0 netzes (192.168.10.1) und von dort aus dann sonst wo hin.
aber traffic der von dem linux host kommt soll über eth0 zum gateway des 102.168.0.0 netzes (192.168.0.1).
(nun darf aber kein datenverkeht der von anderen geräten aus den 192.168.0.1 oder 192.168.10.0 netzen in das jeweilige andere geroutet werden)
hatte ich überhaupt den richtigen ansatz ?
ich bin hier seit einiger zeit am versagen - echt kompliziert das ganze ^^
wäre echt schön wenn mir wer das thema näher bringen kann - ich noch sehr unsicher mit linux und netzwerken etc..
Ich bin euch sehr dankbar für die zeit die ihr für meine frage opfert =)
lg jack
ich möchte grade von einem virtuellen netzwerk (virtual box) den ganzen netzwerk traffic über ein bestimmtes interface routen zu einem bestimmten gateway.
doch meine versuche funktionieren nicht so ganz... (erläuter ich ganz unten noch mal ausführlicher)
Das komplette netzwerk besteht auf 3 netzen mit 5 wichten schnittstellen (Gateway1, Gateway2, eth0, eth1, vboxnet0)
- Netz 1: 192.168.56.0/24 (Virtuelles Host only Netzwerk mit der schnittstelle vboxnet0)
- Netz 2: 192.168.0.0/24 (eth0 , Gateway:192.168.0.1)
- Netz 3: 192.168.10.0/24 (eth1, Gateway:192.168.10.1)
Linux Debian 8 ist ein Client mit 2 Schnittstellen eth0,eth1 - der mit VirtualBox einige VMs hat - die virtuelle Schnittstelle ist vboxnet0
an eth0 liegt das 192.168.0.0 Netz an - dort stehen einige Office Maschienen und ein Router(GW .0.1) nach Draußen.
an eth1 liegt ein spezielles Netz an .10.0 - in diesem Netz befinden sich noch einige Diagnostik-Rechner und ein Gateway (.10.1) nach Draußen
# route -n
Kernel-IP-Routentabelle
Ziel Router Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.0.1 0.0.0.0 UG 1024 0 0 eth0
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.10.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
192.168.56.0 0.0.0.0 255.255.255.0 U 0 0 0 vboxnet0
# iptables --table filter --list --verbose
Chain INPUT (policy ACCEPT 4673 packets, 585K bytes)
pkts bytes target prot opt in out source destination
Chain FORWARD (policy ACCEPT 222K packets, 323M bytes)
pkts bytes target prot opt in out source destination
0 0 ACCEPT all -- eth1 vboxnet0 anywhere 192.168.56.0/24
0 0 ACCEPT all -- vboxnet0 eth1 192.168.56.0/24 anywhere
Chain OUTPUT (policy ACCEPT 754 packets, 84975 bytes)
pkts bytes target prot opt in out source destination
der tracert google.de befehl auf einer der virtuellen maschienen liefert folgendes:
>tracert google.de
Routenverfolgung zu google.de [172.217.22.99] über maximal 30 Hops:
1 <1 ms <1 ms <1 ms 192.168.56.1
2 <1 ms <1 ms <1 ms 192.168.0.1
3 ...... [rest nicht mehr relevant]
Also wenn eine virtuelle maschiene aus dem VBOX netz traffic generiert - muss der zwangsweise über die vboxnet0 schnittstelle.
nun soll jeder traffic des 'vboxnet0' interfaces über die eth1 schnittstelle zum gateway des 192.168.10.0 netzes (192.168.10.1) und von dort aus dann sonst wo hin.
aber traffic der von dem linux host kommt soll über eth0 zum gateway des 102.168.0.0 netzes (192.168.0.1).
(nun darf aber kein datenverkeht der von anderen geräten aus den 192.168.0.1 oder 192.168.10.0 netzen in das jeweilige andere geroutet werden)
hatte ich überhaupt den richtigen ansatz ?
ich bin hier seit einiger zeit am versagen - echt kompliziert das ganze ^^
wäre echt schön wenn mir wer das thema näher bringen kann - ich noch sehr unsicher mit linux und netzwerken etc..
Ich bin euch sehr dankbar für die zeit die ihr für meine frage opfert =)
lg jack
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 378427
Url: https://administrator.de/contentid/378427
Ausgedruckt am: 19.11.2024 um 17:11 Uhr
2 Kommentare
Neuester Kommentar
aus dem VBOX netz traffic generiert - muss der zwangsweise über die vboxnet0 schnittstelle.
Das ist richtig !vboxnet0 ist eine Schnittestelle auf dem Hypervisor. Bedenke dazu das der Hypervisor selber IPv4 Forwarding (Routing) aktiviert haben muss sonst wird diese Traffic vom Hypervisor verworfen und nicht geforwardet und aller Traffic aus dem VBOX Segment damit vollkommen isoliert !
nun soll jeder traffic des 'vboxnet0' interfaces über die eth1 schnittstelle zum gateway des 192.168.10.0 netzes (192.168.10.1) und von dort aus dann sonst wo hin.
Das ist relativ einfach.Dazu muss der Hypervisor, wie oben schon gesagt, selber IPv4 Forwarding aktiviert haben und...
Er muß ein Default Gateway bzw. eine Default Route und zwar nur ein eine einzige und keine mehrfachen Default Routen am Interface eth1 also dem .10.0er Netz definiert haben.
Logischerweise sollte das Default Gateway was der Hypervisor definiert hat dann auch die Rückroute kennen mit einer statischen Route auf das VBOX Netzwerk.
Fertsch bis dahin.
aber traffic der von dem linux host kommt soll über eth0 zum gateway des 102.168.0.0 netzes (192.168.0.1).
Du meinst aus dem 192.168.0.0er Netz, oder ?Das bekommst du dann nur über eine Policy Route hin.
Ist ja klar, denn dein Host hat ja eine Default Route auf ein gateway im 192.168.10.0er Netz, routet also logischerweise alles was er selber nicht kennt, sprich also alles was NICHT direkt an ihm selber angeschlossen ist über dieses Interface (.10.0er Netz) an das dortige Default Gateway.
Du musst nun über eine Policy Route dem Rechner sagen das alles was als Source IP die 192.168.0.1 hat aber bitte NICHT an das Default Gateway im .10.0er Netz gehen soll sondern bitte an ein Gateway X im 192.168.0.0er Netz.
Das ist unter Linux ganz einfach.
hatte ich überhaupt den richtigen ansatz ?
Diese Frage können wir dir ja schwerlich zeilführend beantworten weil wir hier ja gar nicht wissen was du final erreichen willst ?!ich bin hier seit einiger zeit am versagen - echt kompliziert das ganze
Unverständlich, denn das ist simplestes IP Routing aus der Grundschule und bei deinen popeligen sage und schreibe 3 IP Netzen ja nun wahrlich keine wirkliche Herausforderung !P.S.: Deine Shift Taste am Keyboard ist irgendwie defekt. Solltest du mal reparieren, denn es ist nicht gerade angenehm solche Texte in Bezug auf orthografische Übersicht lesen zu müssen