Auf meinem AWS AMI Centos-Server habe ich VPC mit 2 Subnetzen eth0 10.0.0.1 mit Internet-Gateway und eth1 10.10.0.1 mit NAT-Gateway über öffentliche IP bereitgestellt. Mein Problem besteht darin, dass ich dem Client die öffentliche IP meines NAT-Gateways zur Interaktion gegeben habe, oder wir können Daten mit diesem Subnetz pushen. Es gibt mehrere Clients, die sich mit demselben Server verbinden, und ich möchte keine Route hinzufügen, um festzulegen, aus welchem Subnetz diese IP die Daten pushen soll. Ich möchte meine Standardeinstellung ändern oder sagen, dass mein gesamter ausgehender Datenverkehr vom Subnetz eth1 kommt. … Bisher habe ich iptables ausprobiert und das Gateway im Netzwerkskript geändert. Alle Einzelheiten finden Sie unten.
/etc/sysctl.conf
net.ipv4.ip_forward =1
sysctl net.ipv4.ip_forward = 1
sudo iptables -t nat -A POSTROUTING --out-interface eth1 -j MASQUERADE
sudo iptables -A FORWARD --in-interface eth0 -j ACCEPT
damit kann ich keinen Ping oder Telnet zur Client-IP durchführen, weil der Client seine Verbindung für das Subnetz eth1 geöffnet hat, aber wenn ich Verkehr von eth0 zu eth1 weiterleite, ändert sich die Quelladresse nicht, sondern es wird die IP des Subnetzes eth0 verwendet, die dem Client-Netzwerk unbekannt ist.
Habe sogar versucht, den Standard eth1 zu ändern
**/etc/sysconfig/network
GATEWAY=x.x.x.x
GATEWAYDEV=eth1**
hier wird der gesamte Datenverkehr blockiert, auch der eingehende Datenverkehr wechselt zu eth1.
Meine Anforderung ist, dass mein eingehender Datenverkehr aus dem eth0-Subnetz 10.0.0.1 und mein ausgehender Datenverkehr aus dem eth1-Subnetz 10.10.0.1 kommt. Das Hinzufügen einer Route würde meinen Prozess hektischer machen, ich möchte etwas Automatisiertes, indem ich einen Befehl oder ein Skript hinzufüge, das alles erledigt.
Antwort1
Das ergibt für mich keinen Sinn... aber...
Meine Anforderung ist, dass mein eingehender Datenverkehr aus dem eth0-Subnetz 10.0.0.1 und mein ausgehender Datenverkehr aus dem eth1-Subnetz 10.10.0.1 kommt. Das Hinzufügen einer Route würde meinen Prozess hektischer machen, ich möchte etwas Automatisiertes, indem ich einen Befehl oder ein Skript hinzufüge, das alles erledigt.
die Box kontrolliert nicht, von welcher Netzwerkkarte der Datenverkehr kommt. Er kommt bei der Netzwerkkarte an und wird dann von der Box verarbeitet. Jeder Versuch, zu verschleiern, von welcher Netzwerkkarte der Datenverkehr kam, ist also vergebliche Mühe.
Sie können der Box jedoch mitteilen, über welche Netzwerkkarte der Datenverkehr gesendet werden soll (vorausgesetzt, Sie senden Ihren Datenverkehr nicht an eine über eine andere Netzwerkkarte hergestellte TCP-Verbindung), d. h. wenn der Datenverkehr von der betreffenden Box stammt...
um dies zu tun;
/etc/sysconfig/network-scripts/route-eth0
default via 10.10.0.1 dev eth1
iptables ist nicht für die Datenverkehrsverschiebung zwischen Netzwerkkarten geeignet. Verwenden Sie für statische IPs DNAT/SNAT und nicht MASQUERADE.
Bitte strukturieren Sie Ihre Frage neu oder präzisieren Sie sie, da sie unklar erscheint …