Linux

標記 VLAN 並將 IP 地址添加到 Linux 伺服器

  • December 14, 2017

我被告知要標記 VLAN 並將 IP 地址添加到 Linux 伺服器。它正在使用/etc/sysconfig/network-scripts/.

我以前從未嘗試過。

有多個 VLAN 具有不同的 IP 子網,一些 VLAN 具有相同的 IP 子網。

物理伺服器在埠 2 和 3 中有 2 個乙太網,並且兩個乙太網都包含相同的 VLAN。

我的方法是ifcfg-eth1.101為我的第一個 IP 地址添加以下內容,用於 VLAN 101:

DEVICE=eth1.101
BOOTPROTO=static
ONBOOT=yes
IPADDR=23.543.11.10
NETMASK=255.255.255.255
USERCTL=no
NETWORK=23.543.11.1
VLAN=yes

…然後執行ifup eth1.101systemctl restart network.service

這是正確的,我錯過了什麼嗎?

對於任何不使用NetworkManager.

如果您有兩個具有相同 VLAN 的 NIC,您可能希望首先將埠綁定在一起(即 bondeth1eth2into bond0),然後將 VLAN 掛在綁定上(即,而不是ifcfg-eth1.101withDEVICE=eth1.101使用ifcfg-bond0.101withDEVICE=bond0.101等)

使用綁定時,請記住選擇BONDING_OPTS="mode=active-backup"綁定模式,除非您已與網路管理員確認可以使用預設balance-rr綁定模式(或任何其他綁定模式)。使用託管交換機,balance-rr可能會在交換機和/或路由器中導致“MAC 地址抖動”警告,這可能會惹惱網路管理員。如果在交換機上啟用了 MAC 地址劫持保護,使用balance-rr可能看起來像是劫持嘗試並導致誤報。

如果您在 VLAN 上需要多個 IP 地址,則額外 IP 的語法是(對於綁定介面)ifcfg-bond0.101“主介面”的文件名,ifcfg-bond0.101:0第一個額外 IP 地址,依此類推。句點後面的數字是VLAN號,冒號後面的數字是額外IP的索引號。

ifcfg-bond0.101:0文件的內容應類似於僅配置一個 IP 地址時的內容:

DEVICE=eth0.101:0
BOOTPROTO=static
IPADDR=xx.xx.xx.xx
NETMASK=255.255.255.0
ONBOOT=yes
VLAN=yes

請注意,以這種方式在 VLAN 上配置 IP 別名保證僅在 RHEL/CentOS 5 及更高版本上受支持;它可能是在 4.x 中期發布週期中添加的,但我不確定。

對於較舊的作業系統版本,您必須編寫自定義腳本來手動初始化 IP 別名ifconfig,因為initscripts4.x 中的包最初沒有處理這種組合的能力。

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