论坛风格切换切换到宽版
  • 642阅读
  • 1回复

[问题求助]急:SNAT 无效但是 MASQUERADE 有效? [复制链接]

上一主题 下一主题
离线灯笼芯.
 
发帖
2157
C币
-593606
威望
401
贡献值
2
银元
-4
铜钱
4843
人人网人气币
0
只看楼主 倒序阅读 使用道具 楼主  发表于: 2009-05-01
我.有一台不算很老的 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 那样的效果,但要求能对不同范围的内网地址指定转换为不同的外网地址,恳请哪位高手大人指.点迷津,非常感谢!!!健康

评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

灌水
离线日光兰.
发帖
1968
C币
-235780
威望
320
贡献值
1
银元
-2
铜钱
4252
人人网人气币
0
只看该作者 沙发  发表于: 2010-04-13
Re:急:SNAT
/sbin/modprobe ip_tables
/sbin/modprobe ip_nat_ftp
/sbin/modprobe ip_conntrack_ftp
/sbin/iptables -F
/sbin/iptables -F -t nat
/sbin/iptables -X
/sbin/iptables -Z
/sbin/iptables -P INPUT ACCEPT
/sbin/iptables -P FORWARD ACCEPT
/sbin/iptables -P OUTPUT ACCEPT
echo "1" > /proc/sys/net/ipv4/ip_forward
/sbin/iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
/sbin/iptables -A FORWARD -s 0/0 -d 0/0 -j ACCEPT



这里eth1是外网
就可以让你的内网访问外网了

如果要分开上。计算掩码吧
快速回复
限100 字节
批量上传需要先选择文件,再选择上传
 
上一个 下一个