centos和ubuntu配置路由的三种方式

时间:2023-03-09 20:16:33
centos和ubuntu配置路由的三种方式
本篇总结三种修改路由的方式:route, ip route, 以及通过修改文件来配置路由,前2种命令行形式适用于ubuntu和centos,重启失效,最后一种永久有效。

一. route命令

     1) 查看:route -n
     2)添加: route add  [-net|-host]  target [netmask Nm] [gw Gw] [[dev If]
                 目标:192.168.1.3  网关:172.16.0.1(必须与本地地址在同一网络)
                ~]# route add -host 192.168.1.3 gw 172.16.0.1 dev eth0(经由本地哪个网卡)
                 目标:192.168.0.0 网关:172.16.0.1
                ~]# route add -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1 dev eth0
                ~]# route add -net 192.168.0.0/24 gw 172.16.0.1 dev eth0
                  默认路由,网关:172.16.0.1
                 ~]# route add -net 0.0.0.0 netmask 0.0.0.0 gw 172.16.0.1
                 ~]# route add default gw 172.16.0.1
     3)删除:route del [-net|-host] target [gw Gw] [netmask Nm] [[dev] If]                           
                  目标:192.168.1.3  网关:172.16.0.1
                   ~]# route del -host 192.168.1.3
                  目标:192.168.0.0 网关:172.16.0.1
                  ~]# route del -net 192.168.0.0 netmask 255.255.255.0                 

二.    ip route - routing table management

        1) 添加路由:ip route add TARGET via GW [dev IFACE] [src SOURCE_IP] (dev表示流出的接口,via:经由下一跳)
                             例如:ip route add 192.168.1.3 via 172.16.0.1 dev eth0
                                        ip route add 192.168.0.0/24 via 172.16.0.1
                             注意TARGET中的格式:
                                主机路由:IP
                                网络路由:NETWORK/MASK
         2) 添加默认网关:ip route add defalt via GW [dev IFACE] ----dev指明由哪条接口出去
         3) 删除路由:ip route del TARGET
         4) ip route show,或者ip route list查看路由
         5) ip route flush-----清空整个路由表
                        [dev IFACE]---仅清空与某个接口相关联的
                        [via PREFIX]--仅清空与某个网关相关联的,不常用

三. 修改配置文件永久生效

1)对centos来说,是修改/etc/sysconfig/network-scripts/route-IFACE (比如 route-eth0,没有就新建)来配置路由,永久有效,有2种配置风格

      (1) TARGET via GW      
           例如:192.168.0.0/24 via 172.16.0.1
                      0.0.0.0/0 via 172.16.10.2 dev eth0 (可以省略dev eth0 ,注意这里的掩码是0而不是32,因为这里是网段而不是路由)
       (2) 每三行定义一条路由   
                    ADDRESS#=TARGET   #表示数字
                    NETMASK#=mask
                    GATEWAY#=GW
                    例如:ADDRESS0=192.16.20.0
                              NETMASK0=255.255.255.0
                              GATEWAY0=172.16.0.1
 注意: 2种风格不能混合使用,都要service network restart重启网络服务

2)对ubuntu来说,是修改/etc/network/interfaces,添加路由格式如下

up route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.1
其实就是命令行的形式多了个up,其他都一样。

四. 路由参数说明

我们在修改ip前先查看一下主机路由:route -n
centos和ubuntu配置路由的三种方式centos和ubuntu配置路由的三种方式
参数列解释:
Destination \ Genmask分别是network \ netmask,它们两个组合成了一个网络。
Gateway就是网关,如果显示0.0.0.0表示该路由是直接由本机传送;如果显示ip,表示该路由需要经过路由器的帮助才能发出。
Iface 就是网卡接口名称。
Flags:
U(route is up)该路由是启动的
H(target is a host) 特定主机路由
G(use Gateway) 需要通过外部的主机传递数据包