你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

在 Linux 上如何划分VLAN

[复制链接]
gaosmile 发布时间:2020-12-18 19:08

在某些场景中,我们希望在Linux服务器(CentOS / RHEL)上的同一网卡分配来自不同VLAN的多个ip。这可以通过启用VLAN标记接口来实现,但要实现这一点,首先必须确保交换机上添加多个vlan。
0 R6 _$ x" a: z, o4 ?" T; k

微信图片_20201218190639.png
假设我们有一个Linux服务器,其中有两个以太网卡(ens33和ens38),第一个网卡(ens33)用于数据流量,第二个网卡(ens38)用于控制/管理流量。对于数据流,将使用多个vlan(将在数据流网卡上分配来自不同vlan的多个ip)。
假设从交换机连接到服务器数据流量网卡的端口被配置为Trunk,通过映射多个vlan到它。下面是映射到数据流量网卡的vlan:
  • VLAN ID (200),172.168.10.0/24
  • VLAN ID (300),172.168.20.0/24
    # s% N" q" ]  a' c# z; p7 y  ~2 t
在CentOS 7 /RHEL 7 / CentOS 8 /RHEL 8系统上使用VLAN标记接口,必须加载内核模块8021q。
" f! v- M0 S2 I4 x3 L* |8 A使用以下命令加载内核模块“8021q”
# 先列出模块,发现没有8021q模块。
# h8 T6 H. Y( b% Z[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
) X" a( o2 ~3 N6 P$ d% D& C1 W[root@localhost ~]# lsmod | grep -i 8021q4 s6 r. _4 R, I5 ]
8021q                  33080  0 6 s3 t: }, O- L7 @
garp                   14384  1 8021q
2 I9 f: B& o: l& c( l' fmrp                    18542  1 8021q. E& b* _; h1 t- c" H$ x

2 ~! l& D1 p& t  y: E
使用modinfo命令列出8021q的信息:
[root@localhost ~]# modinfo 8021q* p* {4 T! {; d, S) Y3 Y
' ~) K! z1 W8 H+ M. f9 `( p1 e
微信图片_20201218190643.png
. j6 H2 K3 K# m" ~* N  \
现在使用ip命令创建vlan 200和vlan 300到ens33网卡:
# 创建vlan 200和vlan 300
) F2 k* S5 u" \) `( H0 c[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
, i6 G% P, k% h: X' D) u

. {* J2 S/ P4 w
微信图片_20201218190646.png

$ w# ~' U& }' u发现ens33.200和ens33.300的链路状态为DOWN,下面启用它们。
# 启用vlan 200 和vlan 300( B: z1 I$ }4 ^
[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
: W% _8 j5 j! X7 V9 I

; k, M, Y4 N* O/ z6 T% _# g
微信图片_20201218190649.png

5 o8 e+ w8 T. i% Y  J下面为两个vlan 分配ip地址:
[root@localhost ~]# ip address add 172.168.10.51/24 dev ens33.2008 P0 T6 g4 {7 v! {. z# c
[root@localhost ~]# ip address add 172.168.20.51/24 dev ens33.300
1 c, N7 C# }7 A5 @" C) f
' s! D0 ^. w) e- @; L
微信图片_20201218190653.png

3 t& s' z) N5 K% n' N  T" n5 H可以看到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
0 B( E; a& g% h: }5 ~3 I  }$ Q$ v, ?# r1 v5 o2 C, z
TYPE=Ethernet. u3 ~+ f* i. Q! g
BOOTPROTO=none
  R' K2 x$ c# }, P2 @% i! W9 _DEVICE=ens33' K# x- I2 y- F# j. L
ONBOOT=yes
9 D: ]. A2 L3 F5 {/ ^+ U
  n- [+ m* Z& \1 ?" e

. ?* f2 X) _0 `) ~
接下来为vlan 200创建配置文件,命名为ifcfg-ens33.200
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33.200$ m/ u; E  S1 C5 \  y
8 Q4 ~  B# @7 |5 {
DEVICE=ens33.200
- V7 B. t( n- y$ DBOOTPROTO=none
! q2 g; }2 z5 c" u8 o9 sONBOOT=yes
4 Z+ ^9 Q! P! c/ ~* w  sIPADDR=172.168.10.51% O/ d! s6 n4 f: _" W6 ~
PREFIX=24: F' Y. |% E, X
NETWORK=172.168.10.0
  b! y" F4 o9 }3 S# kVLAN=yes+ o4 v* F! n2 T5 ^8 r

! C% f8 z+ e6 w# L6 |& Q2 }( c
接下来为vlan 300创建配置文件,命名为ifcfg-ens33.300
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33.300
" o) n* ~0 l0 U6 p, \* y8 ]
  \" A* K4 O: r9 m; Y% \9 H  DDEVICE=ens33.3006 b$ @. S0 h( f$ ~' x5 W
BOOTPROTO=none1 q) ^9 o7 I% `  ^' {
ONBOOT=yes
& f7 c5 Q8 i  F( k9 x  @5 P! YIPADDR=172.168.20.518 E; X- a. I* o2 e, S
PREFIX=24
! }% Y7 a0 |# r% Q: x5 [NETWORK=172.168.20.0
. a. Y+ ~1 v1 y8 S+ q# k3 h) AVLAN=yes3 n; p% \: N, ?$ Y' c
! k9 f1 Q+ y- \! s0 c/ `
编辑完配置文件,重启一下网络服务。
[root@localhost ~]# systemctl restart network
# x5 X2 `3 A2 ~" L3 k& m) K1 [

2 x, C8 P2 L& B- r! y8 n' c" q
微信图片_20201218190656.png
- P9 G  u* h4 p  n: a  l/ L
可以看到vlan200,300的信息都没有消失。

$ [7 d: ~* U) [) ^9 q- \1 k+ b
赞 收藏 评论0 发布时间:2020-12-18 19:08

举报

0个回答
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版