您的位置:首页 > 运维架构 > Linux

理解LInux路由

2015-11-03 16:51 459 查看
启动linux路由功能

echo "echo 1 >/proc/sys/net/ipv4/ip_forward" >> /etc/rc.d/rc.local

或者修改

vi /etc/sysctl.conf net.ipv4.ip_forward =1 也是开启路由转发功能

查看\添加\修改\删除linux静态路由

route -n 显示当前路由表

netstat -rn 显示当前路由表

route add -net 添加到哪儿个网络的路由

route add -host 添加到哪儿台计算机的路由

route add default gw 添加默认路由(找不到合适的路由,才找这个路由,级别最低)

route delete 删除路由

举例:

route add -net 202.38.85.0 netmask 255.255.255.0 dev eth0

route add -net 192.168.1.0 netmask 255.255.255.192 dev eth1

route add -net 192.168.1.64 netmask 255.255.255.192 dev eth2

route add -net 192.168.1.128 netmask 255.255.255.192 dev eth3

route add -net 192.168.1.192 netmask 255.255.255.192 dev eth4

最后指定默认网关:

route add default gw 202.38.85.1

route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.2.1

netconfig -d eth1 此命令是给eth1配置ip等信息

简要协议下5台机器的地址分配图:(这里可以画个图,看起来很直观)

CentOS1(192.168.1.1<eth0>)----CentOS2(192.168.1.2<eth0>/192.168.2.1<eth1>)----CentOS3(192.168.2.2<eth0>/192.168.3.1<eth1>)----CentOS4(192.168.3.2<eth0>/192.168.4.1<eth1>)----CentOS5(<eth0>192.168.4.2)

CentOS1设置了缺省网关192.168.1.2

centOS5设置了缺省网管192.168.4.1

CentOS2 CentOS3 CentOS4 开启了路由转换功能

vi /etc/sysctl.conf net.ipv4.ip_forward =1(0改做1) 也是开启路由转发功能

当我们从CentOS1 ping CentOS2的eth1网口ip时,是可以ping通的,因为CentOS2具有路由转换功能

当我们从CentOS1 ping CentOS3的eth0网口时会出现如下景象:

[root@centos ~]#ping 192.168.2.2

PING 192.168.2.2 (192.168.2.2) 56()84 bytes of data.

就此不动了,这是表明ping包已经送达,但是没有回应信息,为什么会这样呢?具体说一下,ping包从万能路由出去到CentOS2的eth0端口,然后经过centos2的路由表转换到达Centos2的eth1端口,通过直连的网线到达192.168.2.2,CentOS3的eth0网口相应ping包,但是他的相应包不知道如何到达192.168.1.1.所以CentOS1的发出去的ping包没有返回,就一直等着。我们应该在CentOS3上,添加路由规则:

route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.2.1

然后在CentOS1上ping 192.168.4.1 不通,那就应该在CentOS2上添加路由

route add -net 192.168.4.0 netmask 255.255.255.0 gw 192.168.2.2

在CentOS3上添加路由

route add -net 192.168.4.0 netmask 255.255.255.0 gw 192.168.3.2

这样就通了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: