Iptables

什麼是核心 IP 轉發?相關問題

  • November 21, 2019

這個問題與什麼是核心 ip 轉發?

來自@LawrenceC

文章1:

因此,在上面的範例中,如果您在 NIC 2 上有 Internet 連接,則將 NIC 2 設置為您的預設路由,然後來自 NIC 1 的任何流量都不會發往 192.168.2.0/24 上的某些內容通過 NIC 2。

還有post2:

面向網際網路的介面(上面的 NIC 1)需要在鏈上 iptables 的 POSTROUTING 中使用 MASQUERADE 規則來執行此操作。見 revsys.com/writings/quicktips/nat.html

http://www.revsys.com/writings/quicktips/nat.html它說:

然後,您需要配置 iptables 以將數據包從內部網路(位於 /dev/eth1)轉發到外部網路(位於 /dev/eth0)。

/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

如果僅通過設置(根據post1 )完成轉發,為什麼我會使用FORWARD(根據post2):ip_forward

echo 1 > /proc/sys/net/ipv4/ip_forward

設置一般ip_forward允許數據包轉發。出於安全原因,某些 Linux 發行版可能不允許轉發數據包,例如,如果設置錯誤。iptables``ip_forward

/sbin/iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT

設置規則以允許來自eth0響應eth1或類似相關數據包的數據包到已建立的連接。

/sbin/iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT

設置顯式規則以允許來自eth1的數據包eth0

無論預設配置如何,這都允許客戶端eth1訪問後面的伺服器。eth0``iptables

引用自:https://unix.stackexchange.com/questions/359378