下面是“Linux下配置vlan网卡教程”的完整攻略。
什么是VLAN
VLAN(Virtual Local Area Network)虚拟局域网技术将一个物理网段分割成若干个虚拟网段,不同的虚拟网段之间彼此隔离,从而提高网络的安全性和灵活性。
如何在Linux下配置VLAN网卡
配置VLAN网卡需要在操作系统内核中加载8021q模块和在网络设备上创建虚拟网卡。下面是具体步骤:
1.加载8021q模块
通过以下命令检查是否存在8021q模块:
$ modinfo 8021q
如果返回“not found”,则需要用以下命令加载8021q模块:
$ modprobe 8021q
也可以将其添加到/etc/modules文件中,系统启动时自动加载:
$ echo 8021q >> /etc/modules
2.创建VLAN网卡
以eth0网卡为例,创建VLAN ID为100的虚拟网卡:
$ ip link add link eth0 name eth0.100 type vlan id 100
如果需要进行配置,需要先启用虚拟网卡:
$ ip link set dev eth0.100 up
然后配置IP地址即可:
$ ip addr add 192.168.1.100/24 dev eth0.100
3.永久保存配置
以上配置都是临时的,重启系统后会丢失。一般情况下,需要将上述配置永久保存。以Ubuntu 18.04为例,需要修改/etc/netplan/50-cloud-init.yaml文件,添加以下代码:
network:
ethernets:
eth0:
dhcp4: true
optional: true
eth0.100:
dhcp4: false
addresses: [192.168.1.100/24]
version: 2
在此示例中,eth0网卡使用DHCP获取IP地址,eth0.100网卡使用静态IP地址并绑定到192.168.1.100。修改完成后,执行以下命令使配置生效:
$ netplan apply
以上是基本的VLAN配置,下面提供两个示例说明:
示例1:将eth0网卡分割为两个VLAN网卡
$ modprobe 8021q
$ ip link add link eth0 name eth0.100 type vlan id 100
$ ip link add link eth0 name eth0.200 type vlan id 200
$ ip link set dev eth0.100 up
$ ip link set dev eth0.200 up
$ ip addr add 192.168.1.100/24 dev eth0.100
$ ip addr add 192.168.2.100/24 dev eth0.200
以上命令将eth0网卡分割为VLAN ID为100和200的两个子网,分别对应IP地址192.168.1.100和192.168.2.100。
示例2:将VLAN网卡桥接为一个网桥
$ modprobe 8021q
$ ip link add link eth0 name eth0.100 type vlan id 100
$ ip link add link eth0 name eth0.200 type vlan id 200
$ ip link set dev eth0.100 up
$ ip link set dev eth0.200 up
$ ip link add name bridge0 type bridge
$ ip link set dev bridge0 up
$ ip link set dev eth0.100 master bridge0
$ ip link set dev eth0.200 master bridge0
以上命令将eth0.100和eth0.200两个VLAN网卡桥接为一个网桥bridge0,可以在网桥上进行流量控制、过滤等操作。
以上就是“Linux下配置vlan网卡教程”的完整攻略。