如何用脚本sh来保证 eth0优先路由,wlan0次选
时间: 2023-07-18 07:17:27 浏览: 116
以下是一个简单的bash脚本,可以设置eth0为首选路由器,wlan0为次选路由器:
```bash
#!/bin/bash
# Add a new routing table for eth0
echo "200 eth0_table" >> /etc/iproute2/rt_tables
# Add default route for eth0 to the new routing table
eth0_gateway=$(ip route show | grep "default" | grep "eth0" | awk '{print $3}')
ip route add default via $eth0_gateway dev eth0 table eth0_table
# Add default route for wlan0 to the main routing table
wlan0_gateway=$(ip route show | grep "default" | grep "wlan0" | awk '{print $3}')
ip route add default via $wlan0_gateway dev wlan0
# Add a rule to route all traffic from eth0 through the new routing table
eth0_ip=$(ip addr show eth0 | grep "inet\b" | awk '{print $2}' | cut -d/ -f1)
ip rule add from $eth0_ip table eth0_table
```
这个脚本将创建一个新的路由表(名称为“eth0_table”),然后将eth0的默认路由添加到该表中。它还将wlan0的默认路由添加到主路由表中。最后,它将添加一个规则,以便将所有使用eth0的数据包路由到新的路由表中。
请注意,运行此脚本需要管理员权限。你可以使用“sudo”命令来运行它,如下所示:
```
sudo sh script.sh
```
阅读全文