免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: test_eaec01
打印 上一主题 下一主题

[网络管理] linux下单网卡如何实现多网段ip互通访问 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2014-10-27 16:41 |只看该作者
好的,那我再去试试。抓包看看。

论坛徽章:
0
12 [报告]
发表于 2014-10-27 20:29 |只看该作者
本帖最后由 abc3w 于 2014-10-27 20:46 编辑

两个直联的网段不需要添加的路由,其它网络设置指向正确的网关就行。
如下:
192.168.10.2/24 gw 192.168.10.1
10.10.10.2/24 gw 10.10.10.1

测试到网关通讯:
192.168.10.2 ping 192.168.10.1  结果?
192.168.10.1 ping 192.168.10.2 结果?
10.10.10.2 ping 10.10.10.1 结果?
10.10.10.1 ping 10.10.10.2 结果?

网关内部转发如下(rhel6.5及之前版本):
允许单网卡转发(默认iptables规则各系统不一样,确保可靠启用,插入这条规则):
#iptables -I FORWARD -i eth0 -o eth0 -j ACCEPT  
启动系统转发支持(重启前有效,永久生效更改/etc/sysctl.conf 里 net.ipv4.ip_forward = 1 ):
#echo 1 > /proc/sys/net/ipv4/ip_forward

如交换机配置有vlan,交换机连接网关eth0的端口应配置为hybrid untag。
如还不通,贴出所有网络交换机配置及网关iptables规则。

论坛徽章:
0
13 [报告]
发表于 2014-10-28 16:22 |只看该作者
本帖最后由 test_eaec01 于 2014-10-28 16:25 编辑

回复 12# abc3w

按照您提到的进行测试,这里吧10.10.10.2, gw 10.10.10.1 修改为: 172.16.1.123 gw 172.16.1.1/24:

192.168.10.2/24 gw 192.168.10.1
172.16.1.123/24 gw 172.16.1.1

路由设置如下:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth1
172.16.1.0      0.0.0.0         255.255.255.0   U     0      0        0 eth0               //eth0口IP主地址
172.16.12.0     0.0.0.0         255.255.255.0   U     0      0        0 eth2
192.168.10.0    0.0.0.0         255.255.255.0   U     0      0        0 eth0             //eth0:1口IP地址
169.254.0.0     0.0.0.0         255.255.0.0     U     0      0        0 eth3
127.0.0.0       0.0.0.0         255.0.0.0       U     0      0        0 lo
0.0.0.0         192.168.1.1     0.0.0.0         UG    0      0        0 eth1


测试到网关通讯:
192.168.10.2 ping 192.168.10.1  结果?,        通
192.168.10.1 ping 192.168.10.2 结果?           通
172.16.1.123 ping 172.16.1.1 结果?             通
172.16.1.1 ping 172.16.1.123 结果?               通




192.168.10.2 ping 172.16.1.123         不通,出现icmp: redirect 字样
在设备上抓包:
  1. [quote]16:11:38.779579 192.168.10.2 > 172.16.1.123: icmp: echo request (ttl 64, id 1420, len 60)
  2. 16:11:38.779677 192.168.10.2 > 172.16.1.123: icmp: echo request (ttl 63, id 1420, len 60)
  3. 16:11:43.437310 192.168.10.2 > 172.16.1.123: icmp: echo request (ttl 64, id 1421, len 60)
  4. 16:11:43.437354 192.168.10.1 > 192.168.10.2: icmp: redirect 172.16.1.123 to host 172.16.1.123 for 192.168.10.2 > 172.16.1.123: icmp: echo request (ttl 63, id 1421, len 60) [tos 0xc0]  (ttl 64, id 36801, len 88)
  5. 16:11:43.437377 192.168.10.2 > 172.16.1.123: icmp: echo request (ttl 63, id 1421, len 60)
  6. 16:11:48.437290 192.168.10.2 > 172.16.1.123: icmp: echo request (ttl 64, id 1422, len 60)
  7. 16:11:48.437328 192.168.10.1 > 192.168.10.2: icmp: redirect 172.16.1.123 to host 172.16.1.123 for 192.168.10.2 > 172.16.1.123: icmp: echo request (ttl 63, id 1422, len 60) [tos 0xc0]  (ttl 64, id 36802, len 88)
  8. 16:11:48.437388 192.168.10.2 > 172.16.1.123: icmp: echo request (ttl 63, id 1422, len 60)
  9. 16:11:53.437322 192.168.10.2 > 172.16.1.123: icmp: echo request (ttl 64, id 1423, len 60)
  10. 16:11:53.437361 192.168.10.1 > 192.168.10.2: icmp: redirect 172.16.1.123 to host 172.16.1.123 for 192.168.10.2 > 172.16.1.123: icmp: echo request (ttl 63, id 1423, len 60) [tos 0xc0]  (ttl 64, id 36803, len 88)
  11. 16:11:53.437382 192.168.10.2 > 172.16.1.123: icmp: echo request (ttl 63, id 1423, len 60)[/quote]
复制代码
172.16.1.123 ping 192.168.10.2         不通,出现icmp: redirect 字样

设备抓包如下:
  1. tcpdump: listening on eth0
  2. 16:14:06.912273 172.16.1.123 > 192.168.10.2: icmp: echo request (ttl 64, id 17003, len 60)
  3. 16:14:11.566822 172.16.1.123 > 192.168.10.2: icmp: echo request (ttl 64, id 17012, len 60)
  4. 16:14:11.566882 172.16.1.1 > 172.16.1.123: icmp: redirect 192.168.10.2 to host 192.168.10.2 for 172.16.1.123 > 192.168.10.2: icmp: echo request (ttl 63, id 17012, len 60) [tos 0xc0]  (ttl 64, id 18159, len 88)
  5. 16:14:16.566910 172.16.1.123 > 192.168.10.2: icmp: echo request (ttl 64, id 17027, len 60)
  6. 16:14:16.566948 172.16.1.1 > 172.16.1.123: icmp: redirect 192.168.10.2 to host 192.168.10.2 for 172.16.1.123 > 192.168.10.2: icmp: echo request (ttl 63, id 17027, len 60) [tos 0xc0]  (ttl 64, id 18160, len 88)
复制代码
网关内部转发如下(rhel6.5及之前版本):
允许单网卡转发(默认iptables规则各系统不一样,确保可靠启用,插入这条规则):
#iptables -I FORWARD -i eth0 -o eth0 -j ACCEPT  
规则已经添加
启动系统转发支持(重启前有效,永久生效更改/etc/sysctl.conf 里 net.ipv4.ip_forward = 1 ):

#echo 1 > /proc/sys/net/ipv4/ip_forward

转发规则已经开启

如交换机配置有vlan,交换机连接网关eth0的端口应配置为hybrid untag。
如还不通,贴出所有网络交换机配置及网关iptables规则。

交换机为2层傻瓜,无vlan其他配置。

iptables 规则如下:

[root@AllInOne ~]# iptables -vnL
Chain INPUT (policy ACCEPT 218K packets, 31M bytes)
pkts bytes target     prot opt in     out     source               destination         

Chain FORWARD (policy ACCEPT 3023K packets, 1580M bytes)
pkts bytes target     prot opt in     out     source               destination         
   10   600 ACCEPT     all  --  eth0   eth0    0.0.0.0/0            0.0.0.0/0           

Chain OUTPUT (policy ACCEPT 257K packets, 44M bytes)
pkts bytes target     prot opt in     out     source               destination   

iptables -t nat -vnL

Chain PREROUTING (policy ACCEPT 68957 packets, 4737K bytes)
pkts bytes target     prot opt in     out     source               destination         
13161  820K ACCEPT     udp  --  eth0   *       0.0.0.0/0            202.106.0.20        udp dpt:53                             //dns解析用
    0     0 DNAT       tcp  --  eth1   *       0.0.0.0/0            192.168.1.222       tcp dpt:30001 to:172.16.12.2:80    //DNAT端口转发,无效
    0     0 DNAT       tcp  --  eth1   *       0.0.0.0/0            192.168.1.222       tcp dpt:30002 to:172.16.12.2:22    //DNAT转发,无效。
  256 15647 ACCEPT     udp  --  eth0   *       0.0.0.0/0            202.108.0.30        udp dpt:53                              //DNS
14279  987K DNAT       udp  --  eth0   *       0.0.0.0/0            0.0.0.0/0           udp dpt:53 to:202.106.0.20           

Chain POSTROUTING (policy ACCEPT 6117 packets, 371K bytes)
pkts bytes target     prot opt in     out     source               destination         
84698 5222K SNAT       all  --  *      eth1    0.0.0.0/0            0.0.0.0/0           to:192.168.1.222                         //NAT规则,访问外网。

Chain OUTPUT (policy ACCEPT 6114 packets, 371K bytes)

无规则。

论坛徽章:
0
14 [报告]
发表于 2014-10-28 16:27 |只看该作者
请各位帮忙看看,多谢了

论坛徽章:
0
15 [报告]
发表于 2014-10-28 17:49 |只看该作者
客户机:172.16.1.123
traceroute  192.168.10.1  结果?

客户机: 192.168.10.2
traceroute 172.16.1.1   结果?

论坛徽章:
0
16 [报告]
发表于 2014-10-29 16:53 |只看该作者

论坛徽章:
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
17 [报告]
发表于 2014-10-29 20:24 |只看该作者
本帖最后由 chenyx 于 2014-10-29 20:25 编辑

这个确实停费解,数据包已经发送到你的Gateway了,但是没有走向下一条ip
这样,你先将iptables设置成全部允许(清除所有iptables规则)测试下
然后确认下ip_forward的值(sysctl -a | grep ip_forward)

论坛徽章:
0
18 [报告]
发表于 2014-10-31 13:55 |只看该作者
1,检查nat网关 ip_forware值
2,确定没有IP与nat网关冲突
3,检查nat网关 iptables nat 表
4,检查nat网关 路由表

论坛徽章:
0
19 [报告]
发表于 2014-11-05 15:04 |只看该作者
你这是一个典型的单臂路由架构啊。交换机肯定支持vlan吧,交换机所有互联的端口以及和linux互联的端口必须是trunk,而且你不配置vlan只是划分了多个网络没啥意义,因为在三层上它们是隔离的,但是二层上他们还在一个广播域。

如果你划分了vlan并且做了trunk, 那么linux端的配置就异常简单了:

1 modprobe  8021q //这个现在的linux系统都支持
2 linux 添加vlan:
   vconfig add eth0 100 //add VLAN 100
   vconfig add eth0 200 //add VLAN 200
3 配置IP(相当于单臂路由)
   ifconfig eth0.100  192.168.10.1 netmask 255.255.255.0 up //192.168.0.1 是该网段的GW
   ifconfig eth0.200  10.10.10.1 netmask 255.255.255.0 up //10.10.10.1是该网段的GW
4 打开linux路由功能:
   echo "1" >> /proc/sys/net/ipv4/ip_forward
5 设置nat
   iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

你按照这个试试?这样实现了vlan互通和客户端上网。

论坛徽章:
0
20 [报告]
发表于 2014-11-05 18:51 |只看该作者
回复 7# dengbao2001


    针对这一点,外网应该怎么配置呢,外网ip未知?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP