Fedora12、XP 和通过 iptables 共享连接

Fedora12、XP 和通过 iptables 共享连接

这只是一个简单的问题(我希望)想知道我所尝试的是否可行。我正尝试与 Fedora12 共享互联网连接作为默认网关,并使用 iptables 命令通过 NIC 连接的 XP 机器,如 Mark Sobell 的书《Fedora 和 Red Hat Enterprise Linux 实用指南》中所示,这些命令位于 /etc/rc.local 中

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

我确实翻转了输入和输出参数以匹配我的 NIC 配置(与书中的示例相反),但除此之外,遵循示例。需要注意的一点是,Sobell 没有提到这是否应该适用于 Linux 和 XP 的混合。另一个注意事项(可能毫无意义)是,我确实在两台机器之间运行 samba。感谢任何人可能有的见解。PL

答案1

它会起作用的。

首先,确保你的 ip_forwarding 已启用。默认情况下,大多数 Linux 系统上它是禁用的。运行以下命令: 使用 sysctl

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/iptables也应该加载模块,因此您也可以尝试service iptables start

相关内容