免费注册 查看新帖 |

Chinaunix

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

【请教】iptables的SNAT问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-07-24 16:36 |只看该作者 |倒序浏览
有三台机器\r\n\r\nA:外网机器(10.167.4.4/24)\r\n\r\nB:可同时连外网和内网(eth0:10.167.4.5/24, eth1:192.168.0.10/24)\r\n\r\nC:内网机器(192.168.0.20/24)\r\n\r\n\r\n\r\n刚才是C ping不通A。\r\n\r\n在B上新增一条iptables规则:iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 192.168.0.10 \r\n\r\n这个时候C可以ping通A了。\r\n\r\n\r\n\r\nsource IP在postruting的时候不是已经被改为192.168.0.10 了吗?为什么这个时候A可以把ping包返回给C?

论坛徽章:
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
2 [报告]
发表于 2008-07-24 18:43 |只看该作者
1、没有配SNAT前不通的原因是因为A没有到C网段的回指路由。\r\n2、配过SNAT能够通,是因为源地址已经改变,无需回指路由了。

论坛徽章:
0
3 [报告]
发表于 2008-07-24 18:56 |只看该作者

论坛徽章:
0
4 [报告]
发表于 2008-07-24 19:03 |只看该作者
谢谢ssffzz1。\r\n还有点疑问。A收到ping包后,把响应包返回给源地址,但这个时候源地址已经变成B了,为什么C还可以收到?

论坛徽章:
0
5 [报告]
发表于 2008-07-24 19:31 |只看该作者
我怎么觉得好像不需要NAT啊,只要B支持转发好像就可以了,在A那里加个路由

论坛徽章:
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
6 [报告]
发表于 2008-07-24 20:15 |只看该作者
一台机器决定是否对一个数据包进行接受看的是目的IP,而不管源IP的。只有发送回包的时候才关心源IP。因此可以正常接受。

论坛徽章:
0
7 [报告]
发表于 2008-07-26 21:03 |只看该作者

回复 #6 ssffzz1 的帖子

楼上的回答好像和楼主的问题不相关吧\r\n\"A收到ping包后,把响应包返回给源地址,但这个时候源地址已经变成B了,为什么C还可以收到?\"\r\n\r\n关于这个问题,其实A的确把icmp response发给了B,B中有记录发现真正的originator是A,就把它转发给了C

论坛徽章:
0
8 [报告]
发表于 2008-08-28 16:24 |只看该作者
这个问题好像有点无厘头,10和192都是内网地址,并不是需要进行nat上外网,打开linux的路由功能就可以了,和iptables完全没关系。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP