1. 配置网卡子接口的好处
1.1. 优点
在 Linux 中,配置网卡子接口(也称为虚拟接口或 VLAN 接口)主要是为了实现网络的逻辑分段和隔离,每个子接口都有自己的 IP 地址和网络配置,可以在同一个物理网卡上创建多个独立的网络连接环境。这有以下几个主要好处:
-
网络隔离:可以将不同的服务或部门的网络流量隔离开,防止不同服务之间的数据包混淆,提升网络安全。
-
VLAN划分:在企业网络中,VLAN(Virtual Local Area Network)常用于划分广播域,减少广播风暴,提高网络效率。
-
服务区分:每个子接口可以分配给特定的服务,如 VoIP、视频会议、Web服务器等,确保服务质量。
-
防火墙和路由策略:便于实施精细化的防火墙规则和路由策略,根据子接口进行流量控制。
-
灵活性:子接口的创建和删除相对简单,可以根据业务需求动态调整网络配置。
-
简化管理:在网络规模较大的情况下,可以集中管理物理网卡,而子接口的配置则更易于理解和维护。
1.2. 缺点
由于是多个子接口共用主接口,会让子接口性能比单个物理接口差,在网络流量过大,网络繁忙,会造成通信及网络流量瓶颈。
2. 如何配置子接口
2.1. 查看系统802.1q 模块信息
powershell
[root@localhost ~]# modinfo 8021q
filename: /lib/modules/3.10.0-1160.el7.x86_64/kernel/net/8021q/8021q.ko.xz
version: 1.8
license: GPL
alias: rtnl-link-vlan
retpoline: Y
rhelversion: 7.9
srcversion: 1DD872AF3C7FF7FFD5B14D5
depends: mrp,garp
intree: Y
vermagic: 3.10.0-1160.el7.x86_64 SMP mod_unload modversions
signer: CentOS Linux kernel signing key
sig_key: E1:FD:B0:E2:A7:E8:61:A1:D1:CA:80:A2:3D:CF:0D:BA:3A:A4:AD:F5
sig_hashalgo: sha256
2.2. 加载802.1q 模块
[root@localhost ~]# modprobe 8021q
2.3. 检查802.1q 模块加载状态
powershell
[root@localhost ~]# lsmod | grep 8021q
8021q 33080 0
garp 14384 1 8021q
mrp 18542 1 8021q
2.4. 配置网卡子接口
2.4.1. 首先需要将网卡配置为静态地址
参考如下网卡配置
powershell
[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens33
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="ens33"
UUID="1290a4d9-f57a-49fc-89d4-b6a5c9bb42c4"
DEVICE="ens33"
ONBOOT="yes"
IPADDR=192.168.92.10
NETMASK=255.255.255.0
GATEWAY=192.168.92.2
DNS1=192.168.92.2
2.4.2. 配置子网卡文件
[root@localhost ~]# cd /etc/sysconfig/network-scripts
[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens33:0
powershell
TYPE=Ethernet
BOOTPROTO=none
IPADDR=192.168.2.1
NETMASK=255.255.255.0
DEVICE=ens33:0
ONBOOT=yes
ZONE=public
2.4.3. 重启网络查看子接口状态
systemctl restart network
powershell
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
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: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:57:ff:c5 brd ff:ff:ff:ff:ff:ff
inet 192.168.92.10/24 brd 192.168.92.255 scope global noprefixroute ens33
valid_lft forever preferred_lft forever
inet 192.168.1.1/24 brd 192.168.1.255 scope global noprefixroute ens33:1
valid_lft forever preferred_lft forever
inet 192.168.2.1/24 brd 192.168.2.255 scope global noprefixroute ens33:0
valid_lft forever preferred_lft forever
inet6 fe80::199:d74c:2c3c:1cd/64 scope link noprefixroute
valid_lft forever preferred_lft forever
13: br0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
link/ether f2:67:5e:96:4e:c8 brd ff:ff:ff:ff:ff:ff