免费注册 查看新帖 |

Chinaunix

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

[proxy] 求助!IPtables 回流 问题。 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-03-16 11:57 |只看该作者 |倒序浏览
环境:
(借用一下别人的图图)
internet----router----------firewall----3L switch---2L switch---client
                                                         |
                                                         |
                                                     2L switch
                                                          |
                                                          |
                                                   www servers


一、ROUTER
1. 在router上做ARP地址绑定
     arp  219.143.**.1 0013.72fa.****  ARPA
     arp  219.143.**.2 0013.72fa.****  ARPA
     arp  219.143.**.3  0013.72fa.****  ARPA
     .....(略)

2. Router上的路由配置
    ip route 0.0.0.0 0.0.0.0 219.142.**.**(上级网关,这个不用管它)
    ip route 192.168.1.0 255.255.255.0 219.143.**.2
    ip route 192.168.2.0 255.255.255.0 219.143.**.2
    。。。略
    对内私网的路由,到我的firewall外网口219.143.**.2

二、Firewall
   外网口 219.143.**.2
     内网口 192.168.10.1

1.firewall路由
219.143.**.1    0.0.0.0         255.255.255.240     U     0      0        0 eth0
192.168.10.0     0.0.0.0         255.255.255.0       U      0      0        0 eth1
192.168.2.0       0.0.0.0         255.255.255.0       U      0      0        0 eth1
192.168.1.0       0.0.0.0         255.255.255.0       U      0      0        0 eth1
....略
0.0.0.0         219.143.**.4       0.0.0.0              UG      0      0        0 eth0

219.143.**.4 是路由器的内网口,Default gw。

1. 在Iptables上做DNAT
     nat表
     PREROUTING -d 219.143.**.3 -p tcp -m tcp -m multiport --dports 80,8080 -j DNAT --to-destination 192.168.1.100
     这样,外网访问IP 219.143.**.3可以直接访问到192.168.1.100这台机器上的80和8080端口;

现在问题是内网直接访问219.143.**.3,无法访问,.用私网地址可以,公网地址不行。

查了下资料,做如下测试:
1. 在nat表增加
   POSTROUTING -s 192.168.0.0/255.255.0.0 -d 192.168.1.100 -j SNAT --to-source 192.168.10.1
不管用。
   POSTROUTING -s 192.168.0.0/255.255.0.0 -d  219.143.**.3 -j SNAT --to-source 192.168.10.1
也不管用。
   PREROUTING -s 192.168.0.0/255.255.0.0 -d 219.143.**.3 -j DNAT --to-destination 192.168.1.100
也不管用。

在firewall内网口抓包,有数据过来,然后就不知道哪去了,也不传到外网口去,好像直接丢弃了。。。

刚看有网上说3层交换上还得做回流,我的映射又不是在路由器和交换机上做的,应该和它们没有关系吧。

   

论坛徽章:
0
2 [报告]
发表于 2010-03-16 14:45 |只看该作者
解决了。

规则没有问题
PREROUTING -s 192.168.0.0/255.255.0.0 -d 219.143.**.3 -j DNAT --to-destination 192.168.1.100
POSTROUTING -s 192.168.0.0/255.255.0.0 -d  219.143.**.3 -j SNAT --to-source 192.168.10.1

两条管用。

问题出在我的FORWORD是DROP的,只ACCEPT部分

嘿嘿,实在是太菜了。。。

论坛徽章:
0
3 [报告]
发表于 2010-03-16 16:51 |只看该作者
回复 1# crtjy


    设置DNAT一条就可以
   当时兼顾内部访问就需要多条

论坛徽章:
1
寅虎
日期:2013-09-24 11:50:48
4 [报告]
发表于 2010-03-16 22:29 |只看该作者
靠,今天我也遇到这个问题~~~把规则看了N遍才发现是FORWARD DROP。。那个汗~~啊!!
最后还是FROWARD DROP,补了条iptables -A FORWARD -i eth1 -o eth1 -j ACCEPT (eth1是FW的内网接口)
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP