免费注册 查看新帖 |

Chinaunix

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

[proxy] iptables公网地址 内网nat所出现的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-12-24 18:26 |只看该作者 |倒序浏览
5可用积分
现在内网(A网关)用公网ip访问内网的另一台机器(A网关)  现在情况是能ping到    但是 telnet特定端口不行


而同样的机器  使用B网关就可以正常访问目标机 (目标机网关不变)




已有iptables 规则
iptables -A FORWARD -j ACCEPT
iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to-source 58.248.x.x
iptables -t nat -A PREROUTING -d 58.248.x.x -j DNAT --to 192.168.x.x

现在的规则可以满足 外网访问内网

可是内网机通过外网地址来访问同是内网的机器 就会有问题

论坛徽章:
0
2 [报告]
发表于 2009-12-26 14:18 |只看该作者
错误信息是?

论坛徽章:
0
3 [报告]
发表于 2009-12-28 19:38 |只看该作者
原帖由 ziggler 于 2009-12-26 14:18 发表
错误信息是?

iptables 本身没有错误信息

telnet就说是连接失败  

我突然感觉是 网卡。。。。。


需要添个  POSTROUTING -o eth0(内网网卡) -j SNAT --to-source 58.248.x.x   (映射后的地址?)

这样直接内网访问  在跳转   似乎就可以被解析到外网地址 而不是直接转换?!

论坛徽章:
0
4 [报告]
发表于 2009-12-28 20:21 |只看该作者

回复 #1 startX 的帖子

你这个问题要说清楚,要涉及到IP包的原理

我们都知道一个IP包,包括了源地址与目标地址。

一台A机,一台B机,一个网关,A机通过网关的外网地址(设为C)访问B机,
A机发出一个源地址是A,目标地址是C,经过网关NAT,目标地址改为了B,
网关把这个源地址为A,目标地址为B的包转发到了B,
B收到后返回数据包,发送给了A。
但是A不认为这个包是他要的,因为他发送的是A+C的数据包,数据包没有从原路返回。
所以不通。
简单描述如下:
A发送包为
A->C->B
B返回包为
B->A
没有从原路返回包。

要解决这个问题,得把网关发送到B的包再NAT是可以的,即包
a->c  这个包的源地址与目标地址都修改,即可

假设 A机 192.168.3.1 B机192.168.3.2 网关外网为58.222.111.2

nat伪装一条telnet, 命令如下

iptables -t nat -A PREROUTING -d 58.222.111.2 --dport 23 -j DNAT --to 192.168.3.2
iptalbes -t nat -A POSTROUTING -d 192.168.3.2 --dport 23 -j MASQUERADE
iptables -A FORWARD -d 192.168.3.2 --dport 23 -j ACCEPT

这样IP包就走通了,
发出去是
a->c->b
返回是
b->c->a

这样的方法有个缺点,即在B机的日志上只有网关C机的登陆地址,没有每个客户端的登陆地址。

[ 本帖最后由 wxxszzz 于 2009-12-28 20:24 编辑 ]

论坛徽章:
0
5 [报告]
发表于 2009-12-29 12:27 |只看该作者
原帖由 wxxszzz 于 2009-12-28 20:21 发表
你这个问题要说清楚,要涉及到IP包的原理

我们都知道一个IP包,包括了源地址与目标地址。

一台A机,一台B机,一个网关,A机通过网关的外网地址(设为C)访问B机,
A机发出一个源地址是A,目标地址是C,经 ...




太谢谢了     看懂~~

忘了用  > 来描述前后关系
嘿嘿

等我试下再上来   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP