我.有一台不算很老的 PC,现在打算用它来做 NAT 网关。这个.机器上装了两块网卡,分别连接至内网和外网,配置如下: 建材
内网网卡 eth0:192.168..0.1,对应内网地址段 192.168.0.0/24,内网其他机器以这台 PC 的内.网网卡 IP 地址(192.168.0..1)做网关;外贸
外网网卡 eth1:10.13.9.252,对应外网地址段. 10.13.9.0/24,外网网关 10.1.3.9.254。 电子
我装的是 FC4,默认的内核版本是 2.6.11-1.1369_FC4,iptables 自带的版本是 1.3.0。路由规.则如下.:.
Desti.nation Gateway Genmas.k . Flags Metric Ref Use Iface.
10.13.9.0 * 255.25.5.255..0 U 0 0 0 .eth1.
192.168.0..0 * 255.255.255.0 . U 0 . 0 0 eth0 杀毒
1..69.254.0.0 * 255.255.0.0 U 0 0 . 0 eth1 女人
default . 10.13.9.254 0.0.0.0 UG 0 0 . . 0 eth1教育
我用 iptables -t nat -A POSTROUTI.NG -s 192..168.0.0/24 -o eth1 -j MASQUERADE 后,内网的机器无法访问到外网,ping 10.13.9.254 不通。用 iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o et.h1 -j SNAT --to 10.13.9.2.50 后,.想把内网的机器用 10.13.9.250 这个地址转换进入外网,内网机器还是无法访问外网,ping 10.1.3.9.254 不通。电影
后来我用 yum 升级内核至 2.6.15-1.1833_FC4,用 MA.SQUE.RADE 就可以,但是用 S.NAT 则还是不行,因为内网要针对不同地址范围做更细的划分,使用多个不同的外网地址做地址转换,比如. 192.168.0.1-192.168.0.10 的转换为 10.13.9.250,192.168.0.11-192.168.0.20 转换为 10.13.9.251 等,我想还是要靠 SNAT.才行,但是现在只有 MASQUERADE 能起作用,但是 SNAT 始终无法起作用,不知道是不是内核不支持?还是要靠自己编译内核才行吗?我试过自己编译 iptables 1.3.5 也是这个.样子,只有 MASQUER.ADE 起作用,SNAT 没有作用。我不需要内网机器做端口映射,只.需要能作到类似 MASQUERADE 那样的效果,但要求能对不同范围的内网地址指定转换为不同的外网地址,恳请哪位高手大人指.点迷津,非常感谢!!!健康