免费注册 查看新帖 |

Chinaunix

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

[网络管理] iptables:snat后不能ping通同网段的其它机器 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-11-19 21:44 |只看该作者 |倒序浏览
192.168.1.1        192.168.1.25     192.168.2.1           192.168.2.10
INTERNET----------ROUTER--------------------------V_PC1--------------------------V_PC2
V_PC1、V_PC2都是虚拟系统,系统的本身地址为192.168.1.2
V_PC1的网络配置
eth0   Link encap:Ethernet  HWaddr 00:0C:29:94:E9:EB  
          inet addr:192.168.1.25  Bcast:192.168.1.255  Mask:255.255.255.0   
     
eth1   Link encap:Ethernet  HWaddr 00:0C:29:94:E9:F5  
          inet addr:192.168.2.1  Bcast:192.168.2.255  Mask:255.255.255.0
V_PC1的iptables配置
iptables -t nat -nvL
Chain POSTROUTING (policy ACCEPT 12 packets, 851 bytes)
pkts bytes target     prot opt in     out     source               destination              
1    84 SNAT       all  --  *      *       192.168.2.10         0.0.0.0/0           to:192.168.1.125

iptables  -nvL      
Chain INPUT (policy ACCEPT 3588 packets, 278K bytes)
pkts bytes target     prot opt in     out     source               destination         

Chain FORWARD (policy ACCEPT 453 packets, 384K bytes)
pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 2998 packets, 409K bytes)
pkts bytes target     prot opt in     out     source               destination     
在V_PC2上ping 192.168.1.1 和192.168.1.100(是真实的机器,不是虚拟机),ping不通,在V_PC1上能看到192.168.2.10转换成192.168.1.125。当但就是没有回应报文,是不是192.168.1.1广播arp请求,但查不到192.168.1.125的mac表导致ping不通192.168.1.1啊。怎么设置才可以ping通192.168.1.1或.100啊

论坛徽章:
0
2 [报告]
发表于 2007-11-20 16:51 |只看该作者
系统IP为192.168.1.2;
V_PC1、V_PC2是安装在192.168.1.2上的虚拟系统;
V_PC1有两个IP:192.168.1.25和192.168.2.1,这里,V_PC1相当于一个代理服务器;
问下:
    1.V_PC1有没有开启数据转发功能?
    2.贴一下iptables -L -n和iptables -t nat -L -n的内容或者iptables-save的内容;
    3.贴一下V_PC2的网络信息;

论坛徽章:
0
3 [报告]
发表于 2007-11-20 22:37 |只看该作者
V_PC1 已经开启数据转发功能,
cat /proc/sys/net/ipv4/ip_forward
1
[root@firewall ~]# iptables -n -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination   

[root@firewall ~]# iptables -t nat -nL
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination         

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination         
SNAT       all  --  192.168.2.10         0.0.0.0/0           to:192.168.1.125

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

V_PC2 的信息
debian:~# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.2.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
0.0.0.0         192.168.2.1     0.0.0.0         UG    0      0        0 eth0
debian:~# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0C:298:9E:EB  
          inet addr:192.168.2.10  Bcast:192.168.2.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fed8:9eeb/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:374 errors:0 dropped:0 overruns:0 frame:0
          TX packets:394 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:34434 (33.6 KiB)  TX bytes:44139 (43.1 KiB)
          Interrupt:169 Base address:0x2000

不才有SNAT,用MASQUEARD时是可以ping通的,也可以访问internet。在pc上抓数据包,可以看到收到报文,但pc就没有返回报文有类似的消息如下:
Num    Source Address    Dest Address   Summary
1        192.168.1.125     192.168.1.2       ICMP:Echo(ping)request
2        192.168.1.125     192.168.1.2       ICMP:Echo(ping)request
3        192.168.1.125     192.168.1.2       ICMP:Echo(ping)request
4        192.168.1.125     192.168.1.2       ICMP:Echo(ping)request

论坛徽章:
0
4 [报告]
发表于 2007-11-20 23:24 |只看该作者
哪来的 192.168.1.125?
若没有这个 IP,伪造源 IP 为 125 以后回包要回到 125 去,没有这个实体 IP 谁去接收回包?

论坛徽章:
0
5 [报告]
发表于 2007-11-20 23:39 |只看该作者
125? 笔误?

论坛徽章:
0
6 [报告]
发表于 2007-11-20 23:49 |只看该作者
我的本意是把192.168.2.10地址转换为192.168.1.125,然后以这个地址和192.168.1.0/24网段上的其他机器通信,比如和192.168.1.100或192.168.1.1

论坛徽章:
0
7 [报告]
发表于 2007-11-21 00:29 |只看该作者
原帖由 emlin128 于 2007-11-20 23:49 发表
我的本意是把192.168.2.10地址转换为192.168.1.125,然后以这个地址和192.168.1.0/24网段上的其他机器通信,比如和192.168.1.100或192.168.1.1

那你在 Linux 上需要绑定一个 192.168.1.125 的 IP 实体,否则回包是对方无法通过 ARP 协议找到 125 所在 IP 所对应的 MAC 地址,无法进行通讯
你的思想是好的,但你的具体做法违背了网络基本原理,基础知识有待提高

论坛徽章:
0
8 [报告]
发表于 2007-11-21 00:55 |只看该作者
但是硬件防火墙可以实现这样的功能,在做好静态的地址映射后,映射好的地址就会跟防火墙的接口绑定。

                           eth0/0/0        eth0/0/1
                           PC1--------FIREWALL-----PC2
e0/0/0是192.168.2.0/24网段,e0/0/1是192.168.1.0/24;pc1的地址192.168.2.10,在防火墙做个静态的SNAT,PC1就可以和PC2网段的机器通信了。在防火墙上看mac表,可以看到nat后的地址及e0/0/1的mac已经相关联了。我对iptables不太了解,以为也可以向防火墙那样做呢。

论坛徽章:
0
9 [报告]
发表于 2007-11-21 01:01 |只看该作者
原帖由 emlin128 于 2007-11-21 00:55 发表
但是硬件防火墙可以实现这样的功能,在做好静态的地址映射后,映射好的地址就会跟防火墙的接口绑定。

                           eth0/0/0        eth0/0/1
                           PC1--------FIREWA ...

防火墙对你来说是一个黑匣子,你怎知你在防火墙上通过鼠标点击的操作完成后,其内部机制没有做相关的地址绑定?

论坛徽章:
0
10 [报告]
发表于 2007-11-22 21:43 |只看该作者
应该有类似的地址绑定功能。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP