centos7 默认路由顺序调整(IPV4_ROUTE_METRIC)

1、问题说明

A服务器有两张网卡,A1对应公网,A2对应私网,公网访问时,访问异常,内网访问服务则显示正常。

问题判断:数据包从公网进来时,路由无需判断,但数据包出去时,有两个网口皆可出去,如果出去的数据包走了默认路由,那就出不去。因此判断问题出现在系统的默认路由配置上。


-----数据包入---->--->--->----------|------公网----------------------------------------------
             -------<---<----<-----|------内网---------数据包出------------默认路由-----------

2、验证设想

[root@idszt-node001 ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.240.1   0.0.0.0         UG    104    0        0 ens1f1
0.0.0.0         113.98.244.1*1  0.0.0.0         UG    105    0        0 ens1f0
113.98.244.160  0.0.0.0         255.255.255.224 U     105    0        0 ens1f0
172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 docker0
172.19.0.0      0.0.0.0         255.255.0.0     U     0      0        0 br-5bbdc4e99100
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0
192.168.240.0   0.0.0.0         255.255.255.0   U     104    0        0 ens1f1

cd /etc/sysconfig/network-scripts
vi ifcfg-ens1f0
# 添加以下配置,设置ens1f0优先级在ens1f1之前
IPV4_ROUTE_METRIC="103"

[root@idszt-node001 network-scripts]# ifdown enp2s0f0
用法:ifdown <设备名>
[root@idszt-node001 network-scripts]# ifdown ens1f0
成功断开设备 "ens1f0"[root@idszt-node001 network-scripts]# ifup ens1f0
连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/15)

# 路由调整后
[root@idszt-node001 network-scripts]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         113.98.244.1*1  0.0.0.0         UG    103    0        0 ens1f0
0.0.0.0         192.168.240.1   0.0.0.0         UG    104    0        0 ens1f1
113.98.244.160  0.0.0.0         255.255.255.224 U     103    0        0 ens1f0
172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 docker0
172.19.0.0      0.0.0.0         255.255.0.0     U     0      0        0 br-5bbdc4e99100
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0
192.168.240.0   0.0.0.0         255.255.255.0   U     104    0        0 ens1f1

重启网卡:service network restart

3、总结

将公网的网卡路由优先级设计为最高即可。

[root@idszt-node001 network-scripts]# ifconfig
ens1f0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 113.98.244.1*0  netmask 255.255.255.224  broadcast 113.98.244.1*1
        inet6 fe80::d1bb:57a4:aa28:2dd9  prefixlen 64  scopeid 0x20<link>
        ether c4:b8:b4:b5:73:d1  txqueuelen 1000  (Ethernet)
        RX packets 506382  bytes 31938370 (30.4 MiB)
        RX errors 0  dropped 31937  overruns 0  frame 0
        TX packets 26388  bytes 2608732 (2.4 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device memory 0xab500000-ab5fffff
CentOS系统中添加路由是一项常见的网络配置任务,它可以帮助你自定义数据包在网络中的传输路径。以下是几种添加静态路由的方法: ### 方法一:临时添加路由(重启后失效) 你可以通过命令行工具`ip`或`route`直接向当前的路由表中加入一条新的记录。 #### 使用 `ip route add` ```bash sudo ip route add 目标网段 via 网关IP dev 接口名称 ``` 例如想要增加去往192.168.50.0/24这个子网的路由,并指定下一跳地址为192.168.1.1,可以输入: ```bash sudo ip route add 192.168.50.0/24 via 192.168.1.1 dev eth0 ``` #### 使用 `route add` 对于较旧版本的操作系统来说,也可以选择使用传统的`route`命令: ```bash sudo route add -net 192.168.50.0 netmask 255.255.255.0 gw 192.168.1.1 eth0 ``` 这两种方式都是立即生效但不会保存,在服务器重启之后就会丢失设置的信息。 ### 方法二:永久性地修改配置文件(持久化) 为了保证更改后的路由信息能在每次开机时自动加载,需要编辑相关的网络接口脚本或者创建一个新的规则文件。 - 对于基于NetworkManager管理的服务环境而言,则应该考虑调整其特定连接profile下的ipv4.route选项; - 而传统的方式是手动编辑位于 `/etc/sysconfig/network-scripts/ifcfg-<interface>` 文件里的内容, 比如针对eth0接口对应的ifcfg-eth0文档内追加一行类似下面这样的指令: ```shell GATEWAY=192.168.1.1 #默认网关 ``` 如果想更灵活一些还可以建立专门存放额外路由条目的文本如 `/etc/sysconfig/static-routes`, 每项占一行格式如下所示: ```plaintext any net 172.16.0.0/16 gw 192.168.1.2 metric 10 ``` 请注意这里的"any"关键字意味着这条规则适用于所有符合条件的数据流而不局限于某个特殊的设备上; 最后别忘了使改动生效并检查是否成功设置了正确的路由: ```bash systemctl restart network.service # 或者 reboot 来完全启动一次服务 route -n # 查看目前有效的路由列表确认无误。 ``` 以上就是在CentOS操作系统里如何新增加一条路由的基本步骤啦!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值