免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: xeonpc
打印 上一主题 下一主题

[网络管理] 多个外网IP的NAT问题 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2007-10-19 13:02 |只看该作者

回复 #11 xeonpc 的帖子

下面的方法是限制内网的IP通过某个公网IP出去.


iptables -t nat -A POSTROUTING -s 10.0.0.1/32 -o eth0 -j SNAT --to 210.*.77.31
iptables -t nat -A POSTROUTING -s 10.0.0.2/32 -o eth0 -j SNAT --to 210.*.77.31
iptables -t nat -A POSTROUTING -s 10.0.0.3/32 -o eth0 -j SNAT --to 210.*.77.31
iptables -t nat -A POSTROUTING -s 10.0.0.4/32 -o eth0 -j SNAT --to 210.*.77.31
iptables -t nat -A POSTROUTING -s 10.0.0.5/32 -o eth0 -j SNAT --to 210.*.77.31

iptables -t nat -A POSTROUTING -s 10.0.0.6/32 -o eth0 -j SNAT --to 210.*.77.30
iptables -t nat -A POSTROUTING -s 10.0.0.7/32 -o eth0 -j SNAT --to 210.*.77.30
iptables -t nat -A POSTROUTING -s 10.0.0.8/32 -o eth0 -j SNAT --to 210.*.77.30
iptables -t nat -A POSTROUTING -s 10.0.0.9/32 -o eth0 -j SNAT --to 210.*.77.30
iptables -t nat -A POSTROUTING -s 10.0.0.10/32 -o eth0 -j SNAT --to 210.*.77.30

前提条件是210.*.77.2至210.*.77.30的公网IP邦定在这台机的eth0

为了每次启动都会自动运行:
cd /etc/sysconfig
vi iptables
####把这些规则(-A POSTROUTING -s 10.0.0.10/32 -o eth0 -j SNAT --to 210.*.77.30)写在iptables文件里.
####用":wq"保存并退出.还可以用iptables-restore<iptables命令立刻生效.


以上在RH EL 3.0/4.0都试过.

[ 本帖最后由 mzwindy 于 2007-10-19 13:13 编辑 ]

论坛徽章:
0
12 [报告]
发表于 2007-10-19 13:25 |只看该作者
这样做倒是可以,
但是..   我现在是 150个内网IP对应30个外网IP呀

这样做只能是 30个内网IP对应30个外网IP吧

论坛徽章:
0
13 [报告]
发表于 2007-10-19 13:30 |只看该作者
原帖由 xeonpc 于 2007-10-19 13:25 发表
这样做倒是可以,
但是..   我现在是 150个内网IP对应30个外网IP呀

这样做只能是 30个内网IP对应30个外网IP吧


下面不是每五个IP就用一个公网IP出去,如下所示,10.0.0.8/32 只会以210.*.77.30出去.

iptables -t nat -A POSTROUTING -s 10.0.0.1/32 -o eth0 -j SNAT --to 210.*.77.31
iptables -t nat -A POSTROUTING -s 10.0.0.2/32 -o eth0 -j SNAT --to 210.*.77.31
iptables -t nat -A POSTROUTING -s 10.0.0.3/32 -o eth0 -j SNAT --to 210.*.77.31
iptables -t nat -A POSTROUTING -s 10.0.0.4/32 -o eth0 -j SNAT --to 210.*.77.31
iptables -t nat -A POSTROUTING -s 10.0.0.5/32 -o eth0 -j SNAT --to 210.*.77.31

iptables -t nat -A POSTROUTING -s 10.0.0.6/32 -o eth0 -j SNAT --to 210.*.77.30
iptables -t nat -A POSTROUTING -s 10.0.0.7/32 -o eth0 -j SNAT --to 210.*.77.30
iptables -t nat -A POSTROUTING -s 10.0.0.8/32 -o eth0 -j SNAT --to 210.*.77.30
iptables -t nat -A POSTROUTING -s 10.0.0.9/32 -o eth0 -j SNAT --to 210.*.77.30
iptables -t nat -A POSTROUTING -s 10.0.0.10/32 -o eth0 -j SNAT --to 210.*.77.30

论坛徽章:
0
14 [报告]
发表于 2007-10-19 13:43 |只看该作者
我按照您说的做了

客户机 可以拨通,
但是上不了外网
可以ping通内网机器
ping 不同外网

请老大指点

论坛徽章:
0
15 [报告]
发表于 2007-10-19 13:44 |只看该作者
刚试验了,客户机有的机器拨上以后能正常上网,
有的机器则不能上外网,
大哥,这会是什么原因呢?

论坛徽章:
5
IT运维版块每日发帖之星
日期:2015-08-06 06:20:00IT运维版块每日发帖之星
日期:2015-08-10 06:20:00IT运维版块每日发帖之星
日期:2015-08-23 06:20:00IT运维版块每日发帖之星
日期:2015-08-24 06:20:00IT运维版块每日发帖之星
日期:2015-11-12 06:20:00
16 [报告]
发表于 2007-10-19 13:55 |只看该作者
原帖由 xeonpc 于 2007-10-19 12:08 发表
30个外网IP。
让内网的 150个用户每5个内网用户NAT到一个外网IP上
比如
10.0.0.2 ->210.*.77.2
10.0.0.3 ->210.*.77.2
10.0.0.4 ->210.*.77.2
10.0.0.5 ->210.*.77.2
10.0.0.6 ->210.*.77.2

10.0.0.7 ...



首先这样做是无实际意义的。一个IP理论上最高可支持的NAT连接数大约是65000个左右,这个数字已经超过了一般I386体系所能够允许的最大数,这并不能带来速度上的提高。你的这个要求能够通过IPTABLES实现,但是需要复杂且较多的条目,这对IPTABLES来说并不是好事情,这要能够完成功能,简约才是之上的。越复杂的规则,就会带来更多的内存CPU消耗,带来更大的时延。

方法:
iptables -t nat -A POSTROUTING -s 10.0.0.2  -o ethX -j SNAT --to-source 210.*.77.2
iptables -t nat -A POSTROUTING -s 10.0.0.3  -o ethX -j SNAT --to-source 210.*.77.2
......
.......
iptables -t nat -A POSTROUTING -s 10.0.0.x  -o ethX -j SNAT --to-source 210.*.77.x

当然你可以通过一个脚本来实现,如果不会的话,可以粘贴复制到VIM(LINUX)中或者记事本(WIN)中去再编辑

论坛徽章:
5
IT运维版块每日发帖之星
日期:2015-08-06 06:20:00IT运维版块每日发帖之星
日期:2015-08-10 06:20:00IT运维版块每日发帖之星
日期:2015-08-23 06:20:00IT运维版块每日发帖之星
日期:2015-08-24 06:20:00IT运维版块每日发帖之星
日期:2015-11-12 06:20:00
17 [报告]
发表于 2007-10-19 14:15 |只看该作者
着重从路由方面查。

还有你的30个外网IP都要配置到你的外网口的,可以采用配置辅助地址或子接口的方法来配置。

论坛徽章:
0
18 [报告]
发表于 2007-10-19 14:31 |只看该作者
我都配到了外网网卡上
而且都激活了。

肯定会是路由方面的问题,但是我不知道怎么查呵呵
斑竹,我需要去察看什么信息呢
不好意思,我比较菜

[root@localhost ~]# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
172.16.0.5      *               255.255.255.255 UH    0      0        0 ppp3
172.16.0.4      *               255.255.255.255 UH    0      0        0 ppp2
172.16.0.3      *               255.255.255.255 UH    0      0        0 ppp1
172.16.0.2      *               255.255.255.255 UH    0      0        0 ppp0
210.*.77.0    *               255.255.255.128 U     0      0        0 eth0
169.254.0.0     *               255.255.0.0     U     0      0        0 eth0
default         210.*.77.1    0.0.0.0         UG    0      0        0 eth0

论坛徽章:
0
19 [报告]
发表于 2007-10-19 14:35 |只看该作者
  1. [root@localhost ~]# netstat
  2. Active Internet connections (w/o servers)
  3. Proto Recv-Q Send-Q Local Address               Foreign Address             State
  4. tcp        0      0 210.*.77.2:1723           221.206.40.132:49861        SYN_RECV
  5. tcp        0      0 210.*.77.36:1723          221.206.40.132:49838        ESTABLISHED
  6. tcp        0      0 210.*.77.2:1723           221.206.40.132:49738        ESTABLISHED
  7. tcp        0      0 210.*.77.2:1723           221.206.40.132:49729        ESTABLISHED
  8. tcp        0      0 210.*.77.3:1723           60.15.244.249:34110         ESTABLISHED
  9. tcp        0      0 210.*.77.2:1723           221.206.40.132:49749        ESTABLISHED
  10. tcp        0      0 210.*.77.3:1723           173.159.185.60.broad.:13112 ESTABLISHED
  11. tcp        0      0 210.*.77.3:1723           221.206.40.132:49837        ESTABLISHED
  12. raw        0      0 210.*.77.2:gre        221.206.40.132:*        1
  13. raw        0      0 210.*.77.36:gre       221.206.40.132:*        1
  14. raw        0      0 210.*.77.3:gre        221.206.40.132:*        1
  15. raw        0      0 210.*.77.3:gre        173.159.185.60.broad.:* 1
  16. raw        0      0 210.*.77.2:gre        221.206.40.132:*        1
  17. raw        0      0 210.*.77.2:gre        221.206.40.132:*        1
  18. raw        0      0 210.*.77.2:gre        221.206.40.132:*        1
  19. raw        0      0 210.*.77.3:gre        60.15.244.249:*         1
  20. [root@localhost ~]#
复制代码

论坛徽章:
0
20 [报告]
发表于 2007-10-19 15:00 |只看该作者
注意到这句了么
  1. tcp        0      0 210.*.77.3:1723           173.159.185.60.broad.:13112 ESTABLISHED
复制代码
客户端的IP其实是 60.185.159.173

就这个客户连接上以后上不了外网

这是什么原因哦。。。当出现这样的客户连接的时候,客户就上不了外网
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP