注意事項:
自定義VLAN網絡網段不能與現有的物理機上已經配置的網段重疊。
下面以SUSE Linux Enterprise Server 12 SP1 (x86_64)操作系統為例,舉例介紹物理機的自定義VLAN網絡配置方法:
步驟 1 以“root”用戶,使用密鑰或密碼登錄物理機。
步驟 2 進入物理機的命令行界面,查詢網卡信息。
ip link
返回信息示例如下:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default
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:3d:1c:e0 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:3d:1c:e0 brd ff:ff:ff:ff:ff:ff
4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state DOWN mode DEFAULT group default qlen 1000
link/ether 38:4c:4f:89:55:8d brd ff:ff:ff:ff:ff:ff
5: eth3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state DOWN mode DEFAULT group default qlen 1000
link/ether 38:4c:4f:89:55:8e 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
link/ether fa:16:3e:3d:1c:e0 brd ff:ff:ff:ff:ff:ff
7: bond0.3133@bond0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 8888 qdisc noqueue state UP mode DEFAULT group default
link/ether fa:16:3e:57:87:6e brd ff:ff:ff:ff:ff:ff
說明其中,“eth0”和“eth1”為承載VPC網絡的網絡設備,“eth2”和“eth3”為承載自定義VLAN網絡的網絡設備。
步驟 3 設置udev規則。
執行以下命令創建“80-persistent-net.rules”文件。
cp /etc/udev/rules.d/70-persistent-net.rules /etc/udev/rules.d/80-persistent-net.rules
將步驟2中查詢到的,且“80-persistent-net.rules”中未體現的網卡MAC地址和名稱,寫入該文件中,使得物理機重啟復位后,網卡名稱和順序不會發生改變。
說明網卡的MAC地址和名稱中的字母,請使用小寫字母。
vim /etc/udev/rules.d/80-persistent-net.rules
修改后的示例如下:
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="38:4c:4f:29:0b:e0", NAME="eth0"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="38:4c:4f:29:0b:e1", NAME="eth1"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="38:4c:4f:89:55:8d", NAME="eth2"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="38:4c:4f:89:55:8e", NAME="eth3"
修改完成后,保存并退出。
步驟 4 查詢網卡的IP信息。
ifconfig
返回信息示例如下,其中的“bond0”和“bond0.313”為申請物理機時自動分配的網卡平面IP地址。
bond0 Link encap:Ethernet HWaddr FA:16:3E:3D:1C:E0
inet addr:10.0.1.2 Bcast:10.0.1.255 Mask:255.255.255.0
inet6 addr: fe80::f816:3eff:fe3d:1ce0/64 Scope:Link
UP BROADCAST RUNNING MASTER MULTICAST MTU:8888 Metric:1
RX packets:852 errors:0 dropped:160 overruns:0 frame:0
TX packets:1121 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:125429 (122.4 Kb) TX bytes:107221 (104.7 Kb)
bond0.313 Link encap:Ethernet HWaddr FA:16:3E:57:87:6E
inet addr:10.0.3.2 Bcast:10.0.3.255 Mask:255.255.255.0
inet6 addr: fe80::f816:3eff:fe57:876e/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:8888 Metric:1
RX packets:169 errors:0 dropped:0 overruns:0 frame:0
TX packets:13 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:8684 (8.4 Kb) TX bytes:1696 (1.6 Kb)
eth0 Link encap:Ethernet HWaddr FA:16:3E:3D:1C:E0
UP BROADCAST RUNNING SLAVE MULTICAST MTU:8888 Metric:1
RX packets:428 errors:0 dropped:10 overruns:0 frame:0
TX packets:547 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:64670 (63.1 Kb) TX bytes:50132 (48.9 Kb)
eth1 Link encap:Ethernet HWaddr FA:16:3E:3D:1C:E0
UP BROADCAST RUNNING SLAVE MULTICAST MTU:8888 Metric:1
RX packets:424 errors:0 dropped:7 overruns:0 frame:0
TX packets:574 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:60759 (59.3 Kb) TX bytes:57089 (55.7 Kb)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:8 errors:0 dropped:0 overruns:0 frame:0
TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:520 (520.0 b) TX bytes:520 (520.0 b)
步驟 5 查詢組成bond的網卡的名稱。
已組成bond且在使用中的網卡,不能用于內部通信平面,因此需要查詢相應的網卡名稱。
cd /etc/sysconfig/network
vi ifcfg-bond0
返回信息示例如下,可見“bond0”由“eth0”和“eth1”組成。
BONDING_MASTER=yes
TYPE=Bond
STARTMODE=auto
BONDING_MODULE_OPTS="mode=4 xmit_hash_policy=layer3+4 miimon=100"
NM_CONTROLLED=no
BOOTPROTO=dhcp
DEVICE=bond0
USERCONTRL=no
LLADDR=fa:16:3e:3d:1c:e0
BONDING_SLAVE1=eth1
BONDING_SLAVE0=eth0
查詢完成后,退出。
步驟 6 查詢所有網卡的狀態。
ip link
返回信息示例如下:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default
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:3d:1c:e0 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:3d:1c:e0 brd ff:ff:ff:ff:ff:ff
4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state DOWN mode DEFAULT group default qlen 1000
link/ether 38:4c:4f:89:55:8d brd ff:ff:ff:ff:ff:ff
5: eth3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state DOWN mode DEFAULT group default qlen 1000
link/ether 38:4c:4f:89:55:8e 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
link/ether fa:16:3e:3d:1c:e0 brd ff:ff:ff:ff:ff:ff
7: bond0.3133@bond0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 8888 qdisc noqueue state UP mode DEFAULT group default
link/ether fa:16:3e:57:87:6e brd ff:ff:ff:ff:ff:ff
步驟 7 將所有狀態為“qdisc mq state DOWN”的網卡,設置為“qdisc mq state UP”,示例中為“eth2”和“eth3”。
ip link set eth2 up
ip link set eth3 up
步驟 8 重新查詢網卡的狀態。
ip link
返回信息示例如下:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default
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:3d:1c:e0 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:3d:1c:e0 brd ff:ff:ff:ff:ff:ff
4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
link/ether 38:4c:4f:89:55:8d brd ff:ff:ff:ff:ff:ff
5: eth3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
link/ether 38:4c:4f:89:55:8e 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
link/ether fa:16:3e:3d:1c:e0 brd ff:ff:ff:ff:ff:ff
7: bond0.3133@bond0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 8888 qdisc noqueue state UP mode DEFAULT group default
link/ether fa:16:3e:57:87:6e brd ff:ff:ff:ff:ff:ff
- 查看步驟8中對應的網卡的狀態,獲取狀態為“qdisc mq state UP”的網卡名稱。
只有狀態為“qdisc mq state UP”且未被使用過的網卡,才能組成bond,示例中為“eth2”和“eth3”。
“eth2”的LLADR為“38:4c:4f:89:55:8d”,“eth3”的LLADR為“38:4c:4f:89:55:8e”。
- 創建“eth2”和“eth3”網卡的配置文件。
可通過復制已有網卡配置文件的方式快速創建。
cp ifcfg-eth0 ifcfg-eth2
cp ifcfg-eth1 ifcfg-eth3
- 修改“eth2”和“eth3”網卡的配置文件。
vi ifcfg-eth2
vi ifcfg-eth3
“eth2”網卡配置文件的修改示例如下。
其中,參數參數“MTU”配置為“8888”,“BOOTPROTO”需要配置為“STATIC”,參數“DEVICE”、“LLADDR”根據實際需要填寫。
STARTMODE=auto
MTU=8888
NM_CONTROLLED=no
BOOTPROTO=STATIC
DEVICE=eth2
USERCONTRL=no
LLADDR=38:4c:4f:89:55:8d
TYPE=Ethernet
“eth3”網卡配置文件的修改示例如下:
STARTMODE=auto
MTU=8888
NM_CONTROLLED=no
BOOTPROTO=STATIC
DEVICE=eth3
USERCONTRL=no
LLADDR=38:4c:4f:89:55:8e
TYPE=Ethernet
修改完成后,保存并退出。
- 將“eth2”和“eth3”組bond,假設為“bond1”。
創建ifcfg-bond1文件并修改配置。
cp ifcfg-bond0 ifcfg-bond1
vi ifcfg-bond1
“bond1”網卡配置文件的修改示例如下。
其中,參數“MTU”配置為“8888”,“BONDING_MODULE_OPTS”配置為“mode=1 miimon=100”,“BOOTPROTO”需要配置為“STATIC”,“DEVICE”、“BONDING_SLAVE1”、“BONDING_SLAVE0”、“IPADDR”、“NETMASK”、“NETWORK”根據實際需要填寫,“LLADDR”配置為參數“BONDING_SLAVE1”對應網卡的LLADDR。
BONDING_MASTER=yes
TYPE=Bond
MTU=8888
STARTMODE=auto
BONDING_MODULE_OPTS="mode=1 miimon=100"
NM_CONTROLLED=no
BOOTPROTO=STATIC
DEVICE=bond1
USERCONTRL=no
LLADDR=38:4c:4f:89:55:8d
BONDING_SLAVE1=eth2
BONDING_SLAVE0=eth3
IPADDR=10.0.2.2
NETMASK=255.255.255.0
NETWORK=10.0.2.0
修改完成后,保存并退出。
- 使配置文件生效。
- 創建臨時目錄,并將網絡配置文件復制到該目錄下。
mkdir /opt/tmp/
mkdir /opt/tmp/xml
cp /etc/sysconfig/network/ifcfg* /opt/tmp/
cp /etc/sysconfig/network/config /opt/tmp/
cp /etc/sysconfig/network/dhcp /opt/tmp/
- 停止待組成bond1的網卡。
ip link set eth2 down
ip link set eth3 down
- 將網卡配置文件轉換成操作系統可辨識的配置文件。
/usr/sbin/wicked --log-target=stderr --log-level=debug3 --debug all convert --output /opt/tmp/xml /opt/tmp/
- 重新啟用待組成bond1的網卡。
/usr/sbin/wicked --log-target=stderr --log-level=debug3 --debug all ifup --ifconfig /opt/tmp/xml/eth2.xml eth2
ip link set eth3 up
/usr/sbin/wicked --log-target=stderr --log-level=debug3 --debug all ifup --ifconfig /opt/tmp/xml/eth3.xml eth3
/usr/sbin/wicked --log-target=stderr --log-level=debug3 --debug all ifup --ifconfig /opt/tmp/xml/bond1.xml bond1
- 重新查詢IP地址信息,可查看到IP地址已分配。
ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 8888 qdisc mq master bond0 state UP group default qlen 1000
link/ether fa:16:3e:3d:1c:e0 brd ff:ff:ff:ff:ff:ff
3: eth1: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 8888 qdisc mq master bond0 state UP group default qlen 1000
link/ether fa:16:3e:3d:1c:e0 brd ff:ff:ff:ff:ff:ff
4: eth2: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 8888 qdisc mq master bond1 state UP group default qlen 1000
link/ether 38:4c:4f:89:55:8d brd ff:ff:ff:ff:ff:ff
5: eth3: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 8888 qdisc mq master bond1 state UP group default qlen 1000
link/ether 38:4c:4f:89:55:8d brd ff:ff:ff:ff:ff:ff
6: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 8888 qdisc noqueue state UP group default
link/ether fa:16:3e:3d:1c:e0 brd ff:ff:ff:ff:ff:ff
inet 10.0.1.2/24 brd 10.0.1.255 scope global bond0
valid_lft forever preferred_lft forever
inet6 fe80::f816:3eff:fe3d:1ce0/64 scope link
valid_lft forever preferred_lft forever
7: bond0.3133@bond0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 8888 qdisc noqueue state UP group default
link/ether fa:16:3e:57:87:6e brd ff:ff:ff:ff:ff:ff
inet 10.0.3.2/24 brd 10.0.2.255 scope global bond0.3133
valid_lft forever preferred_lft forever
inet6 fe80::f816:3eff:fe57:876e/64 scope link
valid_lft forever preferred_lft forever
8: bond1: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 8888 qdisc noqueue state UP group default
link/ether 38:4c:4f:89:55:8d brd ff:ff:ff:ff:ff:ff
inet 10.0.2.2/24 brd 10.0.2.255 scope global bond1
valid_lft forever preferred_lft forever
inet6 fe80::3a4c:4fff:fe29:b36/64 scope link
valid_lft forever preferred_lft forever
示例如下:
- 刪除創建的臨時目錄。
cd /opt
rm -rf tmp/
- 參考上述步驟,完成其他物理機上的配置。