linux下如何添加路由

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux下如何添加路由相关的知识,希望对你有一定的参考价值。

可以分为3个小问题:

  1. 如何用命令行给liunx添加一个默认网关,假设网关地址为10.0.0.254
  2. 192.168.1.0网段,192.168.1.1网关的某一服务器想连接172.16.1.0/24段,该如何添加路由(奇虎360)
  3. 如何添加一个主机路由
    解答:
    首先介绍一下route命令
    一、 缺省网关路由
    默认网关就是数据包不匹配任何设定的路由规则,最后流经的地址关口!网关按字面意思就是网络的关口。打个比喻:就是你们家的大门,你只要进出都要经过它。
    [[email protected] ~]# route -n
    Kernel IP routing table
    Destination Gateway Genmask Flags Metric Ref Use Iface
    192.168.56.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.56.2 0.0.0.0 UG 0 0 0 eth0
    ×××部分的这个是默认网关。
    route -n 命令是显示内核路由表。
    当我们上网时,怎么走的路由呢?通过上面的路由表从上往下,如果都不行,那会考虑默认网关,如果默认网关不行,那说明网关配置的有问题。如果前面的可以出去,它不会考虑从默认网关上网。
    关于网关的配置,可以考虑我的文章centos6和centos7网络之网卡及网关DNS概述
    删除网关命令:
    [[email protected] ~]# route del default gw 192.168.56.2
    [[email protected] ~]# route -n
    Kernel IP routing table
    Destination Gateway Genmask Flags Metric Ref Use Iface
    192.168.56.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
    [[email protected] ~]# ping baidu.com
    connect: Network is unreachable
    删除默认网关后,我们发现不能上网了,也就是说我们想要上网,必须有一个网关。
    添加默认网关:
    [[email protected] ~]# route add default gw 192.168.56.2
    [[email protected] ~]# route -n
    Kernel IP routing table
    Destination Gateway Genmask Flags Metric Ref Use Iface
    192.168.56.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.56.2 0.0.0.0 UG 0 0 0 eth0
    这种命令行只是临时生效,永久生效参考我的文章centos6和centos7网络之网卡及网关DNS概述
    二、 网络路由:即去往某一网络或网段的路由
    一般多网段之间互相通信,希望建立一条优先路由,而不是通过默认网络进行通信(这种走的比较多,浪费资源和时间),可以配置一条网络路由。打个比方吧:比如你要去别的村,这里有三个村(A,B,C),A表示你的村,B表示另一个村,C表示你要去的目的地。你去C村,原来有一条默认道路经过B村,再到C村。现在感觉有点绕远,人们创造了一条新的路,直接从A到C村,不经过B村。这条新建的路就叫网络路由。
    实际工作中也会有相应的需求:有两个不同的内部网络网段192和10段需要进行通信,而不是通过外网再进行通信,就是添加一条网络路由。
    route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.1
    跨网络之间通信,是需要有路由器的,
    下面是简图,省略了交换机。对网络路由进行说明。
    下图中,通过在10.0.0.7中添加如下路由命令,实现10.0.0.7和192.168.1.7进行通信。
    技术分享图片
    注意:这里只是添加了单向的,需要在B端添加返回的路由
    方法二:通过在网关上添加一条网络路由,实现两条段的通信。
    技术分享图片
    注意:这里只是添加了单向的,需要在B端添加返回的路由
    这里添加路由的命令的写法可以变成如下:
    route add -net 192.168.1.0/24 gw 10.0.0.1
    上述命令重启网卡后都会失效,如何保存呢?
    路由的配置文件/etc/sysconfig/network-scripts/route-eth0,默认是不存在,需要自己添加。
    默认网关可以在网卡的配置文件中添加。
    [[email protected] ~]# more /etc/sysconfig/network-scripts/route-eth0
    192.168.1.0/24 via 192.168.1.1
    三、 主机路由
    去往某个主机地址如何配置路由
    route add -host 192.168.2.11 dev eth2
    route add -host 10.0.0.5 dev lo
    在配置keepalived或者heartbeat 高可用服务器对之间的使用单独网卡接心跳线通信就会用到以上主机路由。

以上是关于linux下如何添加路由的主要内容,如果未能解决你的问题,请参考以下文章

linux 下添加,修改,删除路由

linux系统怎么添加永久路由

用route命令添加永久路由

linux 添加静态路由

linux下(Ubuntucentos)添加永久静态路由的方法

趣谈网络协议工具篇:如何在Linux上添加路由