只是一個簡單的問題(我希望)來看看我正在嘗試的事情是否可能。我正在嘗試使用 iptables 命令與 Fedora12 作為預設網關和透過 NIC 連接的 XP 機器共享互聯網連接,如 Mark Sobell 的書《Fedora 和 Red Hat Enterprise Linux 實用指南》中所示,這些命令位於 /etc/ 中本地文件
iptables -A FORWARD -i eth1 -o eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT
iptables -A FORWARD -j LOG
iptables -t NAT -A POSTROUTING -o eth1 -j MASQUERADE
我確實翻轉了輸入和輸出參數以匹配我的網卡配置(而不是書中的範例),但除此之外,還遵循範例。需要注意的一件事是,Sobell 沒有提到這是否應該適用於 Linux 和 XP 的混合。另一項說明(可能毫無意義)是我確實有 samba 在兩台機器之間工作。感謝任何人可能有的見解。 PL
答案1
它會起作用的。
第一的。確保您的 ip_forwarding 已啟用。預設情況下,它在大多數 Linux 系統上被停用。運行這個: 使用系統指令
sysctl net.ipv4.ip_forward net.ipv4.ip_forward = 0
或使用價值/行程
cat /proc/sys/net/ipv4/ip_forward
0
永久啟用 ip_forward
添加net.ipv4.ip_forward = 1線路輸入/etc/sysctl.conf
cat "net.ipv4.ip_forward > /etc/sysctl.conf
sysctl -p /etc/sysctl.conf
service network restart
您必須確保識別出傳出和傳入網路介面。
這可能會有所幫助: http://www.howtoforge.com/nat_iptables
答案2
除了 @PSS 的答案之外,您還需要執行以下操作,因為您使用的是基於 Fedora 的系統
- 一切正常後,您想使用該命令
service iptables save
使您的 iptables 設定持久化 - 出於同樣的原因,修改文件
/etc/sysctl.conf
並在那裡設定。net.ipv4.ip_forward = 1
如果您使用的是預設核心(或更新提供的核心),請確保相關核心模組已載入modprobe iptable_nat
-啟動 iptables「服務」的腳本也應該載入這些模組,因此您也可以嘗試ipt_MASQUERADE
一下。/etc/init.d/iptables
service iptables start