免费注册 查看新帖 |

Chinaunix

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

[网络管理] 用iptables做路由转发数据包跑去哪了? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-07-02 20:30 |只看该作者 |倒序浏览
本帖最后由 懒惰的小兵 于 2014-07-02 21:56 编辑

环境情况如下(以下用的是内网表述,实际上3个都是公网IP,在不同的地方)
A:192.168.1.1 客户端

B:192.168.2.2 跑iptables

C:192.168.3.3 跑apache

3台都是独立网段,网络上无任何交集。
想要实现根据源IP判断转发.
A-> 访问B:80 (通过iptables) 转发给-> C:80 (都是独立网段)


目前是这样配的:
iptables -A INPUT -j ACCEPT

iptables -A OUTPUT -j ACCEPT

iptables -A FORWARD -j ACCPET

iptables -t nat -A PREROUTING -p tcp -s 192.168.1.1 -d 192.168.2.2 --dport 80 -j DNAT --to-destination 192.168.3.3:80

iptables -t nat -A PREROUTING -p tcp -s 192.168.3.3 -j DNAT --to-destination 192.168.1.1


发现数据包,走过PREROUTING链后,似乎没有通过FORWARD链.
要实现上面描述的转发,要如何做呢?数据包去哪了~~??



论坛徽章:
32
处女座
日期:2013-11-20 23:41:20双子座
日期:2014-06-11 17:20:43戌狗
日期:2014-06-16 11:05:00处女座
日期:2014-07-22 17:30:47狮子座
日期:2014-07-28 15:38:17金牛座
日期:2014-08-05 16:34:01亥猪
日期:2014-08-18 13:34:25白羊座
日期:2014-09-02 15:03:55金牛座
日期:2014-11-10 10:23:58处女座
日期:2014-12-02 09:17:52程序设计版块每日发帖之星
日期:2015-06-16 22:20:002015亚冠之塔什干火车头
日期:2015-06-20 23:28:22
2 [报告]
发表于 2014-07-02 21:28 |只看该作者
请问你1网段和2网段之间是怎么通讯的?

论坛徽章:
0
3 [报告]
发表于 2014-07-02 21:55 |只看该作者
3个网段,实际上都是公网IP。
想通过iptables 根据源IP 控制走向。

论坛徽章:
0
4 [报告]
发表于 2014-07-02 22:01 |只看该作者
回复 2# yestreenstars
感谢回复.
3个网段,实际上都是公网IP。
因为服务器B作为入口,跑着业务暂时无法更换或者停止,想通过服务器B的iptables 根据源IP 控制走向。

论坛徽章:
32
处女座
日期:2013-11-20 23:41:20双子座
日期:2014-06-11 17:20:43戌狗
日期:2014-06-16 11:05:00处女座
日期:2014-07-22 17:30:47狮子座
日期:2014-07-28 15:38:17金牛座
日期:2014-08-05 16:34:01亥猪
日期:2014-08-18 13:34:25白羊座
日期:2014-09-02 15:03:55金牛座
日期:2014-11-10 10:23:58处女座
日期:2014-12-02 09:17:52程序设计版块每日发帖之星
日期:2015-06-16 22:20:002015亚冠之塔什干火车头
日期:2015-06-20 23:28:22
5 [报告]
发表于 2014-07-02 22:20 |只看该作者
回复 4# 懒惰的小兵

原来如此,那我建议你采用转发的方式实现,因为我也有跟你类似的情况,我是用haproxy实现的~
   

论坛徽章:
0
6 [报告]
发表于 2014-07-02 23:25 |只看该作者
回复 5# yestreenstars
由于各种权限问题,目前只能考虑iptables,很是困惑~


   

论坛徽章:
0
7 [报告]
发表于 2014-07-02 23:25 |只看该作者
回复 5# yestreenstars
由于各种权限问题,目前只能考虑iptables,很是困惑~


   

论坛徽章:
32
处女座
日期:2013-11-20 23:41:20双子座
日期:2014-06-11 17:20:43戌狗
日期:2014-06-16 11:05:00处女座
日期:2014-07-22 17:30:47狮子座
日期:2014-07-28 15:38:17金牛座
日期:2014-08-05 16:34:01亥猪
日期:2014-08-18 13:34:25白羊座
日期:2014-09-02 15:03:55金牛座
日期:2014-11-10 10:23:58处女座
日期:2014-12-02 09:17:52程序设计版块每日发帖之星
日期:2015-06-16 22:20:002015亚冠之塔什干火车头
日期:2015-06-20 23:28:22
8 [报告]
发表于 2014-07-03 01:03 |只看该作者
你试一下这个:
  1. echo 1 > /proc/sys/net/ipv4/ip_forward
  2. iptables -t nat -A PREROUTING -d 192.168.2.2 -p tcp --dport 80 -j DNAT --to-destination 192.168.3.3:80
  3. iptables -t nat -A POSTROUTING -j MASQUERADE
复制代码

论坛徽章:
0
9 [报告]
发表于 2014-07-03 11:16 |只看该作者
回复 8# yestreenstars

万分感谢!功能实现了,想必是这条命令的关系
iptables -t nat -A POSTROUTING -j MASQUERADE

MASQUERADE 参数干嘛用的我自己去看。
再次感谢。

论坛徽章:
32
处女座
日期:2013-11-20 23:41:20双子座
日期:2014-06-11 17:20:43戌狗
日期:2014-06-16 11:05:00处女座
日期:2014-07-22 17:30:47狮子座
日期:2014-07-28 15:38:17金牛座
日期:2014-08-05 16:34:01亥猪
日期:2014-08-18 13:34:25白羊座
日期:2014-09-02 15:03:55金牛座
日期:2014-11-10 10:23:58处女座
日期:2014-12-02 09:17:52程序设计版块每日发帖之星
日期:2015-06-16 22:20:002015亚冠之塔什干火车头
日期:2015-06-20 23:28:22
10 [报告]
发表于 2014-07-03 11:18 |只看该作者
回复 9# 懒惰的小兵

如果不用MASQUERADE的话,我也不知道怎么做,我有空研究一下,如果可以再告诉你。
   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP