rhel7中根據是否啓用了NetworkManager服務,有2種配置vlan的方法,外加使用ip命令,一共是3種方法:
1 如果啓用了NetworkManager:方法1:使用nmtui圖形化工具來配置;方法2:使用nmcli命令行來配置:nmcli connection add type vlan ifname eth0.10 con-name myvlan id 10 dev eth0 ip4 192.168.1.10/24 gw4 192.168.1.1
2 如果沒有啓用NetworkManager:直接修改網卡的配置文件
3 使用ip命令來配置vlan:ip link add link eth0 name eth0.8 type vlan id 8;ip -d link show eth0.8;刪除vlan接口ip link delete eth0.8
本項目中由於安全加固關閉了NetworkManager服務,因此採用第2種方式來配置vlan
注意:
1 要創建vlan,需要在上級接口中創建一個接口,使vlan接口爲數據包添加vlan標記,對返回的包取消標記
2 如果綁定接口的配置文件中有fail_over_mac=follow,那該綁定接口不支持配置vlan接口
3 配置vlan的接口需要上聯交換機進行配置vlan或者trunk
4 如果使用ip命令來配置vlan,當reboot後,配置會丟失;直接修改配置文件的方法在reboot後不會丟失配置
需求:
在p5p1端口上配置vlan 300,指定到36個地址的靜態路由(這裏不舉例,和rhel6中配置一樣,也是在/etc/sysconfig/static-route中配置)
在p5p2端口上配置vlan 400,默認網關在該接口上
以下爲配置步驟
step1:加載模塊
modprobe --first-time 8021q
modinfo 8021q
注意:配置好了vlan,重啓後系統也會自動加載8021q模塊
step2:配置vlan接口
先配置上級接口p5p1和p5p2 ##p5p2和p5p1配置一樣,這裏就不貼了
more ifcfg-p5p1
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=p5p1
#UUID=5ef13abe-d107-4672-bcb2-6415e8ca07d6
DEVICE=p5p1
ONBOOT=yes
#IPADDR=XXXXXX
#NETMASK=XXXXXX
必須要註釋掉IP和netmask,這兩個需要配置在vlan端口上
之後配置vlan接口
vim ifcfg-p5p1.300 ##p5p1是上級接口,vlan id爲300
DEVICE=p5p1.300
BOOTPROTO=none
ONBOOT=yes
IPADDR=XXXXXX
NETMASK=XXXXXX
VLAN=yes
vim ifcfg-p5p2.400 ##p5p2是上級接口,vlan id爲400.我這裏是兩個物理網口,每個物理網口配置一個vlan
DEVICE=p5p2.400
BOOTPROTO=none
ONBOOT=yes
IPADDR=XXXXXX
NETMASK=XXXXXX
GATEWAY=XXXXXX
VLAN=yes
step3:重啓網絡服務
systemctl restart network
注意:
物理設備或者vlan接口配置BOOTPROTO=static或者是none都可以,詳見https://access.redhat.com/solutions/39674
如果在一個物理接口上需要配置多個vlan,只需要在添加ifcfg-p5p1.500即可
step4:查看vlan配置信息
ip a
6: p5p1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
link/ether b4:96:91:1d:6d:84 brd ff:ff:ff:ff:ff:ff
inet6 fe80::b696:91ff:fe1d:6d84/64 scope link
valid_lft forever preferred_lft forever
7: p5p2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
link/ether b4:96:91:1d:6d:86 brd ff:ff:ff:ff:ff:ff
inet6 fe80::b696:91ff:fe1d:6d86/64 scope link
valid_lft forever preferred_lft forever
12: p5p1.300@p5p1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP qlen 1000
link/ether b4:96:91:1d:6d:84 brd ff:ff:ff:ff:ff:ff
inet XXXXXX brd XXXXXX scope global p5p1.300
valid_lft forever preferred_lft forever
inet6 fe80::b696:91ff:fe1d:6d84/64 scope link
valid_lft forever preferred_lft forever
13: p5p2.400@p5p2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP qlen 1000
link/ether b4:96:91:1d:6d:86 brd ff:ff:ff:ff:ff:ff
inet XXXXXX brd XXXXXX scope global p5p2.400
valid_lft forever preferred_lft forever
inet6 fe80::b696:91ff:fe1d:6d86/64 scope link
valid_lft forever preferred_lft forever
cat /proc/net/vlan/config
VLAN Dev name | VLAN ID
Name-Type: VLAN_NAME_TYPE_RAW_PLUS_VID_NO_PAD
p5p1.300 | 300 | p5p1
p5p2.400 | 400 | p5p2
cat /proc/net/vlan/p5p1.300
p5p1.300 VID: 300 REORDER_HDR: 1 dev->priv_flags: 1
total frames received 0
total bytes received 0
Broadcast/Multicast Rcvd 0
total frames transmitted 25
total bytes transmitted 3802
Device: p5p1
INGRESS priority mappings: 0:0 1:0 2:0 3:0 4:0 5:0 6:0 7:0
EGRESS priority mappings:
cat /proc/net/vlan/p5p2.400
p5p2.400 VID: 400 REORDER_HDR: 1 dev->priv_flags: 1
total frames received 0
total bytes received 0
Broadcast/Multicast Rcvd 0
total frames transmitted 25
total bytes transmitted 3814
Device: p5p2
INGRESS priority mappings: 0:0 1:0 2:0 3:0 4:0 5:0 6:0 7:0
EGRESS priority mappings:
#################################
如果啓用了NetworkManager服務,還可以使用如下命令查看vlan信息
[root@test ~]# nmcli con show
NAME UUID TYPE DEVICE
team0 slave 1 b643da79-127d-4b91-b68b-73376640543d 802-3-ethernet eth1
team0.10 92c61b73-bddb-4fa3-9dda-549618a51dc9 vlan --
team0 slave 0 780454b4-9b00-4cc4-901d-4c657dfe6d84 802-3-ethernet eth0
vlan10 c1711904-5ddc-4efe-930a-11061141970e vlan vlan10
VLAN connection team0.1001 9f26912d-7690-463a-ad8d-367e7bb38955 vlan team0.1001
Team connection team0 ebc808b8-f81e-4838-8fbd-0b28a2a81ad5 team team0
VLAN connection team0.10 b50bc16b-952d-4572-abb0-10f262c61f0d vlan --
也可以查看nmcli -p con show vlan12