免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5632 | 回复: 5
打印 上一主题 下一主题

[NAT]一个内网IP上的多个连接,如何使用NAT地址池里的不同外网 ip去上网 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-04-04 11:45 |只看该作者 |倒序浏览
本帖最后由 qintel 于 2010-04-08 15:24 编辑 \n\n我在windows 2003 server(vmware 虚拟机,GUEST)启用了“路由和远程访问服务”的NAT功能,在NAT的地址池里加入了一些地址(192.168.20. X/24),----相当于公有IP,\r\n\r\n然后我有一台XP(物理主机,HOST,使用172.16.0.0/16,相当于私有IP),通过这台2003上网,访问出去的连接都是使用的 NAT池里面的第一个地址,如何能让这个IP上的每个连接能动态的使用地址池的地址?\r\n\r\n\r\n有两点需要大家帮助:\r\n\r\n1、有没有类似RFC的文档定义 NAT 如何使用地址池,是否同一个内网IP只能使用地址池里的一个地址?还是为一个内网IP上的每个连接都可以动态的使用地址池里的地址?\r\n2、如果有,使用windows 2003 或 linux 可否实现

论坛徽章:
0
2 [报告]
发表于 2010-04-04 17:55 |只看该作者
本帖最后由 qintel 于 2010-04-08 15:24 编辑 \n\n对于问题1:\r\n\r\n采用linux + iptables 的NAT地址池功能后,发现内网的XP经NAT后的会动态使用pool里的地址。也就是说每个连接的经NAT转换后的IP是不同的。\r\n\r\n\r\n对于linux+iptables的NAT地址池的每个IP地址都需要在某个设备上配置。开始采用网卡eth0,使用IP alias, eth0:1,eth0:2,的方法,NAT没有成功。\r\n后来干脆加了N块网卡,每个网卡单独配一个IP地址,然后将所有外网网卡的IP都加到NAT池里。这样可以用。但有个遗留问题,就是网速不稳定。有时很快,有时很慢,甚至有时会断网片刻。\r\n\r\nLinux+iptables的NAT address pool setp :\r\n在CentOS 5 Linux上:(vmware 虚拟机,Guest )\r\n步骤#1. 配置eth0, 与内网连接,使用ip地址172.16.0.2/16\r\n步骤#2. 配置eth1到eth9, 使用外网IP(非公网IP,仅相对于内网而言)。(192.168.20.11-192.168.20.19)。其中eth1配置网关192.168.20.1。其它不配置网关。\r\n步骤#3. 配置DNS\r\n步骤#4.打开内核的包转发功能\r\necho 1 > /proc/sys/net/ipv4/ip_forward\r\n步骤#4.配置iptables的NAT和地址池。\r\niptables -t nat -A POSTROUTING -s 172.16.0.0/16 -j SNAT --to 192.168.20.11-192.168.20.19\\\r\n\r\n\r\n参考文档:\r\n一个使用iptables配置NAT的实例,http://zhaoke.com/blog/17.html\r\n【原创】iptables完成NAT池及端口映射,https://bbs.et8.net/bbs/showthread.php?t=992064\r\n\r\n查看NAT映射表:\r\ncat -n /proc/net/ip_conntrack

论坛徽章:
0
3 [报告]
发表于 2010-04-04 23:53 |只看该作者
linux+itables我没测试过,win2003对于NAT的确会使用地址地中未分配的第一个地址\r\n\r\ndhcp服务器分配的时候也是这样,哎,万恶的windows啊

论坛徽章:
0
4 [报告]
发表于 2010-04-08 11:01 |只看该作者
找到了记录NAT的文件proc/net/ip_conntrack

论坛徽章:
0
5 [报告]
发表于 2010-04-08 11:21 |只看该作者
这个映射表里每个entry信息多一些,但是看起来吃力,不及pix上的好看啊。\r\n\r\n还有个遗留问题就是,上网的时候不稳定,有时会断线。

论坛徽章:
0
6 [报告]
发表于 2010-04-10 04:39 |只看该作者
“不稳定”和“慢”的问题还真比较复杂。有一次我发现是MTU配置不正确,如果客户网络接口的MTU比较大而且不知道最大能发送多少字节不被分片的话,一般会发起一个PMTUD的过程,这个过程需要ICMP参与,来回几次确定下MTU之后才真正开始传输。如果ICMP通讯不正常,比如被防火墙挡住了,那么TCP连接就可能一直卡在那里。\r\n\r\n具体问题具体分析吧。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP