概述

在项目环境中,服务器存在多个生效的网卡配置,需要允许指定的网卡访问特定的网段。

处理办法

route命令(临时生效)
命令介绍
add     增加路由
del     删除路由
-net    设置到某个网段的路由
-host   设置到某台主机的路由
gw      出口网关的IP地址
dev     出口网关的物理设备名
查看路由信息
$ route -n
$ ip route show | column -t
添加到主机的路由
$ route add -host 10.62.1.126 dev eth0
$ route add -host 10.62.1.126 gw 10.62.1.1
添加到网络的路由
route add -net 10.62.1.126 netmask 255.255.255.0 eth0
route add -net 10.62.1.126 netmask 255.255.255.0 gw 10.62.1.1
route add -net 10.62.1.126 netmask 255.255.255.0 gw 10.62.1.1 eth1
route add -net 10.62.1.0/24 eth1
删除路由
route del -host 10.62.1.11 dev eth0
route del -net 10.62.1.126 netmask 255.255.255.0
添加默认路由
route add default gw 10.62.1.1
删除默认路由
route del default gw 10.62.1.1
添加永久路由的方法
配置网卡默认网关

1、在 /etc/sysconfig/network-scripts/ifcfg-eth0 文件中指定网关IP

GATEWAY=gw-ip

2、在 /etc/sysconfig/network 里加入到文件末尾,格式以下:

GATEWAY=gw-ip
# 或者
GATEWAY=gw-dev
写入 /etc/rc.loacl
如某个自启动服务在运行/etc/rc.loacl内容之前,那么将可能因链路不畅通导致发生异常故障。故不推荐。

第一次配置自启动时,需要执行如下命令:

chmod +x /etc/rc.d/rc.local

方法:

编辑 /etc/rc.local,使用 route 命令语法添加

route add -net 192.168.3.0/24 dev eth0
route add -net 192.168.2.0/24 gw 192.168.3.254
route add -net 172.16.0.0 netmask 255.255.0.0 gw 192.168.1.100 dev eth0

修改过的文件 /etc/rc.d/rc.local 文件示例

touch /var/lock/subsys/local
route add -net 192.168.3.0/24 dev eth0
route add -net 192.168.2.0/24 gw 192.168.3.254
route add -net 172.16.0.0 netmask 255.255.0.0 gw 192.168.1.100 dev eth0
写入 /etc/sysconfig/static-routes 文件
由于需要编辑network服务配置,无经验很容易出错,故不推荐。

默认在 /etc/sysconifg 文件夹中是没有这个文件的,须要我们手工创建。

$ vi /etc/sysconfig/static-routes
any net 192.168.1.0/24 gw 192.168.1.1
any net 192.168.2.0 netmask 255.255.255.0 gw 192.168.2.1
any host 10.19.190.11/32 gw 10.19.177.10
any host 10.19.190.12 gw 10.19.177.10

编辑network配置文件在start内添加如下内容:

$ cat /etc/init.d/network

    # Add non interface-specific static-routes.
    if [-f /etc/sysconfig/static-routes]; then
        if [-x /sbin/route]; then
            grep "^any" /etc/sysconfig/static-routes | while read ignore args ; do
                /sbin/route add -$args
            done
        else
            net_log $"Legacy static-route support not available: /sbin/route not found"
        fi
    fi
创建route-网卡名称文件

/etc/sysconfig/network-scripts/ 目录下创建名为 route-eth0 的文件,在此文件添加如下格式的内容。

$ vi /etc/sysconfig/network-scripts/route-eth0
192.168.1.0/24 via 192.168.0.1

重启网络验证有效

$ systemctl restart network
END

本文标题:CentOS7 添加临时或永久静态路由的方法总结

本文作者:宇宙最帅的男人

本文链接:https://ym68.cc/linux/202222439.html

版权声明:转载或者引用本文内容请注明来源及原作者,本文著作权归作者 (宇宙最帅的男人) 所有。

除非另有说明,本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议

最后修改:2022 年 07 月 23 日
如果觉得我的文章对你有用,请随意赞赏