Iptables
什麼是核心 IP 轉發?相關問題
這個問題與什麼是核心 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