Linux 多线路多网卡配置

#!/bin/bash

# 在/etc/iproute2/rt_tables中default和unspec之间添加eth0和eth1两个表
# 255     local
# 254     main
# 253     default
# 252     eth0
# 251     eth1
# 0       unspec
#
# 假如eth0为主网卡,则eth0正常配置,其余网卡只配置静态IP和掩码,不配置网关。
# eth0 10.0.0.2/24 gateway 10.0.0.1
# eth1 10.0.1.2/24 gateway 10.0.1.1

dev=(
    eth0
    eth1
    eth2
    eth3
)
addr=(
    10.0.0.2
    10.0.1.2
    10.0.2.2
    10.0.3.2
)
gw=(
    10.0.0.1
    10.0.1.1
    10.0.2.1
    10.0.3.1
)
subnet=(
    10.0.0.0/24
    10.0.1.0/24
    10.0.2.0/24
    10.0.3.0/24
)

for ((i=0; i<${#dev[*]}; i++)); do
    ip route flush table ${dev[i]}
    ip route add default via ${gw[i]} dev ${dev[i]} src ${addr[i]} table ${dev[i]}
    ip route add ${subnet[i]} dev ${dev[i]} src ${addr[i]} table ${dev[i]}
    ip route add 127.0.0.0/8 dev lo table ${dev[i]}
    ip rule add from ${addr[i]} table ${dev[i]}
done

# 如果其余网卡配置了网关,需要添加下面一条命令,更改默认网关
# ip route change default via ${gw[0]} dev ${dev[0]}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容