Fedora12、XP 和透過 iptables 的連接共享

Fedora12、XP 和透過 iptables 的連接共享

只是一個簡單的問題(我希望)來看看我正在嘗試的事情是否可能。我正在嘗試使用 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 的系統

  1. 一切正常後,您想使用該命令service iptables save使您的 iptables 設定持久化
  2. 出於同樣的原因,修改文件/etc/sysctl.conf並在那裡設定。net.ipv4.ip_forward = 1

如果您使用的是預設核心(或更新提供的核心),請確保相關核心模組已載入modprobe iptable_nat-啟動 iptables「服務」的腳本也應該載入這些模組,因此您也可以嘗試ipt_MASQUERADE一下。/etc/init.d/iptablesservice iptables start

相關內容