028-85452772
177-8044-0881
177-8071-8660

Linux双网卡路由

来源: | 作者:zxzy-server | 发布时间 :2025-06-20 | 364 次浏览: | 分享到:
创建路由表
配置策略路由规则
配置路由表中的网关
使配置生效
配置默认路由

创建路由表

  • 编辑/etc/iproute2/rt_tables文件,添加两个自定义路由表:

 

vim /etc/iproute2/rt_tables

增加路由表

200        10

201        192

  • 这里的200201是路由表的编号,table1table2是路由表的名称,可以根据需要自行定义。

 

cat /etc/iproute2/rt_tables

配置策略路由规则

  • 使用ip      rule命令添加策略路由规则,让系统根据源 IP 地址选择不同的路由表:

 

ip rule add from 192.168.108.0/24 table 192

ip rule add from 10.100.1.0/24 table 10

这两条规则表示,从192.168.1.0/24网段发出的数据包使用table1路由表,从10.0.0.0/24网段发出的数据包使用table2路由表

 

配置路由表中的网关

  • table1table2路由表分别配置网关:

 

ip route add default via 192.168.108.1 dev enp0s3 table 192

ip route add default via 10.100.0.1 dev enp0s8 table 10

  • 这里将eth0的网关设置为192.168.1.1eth1的网关设置为10.0.0.1,分别对应各自的网段。

 

 

使配置生效

  • 配置完成后,需要重启网络服务使配置生效

systemctl restart networking.service

或者

ifdown eth0 && ifup eth0

ifdown eth1 && ifup eth1

 

 

查看所有路由表

ip route show table all

 

查看特定路由表

ip route show table table1

ip route show table table2

 

查看路由规则

除了路由表,你还能查看路由规则,这些规则决定了数据包使用哪个路由表,使用如下命令:

 

iprule show

 

此命令会显示所有的路由规则,包括根据源 IP 地址、目的 IP 地址等条件来选择路由表的规则。

 

置默认路由

通常情况下,需要设置一个默认路由,让系统在无法匹配其他路由规则时使用。假设以eth0的网关作为默认网关

 

# route add default gw 10.100.0.1 enp0s8