关于华为云平台上服务器虚拟机(银河麒麟服务器操作系统V10SP1)多网卡网络通信问题
文章目錄
- 一、問(wèn)題背景
- 二、解決方法
- 1. 服務(wù)器虛擬機(jī)的網(wǎng)卡配置
- 2. 添加路由表和策略路由
- 3. 測(cè)試路由策略生效
- 4. 添加定時(shí)任務(wù)
- 5. 重啟crond服務(wù)
一、問(wèn)題背景
在某項(xiàng)目的華為云平臺(tái)上部署銀河麒麟服務(wù)器操作系統(tǒng)V10SP1虛擬機(jī)并配置多個(gè)網(wǎng)卡后,發(fā)現(xiàn)只有主網(wǎng)卡能與外部網(wǎng)絡(luò)通信,其他網(wǎng)卡無(wú)法與外部網(wǎng)絡(luò)通信(其中每個(gè)網(wǎng)卡都屬于不通的子網(wǎng))。主路由表(main路由表)的默認(rèn)路由為該虛擬機(jī)主網(wǎng)卡的網(wǎng)關(guān)地址,如果不做其他額外配置的話,所有網(wǎng)卡均會(huì)使用主路由表的默認(rèn)路由,那么此場(chǎng)景中的所有副網(wǎng)卡無(wú)法與外部通信就可以解釋了。
二、解決方法
1. 服務(wù)器虛擬機(jī)的網(wǎng)卡配置
主網(wǎng)卡enp3s0: 192.168.30.8/24 網(wǎng)關(guān)192.168.30.1
副網(wǎng)卡enp5s0: 192.168.31.5/26 網(wǎng)關(guān)192.168.31.62
副網(wǎng)卡enp6s0: 192.168.28.21/27 網(wǎng)關(guān)192.168.28.30
外部網(wǎng)絡(luò)地址:192.168.58.10
2. 添加路由表和策略路由
echo "31 net_31" >> /etc/iproute2/rt_tables echo "28 net_28" >> /etc/iproute2/rt_tables ip route flush table net_31 ip route add default via 186.82.31.62 dev enp5s0 table net_31 ip rule add from 186.82.31.0/26 table net_31 ip route flush table net_28 ip route add default via 186.82.28.30 dev enp6s0 table net_28 ip rule add from 186.82.28.0/27 table net_283. 測(cè)試路由策略生效
使用ping命令從副網(wǎng)卡到外部網(wǎng)絡(luò)是否連通
ping -I enp5s0 192.168.58.10 ping -I enp6s0 192.168.58.10備注:由于上述添加的策略路由在系統(tǒng)重啟后就會(huì)丟失,我們起初嘗試添加策略路由的命令加入到/etc/rc.local來(lái)使策略路由開(kāi)機(jī)自啟生效,結(jié)果發(fā)現(xiàn)不成功,原因未知。所以這里我們采用cron定時(shí)任務(wù)的方式來(lái)實(shí)時(shí)保障策略路由生效。步驟如下:
4. 添加定時(shí)任務(wù)
echo "* * * * * root bash /root/route.sh" >> /etc/crontab其中定時(shí)任務(wù)執(zhí)行的腳本route.sh的內(nèi)容如下:
#!/bin/bash rule_31=`ip rule list | grep -i net_31 |wc -l` rule_28=`ip rule list | grep -i net_28 |wc -l` route_31=`ip route show table 31 | wc -l` route_28=`ip route show table 28 | wc -l` if [ $rule_31 -eq 0 ];thenip rule add from 186.82.31.0/26 table net_31 fiif [ $rule_28 -eq 0 ];thenip rule add from 186.82.28.0/27 table net_28 fiif [ $route_31 -eq 0 ];thenip route add default via 186.82.31.62 dev enp5s0 table net_31 fiif [ $route_28 -eq 0 ];thenip route add default via 186.82.28.30 dev enp6s0 table net_28 fi5. 重啟crond服務(wù)
systemctl restart crond重啟虛擬機(jī),確認(rèn)策略路由開(kāi)機(jī)自動(dòng)生成。
總結(jié)
以上是生活随笔為你收集整理的关于华为云平台上服务器虚拟机(银河麒麟服务器操作系统V10SP1)多网卡网络通信问题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: (结构体+指针)(外加自定义车辆数量和选
- 下一篇: ESP8266 基于AT指令集连接阿里云