Die Antwort von David Schwartz ist ausgezeichnet, aber Sie können die Routing-Regeln ein wenig vereinfachen, indem Sie nur eine zusätzliche Tabelle haben und Ihre Standardroute für die andere verwenden. Ich habe einen Server, der sich hinter zwei NAT-Gateways befindet, und habe kürzlich das Szenario zwischen mehreren VMs neu erstellt. Mein /etc/network/interfaces
sieht so aus:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.13.13
netmask 255.255.255.0
up ip route add table optus default via 192.168.13.10
up ip rule add from 192.168.13.213 table optus
up ip route add default via 192.168.13.11
auto eth0:0
iface eth0:0 inet static
address 192.168.13.213
netmask 255.255.255.0
(Dies ist für ein Setup, bei dem die beiden ISPs Optus und iiNet sind, daher der Tabellenname 'optus'.)
Dies plus die Zeile in /etc/iproute2/rt_tables
Erstellen der Tabelle sollten alles sein, was Sie brauchen. Sie haben zwei IP-Adressen. Verkehr von 192.168.13.13 wird über 192.168.13.11 ausgehen, und Verkehr von 192.168.13.213 wird über 192.168.13.10 ausgehen. Konfigurieren Sie diese beiden Gateways so, dass die Portweiterleitung ordnungsgemäß erfolgt (192.168.13.11 leitet Daten an 192.168.13.13 weiter und 192.168.13.10 leitet Daten an 192.168.13.213 weiter), und der Rest sollte für sich selbst sorgen.
Möglicherweise müssen Sie die Dinge ein wenig für Ihre Situation optimieren, da Sie öffentliche IPs direkt verwenden, aber so etwas sollte immer noch funktionieren. Außerdem ist es /etc/network/interfaces
zwei Jahre später, wenn das System neu gestartet werden muss, viel einfacher, diese Dinge zu erledigen und diese Datei dann zu verwalten, als sich zu merken, wie Sie sie eingerichtet haben!