CentOS6.5双网卡主机间网络不通问题:设置静态路由

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/ydyang1126/article/details/72674934

问题抛出

有三台主机:
A1(双网卡192.168.99.50 &&192.168.106.231)
A2(单网卡192.168.106.230)
B (单网卡192.168.100.68)
网络连通状况:
A2—-A1 可以互访,因为是在同一局域网192.168.106.0/24。
A2—-B可以互访,两台主机都是单网卡,走默认路由。
192.168.99.0/24网段和192.168.100.0/24网段网络不连通。
192.168.106.0/24和192.168.100.0/24网段可以通过192.168.200.0网络互通。

问题来了:A1和A2都在同一网段192.168.106.0/24,为何A2和B可以互访,而A1和B主机不能互访?


问题分析

先看各主机路由信息:

A1:

[root@dras-test mycat]# netstat -r
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.99.0    *               255.255.255.0   U     1      0        0 em1
192.168.25.0    *               255.255.255.0   U     1      0        0 p3p1
192.168.106.0   *               255.255.255.0   U     1      0        0 em2
default         192.168.99.250  0.0.0.0         UG    0      0        0 em1

A2:

[root@localhost bin]# netstat -r
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
default         gateway         0.0.0.0         UG        0 0          0 em1
192.168.106.0   0.0.0.0         255.255.255.0   U         0 0          0 em1
192.168.122.0   0.0.0.0         255.255.255.0   U         0 0          0 virbr0

B:

[root@localhost local]# netstat -r
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
default         gateway         0.0.0.0         UG        0 0          0 ens192
192.168.100.0   0.0.0.0         255.255.255.0   U         0 0          0 ens192
192.168.122.0   0.0.0.0         255.255.255.0   U         0 0          0 virbr0

A1ping不通B的原因:

在主机A1 ping 主机B时,因为没有指定目的地为192.168.100.0的路由信息,所以A1执行ping 192.168.100.68时走默认路由192.168.99.250,而99.0/24网段和100.0/24网段是不通的,所以A1ping 主机B 失败。

A2可以ping通B的原因:

在主机A2 ping 主机B时,也没有指定目的地为192.168.100.0的路由信息,所以A2执行ping 192.168.100.68时走默认路由em1网络接口(即192.168.106.0),而192.168.106.0/24和192.168.100.0/24网段可以通过192.168.200.0网络互通,所以A2ping 主机B 可以成功。

因此可得解决办法:

在192.168.99.50主机上为目的地为主机192.168.100.68(或者网络192.168.100.0/24)添加静态路由,使其走网络接口em2,即可ping通192.168.100.68。

如下,在主机A2上执行:

[root@dras-test mycat]# route add -net 192.168.100.0/24 dev em2
[root@dras-test mycat]# 
[root@dras-test mycat]# 
[root@dras-test mycat]# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.100.0   *               255.255.255.0   U     0      0        0 em2
192.168.99.0    *               255.255.255.0   U     1      0        0 em1
192.168.25.0    *               255.255.255.0   U     1      0        0 p3p1
192.168.106.0   *               255.255.255.0   U     1      0        0 em2
default         192.168.99.250  0.0.0.0         UG    0      0        0 em1
[root@dras-test mycat]# ping 192.168.100.68
PING 192.168.100.68 (192.168.100.68) 56(84) bytes of data.
64 bytes from 192.168.100.68: icmp_seq=1 ttl=61 time=2.86 ms
64 bytes from 192.168.100.68: icmp_seq=2 ttl=61 time=0.828 ms

到此问题解决。
以下总结今天学到的添加静态路由的方法。

添加静态路由方法:

一:使用route 命令添加

【 注: 使用route 命令添加的路由,机器重启或者网卡重启后路由就失效了 】

方法:

添加到主机的路由,2种方法

# route add –host 192.168.1.11 dev eth0
# route add –host 192.168.1.12 gw 192.168.1.1

添加到网络的路由,3种方法

# route add –net 192.168.1.11 netmask 255.255.255.0 dev eth0
# route add –net 192.168.1.11 netmask 255.255.255.0 gw 192.168.1.1
# route add –net 192.168.1.0/24 dev eth1

添加默认网关

# route add default gw 192.168.2.1

//删除路由

# route del –host 192.168.1.11 dev eth0

二、使用ip命令来添加、删除路由

ip route add default via 172.16.10.2 dev eth0
ip route add 172.16.1.0/24 via 172.16.10.2 dev eth0
展开阅读全文

没有更多推荐了,返回首页