指定网段(静态IP)配置网桥

openEuler 22.03 LTS/openEuler 20.03 LTS/Kylin V10 SP2/Kylin V10/BC Linux 21.10/UOS V20(1050e)/CULinux 3.0/CentOS 7.5(5.10.0)/Tlinux3.1/UOS V20(1050u2e)/Kylin V10 SP3/BC Linux 8.2

  1. 执行如下命令,查看默认网桥是否关闭。

    virsh net-list --all

    显示如下,则表示默认网桥关闭。

     Name      State    Autostart   Persistent
    --------------------------------------------
     default   inactive   no         yes
    [root@localhost home]#

    若与回显不一致,则参考23关闭默认网桥。

  2. (可选)执行如下命令,关闭虚拟网络。

    virsh net-destroy default

    Network default destroyed

  3. (可选)执行如下命令,关闭自启动。

    virsh net-autostart --disable default

    Network default unmarked as autostarted

  4. 执行如下命令,安装必要的工具软件。

    • 对于BC Linux 8.2:请跳过此步骤。
    • 对于Tlinux3.1:请执行4.a~4.e
    • 其他OS:请执行4.f
    1. 执行如下命令,安装工具软件:yum install -y network-scripts autoconf

      显示如下,表示安装成功。

      Complete!
    2. 执行命令wget http://mirrors.edge.kernel.org/pub/linux/utils/net/bridge-utils/bridge-utils-1.6.tar.xz下载bridge-utils压缩包。
    3. 执行如下命令解压:tar -xvf bridge-utils-1.6.tar.xz
    4. 执行如下命令进入目录:cd bridge-utils-1.6
    5. 依次执行如下命令,完成bridge-utils的安装。

      autoconf

      ./configure

      make && make install

    6. 执行如下命令,安装工具软件:yum install -y bridge-utils

      显示如下,表示安装成功。

      Complete!

  5. 执行如下命令,修改物理网卡对应的网络配置文件。

    vi /etc/sysconfig/network-scripts/ifcfg-enp189s0f0

    在配置文件末尾增加如下加粗字体标注的内容并保存。

    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=enp189s0f0
    ...
    BRIDGE=virbr0
    • enp189s0f0为物理网卡名称。
    • virbr0为虚拟网卡名称,用户自定义。

  6. 创建一个虚拟网卡的网络配置文件。

    vi /etc/sysconfig/network-scripts/ifcfg-virbr0

    增加如下内容并保存。

    TYPE=Bridge
    BOOTPROTO=static
    DEVICE=virbr0
    IPADDR=x.x.x.x
    NETMASK=x.x.x.x
    GATEWAY=x.x.x.x
    • virbr0为虚拟网卡名称,用户自定义。
    • 虚拟网卡配置文件中IPADDR=NETMASK=、GATEWAY=后的值需要和物理网卡配置文件中保持一致。

  7. 执行如下命令,使配置生效。

    • 对于Kylin V10 SP3,请执行如下命令:

      先生效虚拟网卡配置:NetworkManager virbr0ifup virbr0

      Connection successfully activated (master waiting for slaves) (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/9)

      再生效物理网卡配置:NetworkManager enp189s0f0ifup enp189s0f0

      Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/10)
    • 对于其他OS,请执行如下命令:

      先生效虚拟网卡配置:ifup virbr0

      Connection successfully activated (master waiting for slaves) (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/9)

      再生效物理网卡配置:ifup enp189s0f0

      Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/10)

    若配置未生效,执行8

  8. (可选)执行如下命令,重启系统,使配置生效。

    reboot

Ubuntu 20.04/Ubuntu 22.04

  1. 执行如下命令,查看默认网桥是否关闭。

    virsh net-list --all

    显示如下,则表示默认网桥关闭。

     Name      State    Autostart   Persistent
    --------------------------------------------
     default   inactive   no         yes
    [root@localhost home]#

    若与回显不一致,则参考23关闭默认网桥。

  2. (可选)执行如下命令,关闭虚拟网络。

    virsh net-destroy default

    Network default destroyed

  3. (可选)执行如下命令,关闭自启动。

    virsh net-autostart --disable default

    Network default unmarked as autostarted

  4. 执行如下命令,安装必要的工具软件。

    apt install -y bridge-utils

    Reading package lists... Done
    Building dependency tree
    Reading state information... Done
    bridge-utils is already the newest version (1.6-2ubuntu1).

  5. 执行如下命令,修改网络配置文件。

    vi /etc/netplan/00-installer-config.yaml

    参考如下修改并保存:

    # This is the network config written by 'subiquity'
    network:
      ethernets:
        enp189s0f0:
          dhcp4: false
          dhcp6: false
      bridges:
        virbr0:
          interfaces: [ enp189s0f0 ]
          addresses: [x.x.x.x/x]
          gateway4: x.x.x.x
          nameservers:
            addresses: [x.x.x.x]
      version: 2
    • enp189s0f0为物理网卡名称。
    • virbr0为虚拟网卡名称,用户自定义。
    • 虚拟网卡的IP配置和物理网卡的IP配置保持一致。

  6. 执行如下命令,使配置生效。

    netplan apply

veLinux 1.1/Debian10.13/veLinux 1.2

  1. 执行如下命令,查询物理接口。

    ip -f inet a s

    回显如下,x.x.x.x/x表示所在物理接口。

    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
        inet 127.0.0.1/8 scope host lo
           valid_lft forever preferred_lft forever
    5: ens3f3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
        inet x.x.x.x/x brd x.x.x.255 scope global noprefixroute ens3f3
           valid_lft forever preferred_lft forever
    6: virbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
        inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
           valid_lft forever preferred_lft forever

  2. 执行如下命令,更新“/etc/network/interface” 文件。

    vi /etc/network/interface

    确保只有 lo,即loopback在“ /etc/network/interface”中处于活动状态。删除与 1查询的物理网卡相关的任何配置。

    # This file describes the network interfaces available on your system
    # and how to activate them. For more information, see interfaces(5).
    source /etc/network/interfaces.d/*
    # The loopback network interface
    auto lo
    iface lo inet loopback
    # The primary network interface
    #allow-hotplug ens3f3
    #iface ens3f3 inet static
    #      address x.x.x.x/x
    #      gateway x.x.x.x
    #	# dns-* options are implemented by the resolvconf package, if installed
    #       dns-nameservers x.x.x.x
    #	dns-search huawei

    loopback 指本地环回接口,也称为回送地址。

  3. 执行如下命令,在“ /etc/network/interfaces.d/br0 ”中配置网桥(br0)。

    vi /etc/network/interfaces.d/br0

    在文件中增加如下配置。

    auto br0
    iface br0 inet static
    address x.x.x.x  # 当前host侧主机的ip
    netmask 255.255.252.0
    gateway x.x.x.x
    bridge_ports ens3f3  # 对应物理网卡设备
    bridge_stp off
    bridge_waitport 0
    bridge_fd 0

  4. 执行如下命令,重新启动网络服务。

    systemctl restart networking.service

  5. 执行如下命令,查看服务已经重新启动。

    systemctl status networking.service

    回显信息如下,若状态为“active (exited)”,则表示服务已启动。

    ● networking.service - Raise network interfaces
       Loaded: loaded (/lib/systemd/system/networking.service; enabled; vendor preset: enabled)
       Active: active (exited) since Thu 2023-11-09 00:19:28 EST; 1 day 2h ago
         Docs: man:interfaces(5)
     Main PID: 3526 (code=exited, status=0/SUCCESS)
        Tasks: 0 (limit: 29491)
       Memory: 0B
       CGroup: /system.slice/networking.service

  6. 执行如下命令,可查询新的br0接口和路由表。

    ip a s

  7. 执行如下命令,查看网桥相关信息。

    brctl show

    bridge name	bridge id		STP enabled	interfaces
    br0	        8000.e84d7429debf	no		ens3f3
    docker0		8000.0242f95b8fd4	no 

  8. 执行如下命令,显示当前网桥。

    bridge link

    5: ens3f3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master br0 state forwarding priority 32 cost 4

后续操作

若用户通过外接PCIe网卡方式配置网桥,可以参考如下步骤使能物理机网卡。

在物理机修改配置文件/etc/sysctl.conf,在配置文件末尾加入如下内容:

net.bridge.bridge-nf-call-ip6tables = 0
net.bridge.bridge-nf-call-iptables = 0
net.bridge.bridge-nf-call-arptables = 0

执行如下命令,使配置生效。

sysctl -p

Debian11.8

  1. 执行如下命令,安装工具软件。

    apt install -y bridge-utils --allow-unauthenticated

    root@debian:/home# apt install -y bridge-utils --allow-unauthenticated
    Reading package lists... Done
    Building dependency tree... Done
    Reading state information... Done
    bridge-utils is already the newest version (1.7-1).
    0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

  2. 登录物理机iBMC命令行,执行如下操作。

    1. 执行如下命令,添加虚拟网卡。

      brctl addbr virbr0

      注意该网桥需要与XML文件中网桥名称一致。

      • enp189s0f0为物理网卡名称。
      • virbr0为虚拟网卡名称,用户自定义。
    2. 执行如下命令,查看是否创建成功。

      ip addr show

    3. 执行如下命令,将虚拟网卡与物理网卡进行绑定。

      brctl addif virbr0 enp189s0f0

    4. 执行如下命令,查看绑定情况。

      ip addr show

    5. 执行如下命令,修改网络配置文件。

      vi /etc/network/interfaces

      参考如下修改并保存:
      # This file describes the network interfaces available on your system
      # and how to activate them. For more information, see interfaces(5).
      
      source /etc/network/interfaces.d/*
      
      # The loopback network interface
      auto lo virbr0
      iface lo inet loopback
      
      iface enp189s0f0 inet manual
      iface virbr0 inet static
      bridge_ports enp189s0f0
      address x.x.x.x
      netmask 255.255.255.0
      gateway x.x.x.x
      • enp189s0f0为物理网卡名称,请根据实际物理网卡名称修改。
      • virbr0为虚拟网卡名称,请根据实际虚拟网卡名称修改。
      • x.x.x.x请按实际物理机IP地址替换,虚拟网卡的IP配置和物理网卡的IP配置保持一致。
    6. 执行如下命令,启动虚拟网卡。

      ifconfig virbr0 up

    7. 执行如下命令,重启网络服务,使配置生效。

      systemctl restart networking.service