免费注册 查看新帖 |

Chinaunix

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

[网络管理] linux主机 如何配置iptables 使小网ip伪装成公网出去 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-08-04 16:01 |只看该作者 |倒序浏览
环境:多台linux主机,例如主机1   主机2,每台主机都有一个公网ip,例如
主机1:公网ip:120.192.96.3 绑定在br0,小网ip:192.168.1.2,绑定在br0:1;在linux有个windows虚拟机,ip为192.168.1.3
主机2:公网ip:120.192.96.4 绑定在br0,小网ip:192.168.1.2,绑定在br0:1;在linux有个windows虚拟机,ip为192.168.1.3

先拿主机1为例,为了使windows虚拟机可以访问公网,设置虚拟机的网关为192.168.1.2,设置linux为路由模式,即echo "1" >/proc/sys/net/ipv4/ip_forward
然后开启nat,即$IPTABLES -t nat -A POSTROUTING -o br0-s ‘192.168.1.0/24’ -j MASQUERADE,这样虚拟机就可以访问公网了。

现在的问题是:
多台主机在通过交换机连接在一起,因为他们的小网ip相同,即都是192.168.1.2,所以会造成ip冲突,所以我想使linux本机小网ip(192.168.1.2)出去的时候也经过nat转换,这样就不会造成ip冲突,但是应该怎么设置啊?

上面-t nat的设置解释:
nat,这个表被查询时表示遇到了产生新的连接的包,由三个内建的链构成:PREROUTING (修改到来的包)、OUTPUT(修改路由之前本地的包)、POSTROUTING(修改准备出去的包)。
也即是说 -t nat应该是 在linux作为路由模式才会进行查询,不会对本地的ip产生作用。

比如主机3,小网ip192.168.1.22,公网ip 192.168.96.6
假设我将主机1本地点小网ip nat了,那么我ping主机3,即ping 192.168.1.22的时候,在主机3上用tcpdump icmp -i any抓包,是否会看到来源ip是主机1的公网ip呢?

论坛徽章:
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
2 [报告]
发表于 2012-08-04 17:13 |只看该作者
你的主机的"小网"ip为什么不设置成不同的网段呢?

论坛徽章:
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-08-04 17:15 |只看该作者
假设我将主机1本地点小网ip nat了,那么我ping主机3,即ping 192.168.1.22的时候,在主机3上用tcpdump icmp -i any抓包,是否会看到来源ip是主机1的公网ip呢?

你ping1网段的时候,是不会走nat的,直接走路由了,因为1.22和1.2是同网段的

论坛徽章:
0
4 [报告]
发表于 2012-08-05 10:28 |只看该作者
其实现在不是为了ping其他主机,我是想让各个主机之间不能通过小网ip彼此发现,从而产生ip冲突,我配置小网ip是为了跟linux上装的windows虚拟机通信的。

为了批量安装方便,所以linux主机配置了相同的小网ip。

但是却会产生ip冲突。

我本以为iptables -t nat OUTPUT *****,通过伪造本地产生的报文(小网的),让各个主机之间的小网ip不会发现批次,从而不会网络冲突,但是貌似不行,或者我命令错了。
命令如下:
iptables -t nat -A OUTPUT  -o br0 -s ‘192.168.1.0/24’ -j MASQUERADE
提示参数好像还错了。



回复 3# chenyx


   

论坛徽章:
0
5 [报告]
发表于 2012-08-05 10:29 |只看该作者
是为了批量安装方便,据点太多,如果每个ip都不同,造成很大的维护成本。

回复 2# chenyx


   

论坛徽章:
0
6 [报告]
发表于 2012-08-05 11:14 |只看该作者
PREROUTING:可以在这里定义进行目的NAT 的规则,因为路由器进行路由时只检查数据包的目的ip
地址,所以为了使数据包得以正确路由,我们必须在路由之前就进行目的NAT;
POSTROUTING:可以在这里定义进行源NAT 的规则,系统在决定了数据包的路由以后在执行该链中的
规则。
OUTPUT:定义对本地产生的数据包的目的NAT 规则。

你看这个nat的OUTPUT规则 就是为了本地产生的数据报呢,应该如何配置呢?把我小网的ip出去的时候,nat成公网的,那么各个相同的小网ip就不会网络冲突了


回复 3# 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
7 [报告]
发表于 2012-08-05 21:28 |只看该作者
PREROUTING一般用于端口映射,POSTROUTING是nat转换,你的那个需求很显然不是端口映射

论坛徽章:
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-08-05 21:29 |只看该作者
批量安装?你用什么方式进行批量安装的?

论坛徽章:
0
9 [报告]
发表于 2012-08-06 08:58 |只看该作者
其实就是用相同的脚本而已,否则每个脚本还要有参数配置ip,而且ip不同,管理起来不方便,因为我是在/etc/sysconfig/network/ifcfg-br0上增加的br0:1,所以ifconfig看不到这个小网ip。
回复 8# chenyx


   

论坛徽章:
0
10 [报告]
发表于 2012-08-06 09:01 |只看该作者
但是-t nat表还有个OUTPUT选项啊、

OUTPUT:定义对本地产生的数据包的目的NAT 规则。

也就是应该可以用这个选项实现本地小网ip的NAT吧?



回复 7# chenyx


   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP