免费注册 查看新帖 |

Chinaunix

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

[网络管理] 真是见鬼了,DNAT后外网无法访问内网WEB,必须做SNAT外网才能访问内网WEB,求大侠指教 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-03-08 19:40 |只看该作者 |倒序浏览
一台NAT主机,两张网卡,一个内网地址INIP,一个外网地址WANIP。
一台WEB服务器,内网地址WEBIP,网关为INIP
内网:192.168.0.0/24

iptable规则:
1、filter表
Chain INPUT (policy DROP)
target     prot opt source               destination         
ACCEPT     tcp  --  0.0.0.0/0           WANIP              tcp multiport dports 10000,22
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED

Chain FORWARD (policy DROP)
target     prot opt source               destination         
ACCEPT     tcp  --  0.0.0.0/0          WEBIP               tcp dpt:80
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
ACCEPT     all  --  192.168.0.0/24       0.0.0.0/0           

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination   

2、nat表
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination         
DNAT       tcp  --  0.0.0.0/0            WANIP              tcp dpt:80 to:WEBIP:80

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination         
SNAT       tcp  --  0.0.0.0/0            WEBIP                 tcp dpt:80 to:INIP        #问题就出在这条规则,如果这条规则删除,外网就访问不了WEB,但加上这条规则,外网就可以访问WEB,但我觉得DNAT就可以让外网访问内网服务器了,为什么要加SNAT呢?
SNAT       all  --  192.168.0.0/24       0.0.0.0/0           to:WANIP

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination  

论坛徽章:
0
2 [报告]
发表于 2012-03-08 21:13 |只看该作者
iptables -P FORWARD ACCEPT
试试。

论坛徽章:
0
3 [报告]
发表于 2012-03-08 22:15 |只看该作者
回复 2# marsaber


    也就是FORWARD链为ACCEPT?

论坛徽章:
381
CU十二周年纪念徽章
日期:2014-01-04 22:46:58CU大牛徽章
日期:2013-03-13 15:32:35CU大牛徽章
日期:2013-03-13 15:38:15CU大牛徽章
日期:2013-03-13 15:38:52CU大牛徽章
日期:2013-03-14 14:08:55CU大牛徽章
日期:2013-04-17 11:17:19CU大牛徽章
日期:2013-04-17 11:17:32CU大牛徽章
日期:2013-04-17 11:17:37CU大牛徽章
日期:2013-04-17 11:17:42CU大牛徽章
日期:2013-04-17 11:17:47CU大牛徽章
日期:2013-04-17 11:17:52CU大牛徽章
日期:2013-04-17 11:17:56
4 [报告]
发表于 2012-03-08 22:22 |只看该作者
你的Linux机器不是内网的网关吧,以前有个帖子讨论过类似的问题,如果linux是网关,就不用添加那条snat规则了

论坛徽章:
0
5 [报告]
发表于 2012-03-08 22:22 |只看该作者
是的,只是排查一下。

论坛徽章:
0
6 [报告]
发表于 2012-03-08 22:25 |只看该作者
回复 5# marsaber


    策略为ACCEPT,还是不行。

论坛徽章:
0
7 [报告]
发表于 2012-03-08 22:26 |只看该作者
回复 4# chenyx


    是网关。

论坛徽章:
381
CU十二周年纪念徽章
日期:2014-01-04 22:46:58CU大牛徽章
日期:2013-03-13 15:32:35CU大牛徽章
日期:2013-03-13 15:38:15CU大牛徽章
日期:2013-03-13 15:38:52CU大牛徽章
日期:2013-03-14 14:08:55CU大牛徽章
日期:2013-04-17 11:17:19CU大牛徽章
日期:2013-04-17 11:17:32CU大牛徽章
日期:2013-04-17 11:17:37CU大牛徽章
日期:2013-04-17 11:17:42CU大牛徽章
日期:2013-04-17 11:17:47CU大牛徽章
日期:2013-04-17 11:17:52CU大牛徽章
日期:2013-04-17 11:17:56
8 [报告]
发表于 2012-03-08 22:29 |只看该作者
本帖最后由 chenyx 于 2012-03-08 22:29 编辑

是网关,那个Snat的规则没有必要啊.
你先把iptables所有规则清空,filter链默认规则全部置成ACCEPT,然后只写一个dnat规则测试下

论坛徽章:
0
9 [报告]
发表于 2012-03-08 22:34 |只看该作者
http://bbs.chinaunix.net/thread-3680638-1-1.html

看看这个帖子有没有什么参考价值,

论坛徽章:
0
10 [报告]
发表于 2012-03-08 22:40 |只看该作者
回复 8# chenyx


    只写一个DNAT,居然不行。
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination         
DNAT       tcp  --  0.0.0.0/0            外网卡            tcp dpt:80 to:WEBIP:80

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP