免费注册 查看新帖 |

Chinaunix

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

【已解决】iptables DNAT规则无效,请大家帮忙。 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-02-24 17:18 |只看该作者 |倒序浏览
本帖最后由 liaohuachao 于 2012-02-27 15:13 编辑

测试环境:RHEL 5.4,双网卡。
内网:eth0  10.6.3.211;  
外网:eth1  192.168.1.100;
内网web server:web.domain.com(10.6.3.208);
外网客户端:192.168.1.3

想实现的功能:使用iptables,能在外网上能访问到内网的web server。

操作:
1.外网客户端hosts文件添加记录,将web.domain.com解析到NAT server的外网地址,即192.168.1.100
2.在NAT server 上添加iptables规则:
   #echo 1 > /proc/sys/net/ipv4/ip_forward
   #iptables -t nat -A PREROUTING -i eth1 -d 192.168.1.100 -p tcp --dport 80 -j DNAT --to 10.6.3.208
   
   
遇到的问题:在外网客户端上不能访问内网服务器。请问我以上的操作是否正确?还需要做些什么?多谢了!

说明一下,iptables只设置了这条规则。加了iptables -A FORWARD -p tcp --dport 80 -j ACCEPT也没用。

论坛徽章:
0
2 [报告]
发表于 2012-02-24 22:06 |只看该作者
内网web server:web.domain.com(10.6.3.208)  指网关了吗  ------内网:eth0  10.6.3.211;

论坛徽章:
0
3 [报告]
发表于 2012-02-25 11:32 |只看该作者
本帖最后由 南极雨 于 2012-02-25 11:33 编辑

回复 1# liaohuachao


   #iptables -t nat -A PREROUTING -i eth1 -d 192.168.1.100 -p tcp --dport 80 -j DNAT --to 10.6.3.211
  iptables -t nat -A PREROUTING -i eth0 -d 10.6.3.211 -p tcp --dport 80 -j DNAT --to  10.6.3.208

     iptables -I  FORWARD --dport 80 -p tcp -j ACCEPT


试试看呗

论坛徽章:
0
4 [报告]
发表于 2012-02-27 09:01 |只看该作者
回复 2# mxiaohua1768

有网关。内网web server和NAT服务器的内网网关都是10.6.3.254.
请问一定要将网关设置为10.6.3.211吗?

   

论坛徽章:
0
5 [报告]
发表于 2012-02-27 09:27 |只看该作者
如果你的默认网关不是10.6.3.211的话 那你得要添加一条到192.168.1.100的路由的,要不然数据都丢给你的默认网关去了.

论坛徽章:
0
6 [报告]
发表于 2012-02-27 10:56 |只看该作者
回复 3# 南极雨
还是不行哦。还有其他招吗?

   

论坛徽章:
0
7 [报告]
发表于 2012-02-27 11:56 |只看该作者
回复 6# liaohuachao


    换成:--to-destination 看看... --to 有两个意思:--to-destination 和--to-source

论坛徽章:
0
8 [报告]
发表于 2012-02-27 13:49 |只看该作者
回复 7# 南极雨

大侠,还是不行哦。
   

论坛徽章:
0
9 [报告]
发表于 2012-02-27 15:13 |只看该作者
多谢大家的帮助。现在问题已经解决。将方法跟大家分享一下:
#echo 1 > /proc/sys/net/ipv4/ip_forward
#iptalbes -t nat -A PREROUTING -d 192.168.1.100 -p tcp --dport 80 -i eth1 -j DNAT --to-destination 10.6.3.208
#iptables -t nat -A POSTROUTING -d 10.6.3.208 -p tcp --dport 80 -o eth0 -j SNAT --to 10.6.3.211

论坛徽章:
0
10 [报告]
发表于 2012-02-27 15:59 |只看该作者
楼主开始只记得做了DNAT,而没有做SNAT。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP