注意事項:
自定義VLAN網絡網段不能與現有的物理機上已經配置的網段重疊。
下面以Ubuntu 16.04 LTS (Xenial Xerus x86_64)操作系統為例,舉例介紹物理機的自定義VLAN網絡配置方法:
說明Ubuntu系列其他操作系統的配置方法與Ubuntu 16.04 LTS (Xenial Xerus x86_64)類似。
步驟 1 以“root”用戶,使用密鑰或密碼登錄物理機。
步驟 2 進入物理機的命令行界面,查詢網卡信息。
ip link
返回信息示例如下:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 8888 qdisc mq master bond0 state UP mode DEFAULT group default qlen 1000
link/ether fa:16:3e:1c:35:37 brd ff:ff:ff:ff:ff:ff
3: eth1: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 8888 qdisc mq master bond0 state UP mode DEFAULT group default qlen 1000
link/ether fa:16:3e:1c:35:37 brd ff:ff:ff:ff:ff:ff
4: enp129s0f0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/ether f4:4c:7f:3f:da:07 brd ff:ff:ff:ff:ff:ff
5: enp129s0f1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/ether f4:4c:7f:3f:da:08 brd ff:ff:ff:ff:ff:ff
6: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 8888 qdisc noqueue state UP mode DEFAULT group default qlen 1000
link/ether fa:16:3e:1c:35:37 brd ff:ff:ff:ff:ff:ff
說明其中,“eth0”和“eth1”為承載VPC網絡的網絡設備,“enp129s0f0”和“enp129s0f1”為承載自定義VLAN網絡的網絡設備。下面步驟將使用“enp129s0f0”和“enp129s0f1”配置自定義VLAN網絡。
步驟 3 執行以下命令,查看“/etc/udev/rules.d/”目錄下是否有“80-persistent-net.rules”配置文件。
/etc/udev/rules.d/ | grep 80-persistent-net.rules
- 如果存在“80-persistent-net.rules”,且該配置文件中已存在步驟2中查詢到的除“bond0”和“lo”以外的其它所有網卡和對應的MAC地址,請執行步驟6。
- 否則,繼續執行步驟4。
步驟 4 執行以下命令,將“/etc/udev/rules.d/70-persistent-net.rules”文件拷貝一份(文件名為“/etc/udev/rules.d/80-persistent-net.rules”)。
cp -p /etc/udev/rules.d/70-persistent-net.rules /etc/udev/rules.d/80-persistent-net.rules
步驟 5 設置udev規則。
將步驟2中查詢到的除“lo”、“eth0”、“eth1”和“bond0”以外的網卡和MAC對應關系添加到“/etc/udev/rules.d/80-persistent-net.rules”文件中,使得物理機重啟復位后,網卡名稱和順序不會發生改變。
說明網卡的MAC地址和名稱中的字母,請使用小寫字母。
vim /etc/udev/rules.d/80-persistent-net.rules
修改后的示例如下:
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="e8:4d:d0:c8:99:5b", NAME="eth0"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="e8:4d:d0:c8:99:5c", NAME="eth1"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="f4:4c:7f:3f:da:07", NAME="enp129s0f0"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="f4:4c:7f:3f:da:08", NAME="enp129s0f1"
修改完成后,按“Esc”,輸入":wq" 保存并退出。
步驟 6 執行以下命令,將網卡配置文件“/etc/network/interfaces.d/50-cloud-init.cfg”拷貝為“/etc/network/interfaces.d/60-cloud-init.cfg”。
cp -p /etc/network/interfaces.d/50-cloud-init.cfg /etc/network/interfaces.d/60-cloud-init.cfg
步驟 7 執行以下命令,編輯“/etc/network/interfaces.d/60-cloud-init.cfg”,配置“enp129s0f0”設備和“enp129s0f1”設備的網絡配置文件“/etc/network/interfaces.d/60-cloud-init.cfg”。
vim /etc/network/interfaces.d/60-cloud-init.cfg
按如下格式編輯:
auto enp129s0f0
iface enp129s0f0 inet manual
bond_mode 1
bond-master bond1
bond_miimon 100
mtu 8888
auto enp129s0f1
iface enp129s0f1 inet manual
bond_mode 1
bond-master bond1
bond_miimon 100
mtu 8888
auto bond1
iface bond1 inet static
bond_miimon 100
bond-slaves none
bond_mode 1
address 10.10.10.3
netmask 255.255.255.0
hwaddress f4:4c:7f:3f:da:07
mtu 8888
其中
- “enp129s0f0”和“enp129s0f1”為承載自定義VLAN網絡配置的網卡名稱。
- “hwaddress”為“enp129s0f0”設備對應的MAC地址。
- “address”的取值為給自定義VLAN網絡“bond1”配置的IP(給自定義VLAN網絡規劃的IP地址在沒有與VPC網段沖突的情況下可任意規劃,需要通過自定義VLAN網絡通信的物理機須將自定義VLAN網絡配置在同一個網段)。
- “netmask”的取值為給自定義VLAN網絡“bond1”配置的IP的掩碼。
各個設備的其他參數可參考如上信息進行配置,如“mtu”配置為“8888”,“bond_miimon”配置為“100”,“bond_mode”配置為“1”等。
修改完成后,按“Esc”,輸入":wq" 保存并退出。
步驟 8 執行以下命令,重啟網絡。
fup enp129s0f0
ifup enp129s0f1
說明其中,“enp129s0f0”和“enp129s0f1”分別為承載自定義VLAN網絡的網卡。
步驟 9 執行以下命令,查看網卡設備的狀態和“bond1”配置文件是否生效。
ip link
ifconfig
步驟 10 參見上述步驟,完成其他物理機的配置。
步驟 11 待其他物理機配置完成后,互相ping對端自定義VLAN網絡配置的同網段IP,檢查是否可以ping通。