ifconfig
命令主要用于配置和显示网络接口的参数,但它本身并不直接支持设置网络优先级。在Linux系统中,网络优先级通常是通过路由表来管理的。
要配置网络优先级,你可以使用 ip
命令或者修改 /etc/iproute2/rt_tables
文件来添加自定义路由表,并通过 ip route
命令来指定默认路由和优先级。
以下是一些基本步骤来配置网络优先级:
ip
命令查看当前路由表:
ip route show
添加默认路由并指定优先级:
sudo ip route add default via <gateway_ip> dev <interface> metric <metric_value>
其中,<gateway_ip>
是网关的IP地址,<interface>
是网络接口名称,<metric_value>
是路由的优先级值(数值越小优先级越高)。
查看修改后的路由表:
ip route show
/etc/iproute2/rt_tables
文件编辑 /etc/iproute2/rt_tables
文件:
sudo nano /etc/iproute2/rt_tables
添加自定义路由表: 在文件末尾添加一行,格式如下:
<table_number> <table_name>
例如:
100 my_route_table
添加默认路由到自定义路由表并指定优先级:
sudo ip route add default via <gateway_ip> dev <interface> table my_route_table metric <metric_value>
设置主路由表使用自定义路由表:
sudo ip rule add from all lookup my_route_table prio <priority_value>
其中,<priority_value>
是规则的优先级值(数值越小优先级越高)。
查看修改后的路由表和规则:
ip route show table my_route_table
ip rule show
假设你有两个网络接口 eth0
和 eth1
,网关分别是 192.168.1.1
和 192.168.2.1
,你想让 eth0
的优先级更高。
使用 ip
命令:
sudo ip route add default via 192.168.1.1 dev eth0 metric 100
sudo ip route add default via 192.168.2.1 dev eth1 metric 200
修改 /etc/iproute2/rt_tables
文件:
sudo nano /etc/iproute2/rt_tables
添加:
100 my_route_table
添加默认路由到自定义路由表并指定优先级:
sudo ip route add default via 192.168.1.1 dev eth0 table my_route_table metric 100
设置主路由表使用自定义路由表:
sudo ip rule add from all lookup my_route_table prio 100
通过这些步骤,你可以有效地配置网络优先级,确保系统在有多个网络连接时选择最优的路径。