Dies ist meine Netzwerktopologie:
Ich möchte, dass auf jede eingehende Datenproxy-Anforderung eth0
per geantwortet wird eth0
und auch eth1
auf die eingehenden Daten geantwortet wird eth1
...
Aktive Route:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 192.168.110.1 0.0.0.0 UG 15 0 0 eth2
192.168.110.96 * 255.255.255.248 U 0 0 0 eth2
192.168.200.0 * 255.255.255.248 U 0 0 0 eth0
192.168.200.96 * 255.255.255.248 U 0 0 0 eth1
Ich habe es mit diesen Befehlen versucht, aber es funktioniert nicht ... :(
ip route flush table 2002
ip route flush table 2001
ip route add 10.10.8.0/22 dev eth0 src 192.168.200.2 table 2002
ip route add 192.168.100.0/24 dev eth0 src 192.168.200.2 table 2002
ip route add default via 192.168.200.1 table 2002
ip route add 10.10.8.0/22 dev eth1 src 192.168.200.101 table 2001
ip route add 192.168.100.0/24 dev eth1 src 192.168.200.101 table 2001
ip route add default via 192.168.200.100 table 2001
ip rule add from 192.168.200.2 table 2002
ip rule add from 192.168.200.101 table 2001
Wie soll ich vorgehen?
Antwort1
Jetzt weiß ich, warum ich das nicht verstanden habe ... Das Routing erfolgt auf Netzwerkebene und nicht auf Portebene. Sie müssen Ihr Netzwerk in drei separate Netzwerke unterteilen und jedes Netzwerk an jede Netzwerkkarte binden. Anschließend muss Ihr Router die Pakete an den richtigen Ethernet-Port weiterleiten.
Da jede Netzwerkkarte über eine eigene Netzwerkadresse verfügt, werden alle Pakete, die mit einer bestimmten Adresse eingehen, auch über dieses Netzwerk wieder hinausgeschickt.
Z.B:
- eth0: 192.168.100.0/24 LAN
- eth1: 192.168.101.0/24 Zugriffspunkt
- Eth3: Standard-Gateway/24: ADSL-Modem
Dann wird der gesamte Datenverkehr, der nicht für 192.168.0.0/16 bestimmt ist, ins Internet geleitet und der gesamte lokale Datenverkehr bleibt lokal.
Für die Portweiterleitung haben Sie zwei Möglichkeiten:
Wenn Sie ein zusätzliches Hardwareteil hinzufügenwie eine Big-IPzwischen dem Router und dem Server, der die Pakete prüfen und je nach Port Inhalte an Eth0 und Eth1 senden kann, indem er die IP-Adresse im laufenden Betrieb ändert. Anschließend sendet der Server sie erneut über die richtige Schnittstelle und BigIP konvertiert sie wieder in das, was sie waren ...
Sie können den Router auch ganz ausschalten undden Server als Router verwendenum dasselbe zu erreichen, und dann verwenden Sie einfach,
iptables
um die Pakete zu prüfen und sie weiterzuleiten.
Aber was Sie versuchen, ist unmöglich (nur die Verwendung eines Hardware-Routers und Software-Routing im Server), da es kein Konzept von „HTTP/FTP“ gibt, da dies auf Portebene geschieht … :-(