更新升级 专属应用 系统故障 硬件故障 电脑汽车 鸿蒙刷机 鸿蒙开发Linux教程 鸿蒙开发Linux命令
当前位置:HMXT之家 > 鸿蒙开发Linux教程 > 在Ubuntu上使用Netplan配置Linux桥接器/VLAN接口

在Ubuntu上使用Netplan配置Linux桥接器/VLAN接口

更新时间:2022-12-25 10:57:24浏览次数:436+次

本文介绍在Ubuntu系统上使用Netplan配置Linux桥接器/VLAN接口的方法。Netplan是Canonical开发的工具,它提供了一种在Linux系统上配置网络的简单方法,使用包含所需网络接口的所有描述的YAML文件可以轻松创建网络,通常,它从/etc/netplan/*.yaml读取网络配置,在引导期间,netplan在/run中生成后端特定的配置文件,将设备移交给特定的网络守护程序,目前,它支持Systemd-networkd和NetworkManager作为后端/渲染器系统,在Ubuntu 20.04及更高版本中,Netplan取代了使用/etc/network/接口配置网络的传统方法,这样做的主要原因是为了使事情更容易和更集中,当前Netplan默认安装在Ubuntu 20.04及更高版本上,可执行sudo apt install bridge-utils vim -y命令安装所需的软件包。

1、在Ubuntu上使用Netplan创建网桥

使用Netplan创建网桥有两种方法,以下分别介绍。

A、使用DHCP寻址的网桥

这是其中最简单的,因为它不需要IP包含。首先在/etc/netplan/01-network-manager-all.yaml编辑默认YAML:

sudo vim /etc/netplan/01-network-manager-all.yaml

在新安装时,YAML将显示如下:

# Let NetworkManager manage all devices on this system

network:

  version: 2

  renderer: NetworkManager

您可以选择将渲染器编辑为首选渲染器,例如networkd:

# Let NetworkManager manage all devices on this system

network:

  version: 2

  renderer: networkd

在本文中,我们将继续使用默认渲染器(NetworkManager)。

使用以下命令获取接口名称:

$ ip a

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: ens18: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000

    link/ether 42:3a:ef:01:30:2d brd ff:ff:ff:ff:ff:ff

    altname enp0s18

    inet 192.168.205.22/24 brd 192.168.205.255 scope global noprefixroute ens18

       valid_lft forever preferred_lft forever

    inet6 fe80::2c01:ccda:29ac:b41/64 scope link noprefixroute 

       valid_lft forever preferred_lft forever

3: ens19: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000

    link/ether fe:68:0c:29:b7:85 brd ff:ff:ff:ff:ff:ff

    altname enp0s19

    inet 192.168.205.30/24 brd 192.168.205.255 scope global dynamic noprefixroute ens19

       valid_lft 43105sec preferred_lft 43105sec

现在添加以下行以使用DHCP寻址创建网桥:

# Let NetworkManager manage all devices on this system

network:

  version: 2

  renderer: NetworkManager

  ethernets:

    ens19:

      dhcp4: no

  bridges:

    br0:

      dhcp4: yes

      interfaces:

        - ens19

根据需要提供接口名称后,保存并应用配置:

sudo netplan apply

一段时间后,网桥接口应显示DHCP,如图所示:

\

B、使用静态IPv4寻址的网桥

还可以为网桥提供静态IPv4地址(网络掩码、网关、DNS、搜索域)。打开文件进行编辑:

sudo vim /etc/netplan/01-network-manager-all.yaml

对YAML进行以下调整:

# Let NetworkManager manage all devices on this system

network:

  version: 2

  renderer: NetworkManager

  ethernets:

    ens19:

      dhcp4: true

  bridges:

    br0:

      addresses: [ 192.168.205.26/24 ]

      routes:

        - to: default

          via: 192.168.205.1

      mtu: 1500

      nameservers:

          addresses: [8.8.8.8]

      interfaces:

        - ens19

YAML的下部定义了网桥的各种静态IPv4地址(br0)。这些是:

192.168.205.26/24:绑定和子网的静态IP地址。

192.168.205.1:网关。

8.8.8.8:名称服务器。

调整完成后,保存并应用配置更改:

sudo netplan apply

几分钟后,桥应显示如下:

\

以下介绍使用网桥的方法。

您还可以使用下面的ping命令测试网桥是否正常工作:

ping -c 3 192.168.205.26

样本输出:

\

安装网络工具:

sudo apt install net-tools -y

检查路由配置:

$ route -n

会返回相应的信息。至此,现在可以根据需要使用创建的桥。

2、在Ubuntu上使用Netplan创建VLAN接口

VLAN接口可以定义为连接到配置VLAN的物理网络端口或绑定的虚拟接口。它用于使用适当的VLAN ID标记通过它的流量路由。

与网桥类似,您可以使用Netplan在Ubuntu上轻松创建VLAN接口。打开YAML文件:

sudo vim /etc/netplan/01-network-manager-all.yaml

现在根据需要修改此文件。对于这种情况,我们将使用静态IP信息创建VLAN接口:

# Let NetworkManager manage all devices on this system

network:

  version: 2

  renderer: NetworkManager

  ethernets:

    ens19:

      dhcp4: true

  vlans:

     vlan.45:

     id: 45

     link: ens19

     addresses: [ 192.168.205.28/24 ]

     routes:

       - to: default

         via: 192.168.205.1

     nameservers:

         search: [ domain.local ]

         addresses: [8.8.8.8]

保存文件并应用更改:

sudo netplan apply

验证更改:

\

验证VLAN是否正常工作:

ping -c 3 192.168.205.28

样本输出:

\

3、使用标记的VLAN配置网桥

使用上述VLAN,我们可以使用DHCP或静态IP从中创建网桥。您需要做的就是提供VLAN接口作为桥接网络的接口。

打开文件进行编辑:

sudo vim /etc/netplan/01-network-manager-all.yaml

现在,在创建的VLAN接口下,添加网桥:

# Let NetworkManager manage all devices on this system

network:

  version: 2

  renderer: NetworkManager

  ethernets:

    ens19:

      dhcp4: true

  vlans:

     vlan.45:

     id: 45

     link: ens19

     addresses: [ 192.168.205.28/24 ]

     routes:

       - to: default

         via: 192.168.205.1

     nameservers:

         search: [ domain.local ]

         addresses: [8.8.8.8]

  bridges:

    br0:

      addresses: [ 192.168.205.29/24 ]

      mtu: 1500

      nameservers:

          addresses: [8.8.8.8]

      interfaces:

        - vlan.45

保存文件并应用更改:

sudo netplan apply

应用后,验证更改:

\

验证创建的网桥是否正常工作:

ping -c 3 192.168.205.29

样本输出:

\

至此,配置成功完成。