路由的概念与路由器设置 --鸟哥服务器架设篇学习

一、路由

1、路由表产生的类型

  每一台主机都有自己的路由表,,也就是说,你必须要通过自己的路由表将主机的数据包转发到下一个路由器。发送出去后,该数据包就要通过下一个路由器的路由表来传送了,此时与你自己主机的路由表就没有关系啦,所以,如果网络上面的某一台路由器设置错误,那数据包的流向就会发生很大的问题。我们就需要通过traceroute来了解一下每个route的数据包流向。

  那你自己主机的路由表到底有哪些部分呢?

[root@localhost redis-2.8.24]# route -n

Kernel IP routing table

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface

192.168.211.0   0.0.0.0         255.255.255.0   U     0      0        0 eth0

169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth0

0.0.0.0         192.168.211.254   255.255.255.0   U     0      0        0 eth0

    首先,我们得知道,在Linux系统下的路由表是由小网络排列到大网络的,例如上面的路由表当中,路由是由192.168.211.0/24-->169.254.0.0/16-->0.0.0.0/0(默认路由)来排列的。而当主机的网络数据包需要发送时,就会查阅上述的三个路由规则来了解如何将该数据包发送出去。你可能会觉得奇怪,为什么会有几个路由?其实路由表主要按下面几种情况来设计的。

    依据网络接口产生的IP而存在的路由

    例如192.168.211.0/24这个路由的存在是由于这台主机上面拥有192.168.211.128这个IP的关系。也就是说,主机上面有几个网络接口存在时,该网络接口就会存在一个路由,所以说,如果主机有两个网络接口时,例如192.168.211.128和192.168.212.128,那路由至少就会有

[root@localhost redis-2.8.24]# route -n

Kernel IP routing table

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface

192.168.212.0   0.0.0.0         255.255.255.0   U     0      0        0 eth1

192.168.211.0   0.0.0.0         255.255.255.0   U     0      0        0 eth0

169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth0

0.0.0.0         192.168.211.254   255.255.255.0   UG    0      0        0 eth0

    手动或默认路由(Default Route)

   可以使用route这个命令手动给予额外的路由设置,例如那个默认路由(0.0.0.0/0)就是额外的路由。使用route命令时,最主要的一个概念是“你所规划的路由必须要是你的设备(如etho)或IP可以直接沟通(Broadcast)的情况”才行。举例来说,依上述的环境来看,环境里面仅有192.168.211.128及192.168.212.128,那如果想要连接到192.168.213.254这个路由器时,可移执行下面的这个命令:

[root@localhost redis-2.8.24]# route add -net 192.168.213.0 netmask 255.255.255.0 gw 192.168.213.254

SIOCADDRT: No such process

    系统响应没有办法连接到该网络,因为我们的网络接口与192.168.213.0/254根本就没有关系。那如果192.168.213.254真的是与我们的实体网络连接,并且与我们的eth0连接在一起,那其实应该这样做:

[root@localhost redis-2.8.24]# route add -net 192.168.213.0 netmask 255.255.255.0  dev eth0

[root@localhost redis-2.8.24]# route -n

Kernel IP routing table

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface

192.168.211.0   0.0.0.0         255.255.255.0   U     0      0        0 eth0

192.168.213.0   0.0.0.0         255.255.255.0   U     0      0        0 eth0

169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth0

0.0.0.0         192.168.211.254   255.255.255.0   UG    0      0        0 eth0

     这样你的主机就会直接用eth0这个设备去尝试连接192.168.213.254了。另外,上面路由输出重点其实是那个“Flags 的 G”,因为那个G代表使用外部的设备作为你的Gateway的意思。而那个Gateway(192.168.211.254)必须要在我们已存在的路由环境中。

     动态路由

     除了上面两种可以直接使用命令的方法来增加路由规则之外,还有一种通过路由器 与路由器之间的协商以实现动态路由的环境,不过,这就需要额外的软件的支持了,例如:zebra或Centos上面的Quagga这几个软件。

    事实上,Linux的路由规则是通过内核来实现的,所以这些路由表的规则都是在内和功能内,也就是运行在内存。

2、一个网卡绑多个IP:IP Alias的测试用途

   etho:0这个设备可以在原本的eth0上面模拟出一个虚拟接口,使同一个网卡具有多个IP,具有多个IP的功能就被称为IP Alias。而这个eth0:0的设备可以通过ifconfig或IP这两个命令来实现

   测试用

   为什么说测试用呢?举例来说,现在使用IP路由器的朋友很多,而IP



本文转自aaa超超aaa 51CTO博客,原文链接:http://blog.51cto.com/10983441/1740008

上一篇:文档解读 | K8S中的Pod和容器配置(三)


下一篇:阿里云发布边缘节点服务2.0,建立“融合、开放、联动”的边缘计算新形态