免费注册 查看新帖 |

Chinaunix

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

[系统安全] 在双线网关中使用iptables做nat端口转发的一个疑问? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-06-30 19:05 |只看该作者 |倒序浏览
环境是这样的,服务器(用linux当网关使用)上有两个网卡,一个电信一个联通(双线网关设置以及做好,两个地址都可以连通),内网有两个网段都准备通过这个服务器做网关来上网。
两个公网地址比如是:202.202.202.1和60.60.60.1
内网有两个机器是192.168.0.101和192.168.1.101,子网掩码是24位所以是2个网段了。

iptables是这样设置的:
echo 1 > /proc/sys/net/ipv4/ip_forward  
iptables -F  
iptables -t nat -F  
iptables -t mangle -F  
iptables -X  
iptables -t nat -X  
iptables -t mangle -X  
  
iptables -A INPUT -i lo -j ACCEPT  
iptables -A OUTPUT -o lo -j ACCEPT  
  
iptables -P INPUT ACCEPT  
iptables -P OUTPUT ACCEPT  
iptables -P FORWARD ACCEPT  
  
iptables -t nat -A PREROUTING -d 202.202.202.1 -p tcp --dport 80 -j DNAT --to-destination 192.168.0.101:80  
iptables -t nat -A POSTROUTING -d 192.168.0.101 -p tcp --dport 80 -j SNAT --to 192.168.0.1  

iptables -t nat -A PREROUTING -d 60.60.60.1 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.101:80  
iptables -t nat -A POSTROUTING -d 192.168.1.101 -p tcp --dport 80 -j SNAT --to 192.168.1.1  

问题来了,发现在外面访问202.202.202.1可以正确访问到192.168.0.101:80
而我访问60.60.60.1:80却不能访问到192.168.1.101:80  

不知问题在哪里?
补充一点:服务器双线网关中,由于不能设置两个两个默认网关,所以只在202.202.202.1这个地址设置了默认网关,不知道跟这个有没有关系。但是如果有关系,我把default gw设置为60.60.60.1对应的网关,那岂不是对202.202.202.1的nat转发又不正常了?

论坛徽章:
0
2 [报告]
发表于 2012-07-01 09:47 |只看该作者
这个是不是需要加静态路由?

论坛徽章:
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
3 [报告]
发表于 2012-07-01 20:55 |只看该作者
楼主这种情况应该需要使用策略路由,在论坛里面搜索双线路由

论坛徽章:
0
4 [报告]
发表于 2012-07-03 10:51 |只看该作者
回复 3# chenyx


    这台物理机上本来就已经做好了双线路由策略了。

论坛徽章:
0
5 [报告]
发表于 2012-07-03 16:29 |只看该作者
0.1和1.1应该是Iptables上两个内网的网关吧。
我觉得既然已经做了SNAT,那应该跟双线路由策略没什么关系了吧。
LZ如果解决了,还请分享一下方法

论坛徽章:
0
6 [报告]
发表于 2012-07-05 08:58 |只看该作者
echo 1 > /proc/sys/net/ipv4/ip_forward  
iptables -F  
iptables -t nat -F  
iptables -t mangle -F  
iptables -t filter -F
  
iptables -A INPUT -i lo -j ACCEPT  
iptables -A OUTPUT -o lo -j ACCEPT  
  
iptables -P INPUT ACCEPT  
iptables -P OUTPUT ACCEPT  
iptables -P FORWARD ACCEPT

iptables -t nat -A PREROUTING -d 202.202.202.1 -p tcp --dport 80 -j DNAT --to-destination 192.168.0.101:80  
iptables -t nat -A POSTROUTING -s 192.168.0.101 -j SNAT --to 202.202.202.1
iptables -t nat -A PREROUTING -d 60.60.60.1 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.101:80  
iptables -t nat -A POSTROUTNG -s 192.168.1.101 -j SNAT --to 60.60.60.1
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP