Route

NetworkManager 添加額外的預設網關

  • July 27, 2020

使用 NetworkManager,我試圖在不同的 VLAN 上設置多個介面;主介面 em1 用於開發 VLAN;輔助介面位於專用 iSCSI VLAN 上。

我正在使用核心參數從 iSCSI 磁碟啟動主機:

GRUB_CMDLINE_LINUX="netroot=iscsi:@172.16.250.250::3260:em2:::iqn.2000-01.com.example.san:disk rd.iscsi.initiator=iqn.2000-01.com.example.node:root rd.lvm.lv=centos/root

為了防止dracut覆蓋對網路配置文件的更改,我在 dracut 配置文件中添加了一個覆蓋,重建:

echo 'omit_dracutmodules+="ifcfg"' >> /etc/dracut.conf

dracut -f
grub2-mkconfig -o /boot/grub2/grub.cfg

重新啟動後,我用來nmtui配置適配器,它使用以下參數建構了配置文件:

DEVICE=        em1        em2
ONBOOT=        yes        yes
BOOTPROTO=     dhcp       dhcp
DEFROUTE=      yes        no
PEERDNS=                  no
PEERROUTES=               no

我需要em1作為主要/預設介面,em2專用於 iSCSI;然而問題是em2仍在添加預設路由。重啟後:

$ ip route show
default via 172.16.250.1 dev em2       <-- WRONG
default via 172.16.100.1 dev em1 proto dhcp metric 100
172.16.100.0/24 dev em1 proto kernel scope link src 172.16.100.100
172.16.100.0/24 dev em1 proto kernel scope link src 172.16.100.100 metric 100
172.16.250.0/24 dev em2 proto kernel scope link src 172.16.250.100
172.16.250.0/24 dev em2 proto kernel scope link src 172.16.250.100 metric 101

沒有路由配置文件。

以下是一些相關的 nmcli 選項:

$ nmcli c show $if | grep ipv4

                          em1          em2
ipv4.routes                --           --
ipv4.route-metric          -1           -1
ipv4.route-table           0 (unspec)   0 (unspec)
ipv4.routing-rules         --           --
ipv4.ignore-auto-routes    no           yes
ipv4.ignore-auto-dns       no           yes
ipv4.never-default         no           yes

我不確定是什麼產生了這條額外的路線,我如何檢查是什麼產生了它並阻止它?

看起來您正在通過 DHCPv4 獲取 IP 地址。在這種情況下,預設情況下,預設網關將根據 DHCP 伺服器發送的任何內容進行設置。如果您在兩個不同的介面上使用 DHCP,就像您在此處所做的那樣,您可能會獲得兩個網關 - 在這種情況下會發生衝突。

您可以通過顯式配置連接來告訴 NetworkManager 忽略其中一個網關,如下所示。

例如(將連接的實際名稱替換為em2):

nmcli c mod em2 ipv4.never-default yes

這將導致 DHCP 伺服器的預設網關被忽略。等效的 GUI 選項是:“僅將此連接用於其網路上的資源”。


此外,我懷疑當它啟動網路介面(使用 dhcp)時,您的神秘額外路由來自 dracut。您應該考慮在核心命令行上手動配置em2介面,而不是使用 DHCP。


最後,您應該與您的網路人員就為什麼在您的儲存網路上發布預設網關進行長時間的交談。

引用自:https://serverfault.com/questions/1026830