最大的功能就是在帮我们规划网络封包的传递方式与方向

每一部主机都有自己的路由表

封包必须透过自己的路由表传递到下一个路由器

如果封包流向发生问题 可使用traceroute 查看封包在各路由的流向

一:路由表产生的类型

    

    查看本机的路由表

    [root@bird ~]# route -n

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  eth0

169.254.0.0   0.0.0.0        255.255.0.0      U     1002    0      0  eth0

0.0.0.0   192.168.129.251   0.0.0.0           UG     0      0      0  eth0


  以上显示的顺序是由小网域排列到大网域192../24~168../16~0.0.0(预设路由)

  G 代表使用外部的装置作为 Gateway 的意思

  主机的网络封包需要传送时,就会查阅上述的三个路由规则来了解如何将该封包传送出去


  主机为什么会有这几个路由

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

    主机上面有几个网络接口(eth0 eth1)的存在时,该网络接口就会存在一个路由(gateway)

  2.手动或预设路由(default route):

    你所指定的路由必须要是你的装置 (如 eth0) 或 IP 可以直接沟通 (broadcast) 

    增加指定路由

    [root@bird ~]# route add -net 192.xx.xx.x netmask 255.x.x.x dev eth0

  动态路由

  透过路由器与路由器之间的协商以达成动态路由的环境 不过 需要额外软件的支持

    zebra (http://www.zebra.org/)

    或 CentOS 上面的 Quagga (http://www.quagga.net/) 


二:一个网卡绑多个 IP: IP Alias


   多个IP的用途

   1.测试用   

    比如IP 分享器的设定通常是使用 WWW 接口来提供的 所以分享器通畅提供一个私有IP 192.168.0.1来开启www接口的浏览 此时在不更动既有的网络环境下 连接IP分享器就可以建立一个虚拟的网络接口

    [root@bird ~]# ifconfig eth0:0 192.168.0.100 netmask 255.255.255.0 up

   2. 一个实体网域中含有多个IP网域

    如果想让一个实体网域却是多个IP网域的主机联机 可以使用虚拟网络接口联机

   3.一部主机需要连接多个IP网域 但主机没有多不网卡时 (其实和2是一个原理)

    虚拟网卡是由实体网卡方针出来的 

        实体网卡启动 依附的虚拟网卡才能启动 

        实体网卡关闭 虚拟网卡也会随之关闭

    

    注意:建议要有多个ip时 最好在多张实体网卡上达成

              使用 /etc/sysconfig/network-scripts/ifcfg-eth0:0的文件创建虚拟网卡的方式 可以在开机或重启网络时就可以随之启动虚拟网卡 否则是暂时的

              如果这张网卡以DHCP和手动的方式设定IP DHCP需要指定到实体网卡上

三:重复路由的问题

    同一部主机上面设定同一网域的内的多 IP 时

[root@www ~]# route -nKernel IP routing table
Destination     Gateway   Genmask         Flags Metric Ref   Use Iface
192.168.0.0     0.0.0.0   255.255.255.0   U     0      0       0 eth1
192.168.0.0     0.0.0.0   255.255.255.0   U     0      0       0 eth0

根据路由规则 无论eth1 eth0进来的封包都会从eth1流出 不会经过eth0 所以会导致防火墙的规则方面问题 不会实现负载均衡 也不会增加网络流量