Diese Frage bezieht sich auf die Antwort und den Kommentar inWas ist Kernel-IP-Weiterleitung?
von @LawrenceC
Beitrag1:
Wenn Sie im obigen Beispiel also eine Internetverbindung über NIC 2 haben, würden Sie NIC 2 als Ihre Standardroute festlegen und sämtlicher von NIC 1 eingehender Datenverkehr, der nicht für etwas auf 192.168.2.0/24 bestimmt ist, würde über NIC 2 laufen.
und auch Post2:
die internetseitige Schnittstelle (NIC 1 wie oben) benötigt dazu eine MASQUERADE-Regel in iptables's POSTROUTING in einer Kette. Siehe revsys.com/writings/quicktips/nat.html
Beihttp://www.revsys.com/writings/quicktips/nat.htmles sagt:
Dann müssen Sie iptables so konfigurieren, dass die Pakete von Ihrem internen Netzwerk auf /dev/eth1 an Ihr externes Netzwerk auf /dev/eth0 weitergeleitet werden.
/sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE /sbin/iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT /sbin/iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
Warum ich FORWARD
(lautBeitrag2), wenn die Weiterleitung bereits durch bloßes Setzen erfolgt ist ip_forward
(gemäßBeitrag1):
echo 1 > /proc/sys/net/ipv4/ip_forward
Antwort1
Einstellung ip_forward
erlaubt PaketweiterleitungIm Algemeinen. Einige Linux-Distributionen lassen weitergeleitete Pakete aus iptables
Sicherheitsgründen möglicherweise nicht zu, z. B. wenn ip_forward
dies irrtümlicherweise festgelegt wurde.
/sbin/iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
Legt eine Regel fest, um Pakete von eth0
bis zuzulassen eth1
, die Antworten oder ähnlich verwandte Pakete auf eine bereits hergestellte Verbindung sind.
/sbin/iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
legt eine explizite Regel fest, um Pakete von eth1
nach zuzulassen eth0
.
Dadurch können Clients unabhängig von der Standardkonfiguration eth1
auf dahinter liegende Server zugreifen .eth0
iptables