Linux下配置vlan网卡教程

  • Post category:Linux

下面是“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网卡教程”的完整攻略。