|
在某些场景中,我们希望在Linux服务器(CentOS / RHEL)上的同一网卡分配来自不同VLAN的多个ip。这可以通过启用VLAN标记接口来实现,但要实现这一点,首先必须确保交换机上添加多个vlan。
假设我们有一个Linux服务器,其中有两个以太网卡(ens33和ens38),第一个网卡(ens33)用于数据流量,第二个网卡(ens38)用于控制/管理流量。对于数据流,将使用多个vlan(将在数据流网卡上分配来自不同vlan的多个ip)。 假设从交换机连接到服务器数据流量网卡的端口被配置为Trunk,通过映射多个vlan到它。下面是映射到数据流量网卡的vlan:
在CentOS 7 /RHEL 7 / CentOS 8 /RHEL 8系统上使用VLAN标记接口,必须加载内核模块8021q。 # 先列出模块,发现没有8021q模块。使用以下命令加载内核模块“8021q” [root@localhost ~]# lsmod | grep -i 8021q9 _# O9 x, v, J( n/ w, J9 m' B # 加载模块8 R+ j8 D: Q8 N$ j8 d [root@localhost ~]# modprobe --first-time 8021q [root@localhost ~]# lsmod | grep -i 8021q4 s6 r. _4 R, I5 ] 8021q 33080 0 6 s3 t: }, O- L7 @ garp 14384 1 8021q mrp 18542 1 8021q. E& b* _; h1 t- c" H$ x 使用modinfo命令列出8021q的信息: [root@localhost ~]# modinfo 8021q* p* {4 T! {; d, S) Y3 Y' ~) K! z1 W8 H+ M. f9 `( p1 e
. j6 H2 K3 K# m" ~* N \ # 创建vlan 200和vlan 300现在使用ip命令创建vlan 200和vlan 300到ens33网卡: [root@localhost ~]# ip link add link ens33 name ens33.200 type vlan id 200$ k( J$ Z, D. o9 l2 {& Y p [root@localhost ~]# ip link add link ens33 name ens33.300 type vlan id 300
发现ens33.200和ens33.300的链路状态为DOWN,下面启用它们。 [root@localhost ~]# ip link set ens33.200 up0 ~9 l% ?0 z) H+ T1 i5 N8 K [root@localhost ~]# ip link set ens33.300 up
下面为两个vlan 分配ip地址: [root@localhost ~]# ip address add 172.168.20.51/24 dev ens33.300 ' s! D0 ^. w) e- @; L
可以看到ens33.200和ens33.300已经配置好ip地址了。 但是上面使用ip address添加的VLAN和地址不会永久生效的。重启系统之后都不存在了。我们需要把这些配置保存在配置文件里面。 首先修改ifcfg-ens33的配置文件,其次创建ifcfg-ens33.200和ifcfg-ens33.300配置文件: [root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33 }$ Q$ v, ?# r1 v5 o2 C, z TYPE=Ethernet. u3 ~+ f* i. Q! g BOOTPROTO=none DEVICE=ens33' K# x- I2 y- F# j. L ONBOOT=yes n- [+ m* Z& \1 ?" e 接下来为vlan 200创建配置文件,命名为ifcfg-ens33.200 [root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33.200$ m/ u; E S1 C5 \ y8 Q4 ~ B# @7 |5 { DEVICE=ens33.200 BOOTPROTO=none ONBOOT=yes IPADDR=172.168.10.51% O/ d! s6 n4 f: _" W6 ~ PREFIX=24: F' Y. |% E, X NETWORK=172.168.10.0 VLAN=yes+ o4 v* F! n2 T5 ^8 r 接下来为vlan 300创建配置文件,命名为ifcfg-ens33.300 [root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33.300DEVICE=ens33.3006 b$ @. S0 h( f$ ~' x5 W BOOTPROTO=none1 q) ^9 o7 I% ` ^' { ONBOOT=yes IPADDR=172.168.20.518 E; X- a. I* o2 e, S PREFIX=24 NETWORK=172.168.20.0 VLAN=yes3 n; p% \: N, ?$ Y' c ! k9 f1 Q+ y- \! s0 c/ ` 编辑完配置文件,重启一下网络服务。 [root@localhost ~]# systemctl restart network
- P9 G u* h4 p n: a l/ L 可以看到vlan200,300的信息都没有消失。 |
微信公众号
手机版