Skip to content

Debian12采用KVM虚拟化系统并使用桥接网络。如题,默认安装 KVM 后虚拟化 CentOS7 系统采用 192.168.122.x 的网络,采用 nginx stream 的方式代理 ssh 很不稳定,因此需要采用桥接网络让测试进行测试安装应用。

系统情况

系统环境:

  • 服务器:128GB 内存 56 核心 HDD、SSD、NVME 多硬盘
  • 操作系统:Debian-12.9
  • 网卡:多个万兆网卡,网卡ID:eno1

网络环境:

  • 服务器采用的静态网络:172.18.0.143
  • 网关:172.18.0.1

在安装 Linux 系统后,能 NAT【默认192.168.122.x】 通过进入到虚拟机系统。

桥接网络

通过 brctl show 查看往前虚拟网络:

shell
sudo brctl show
bridge name     bridge id               STP enabled     interfaces
br-85585c4f5550         8000.0242dcf20d84       no              veth8751ffc
                                                        vetha1e0547
docker0         8000.02427808a792       no
virbr0          8000.5254003d2e97       yes             vnet4

ip addr 打印网卡

shell
ip addr show
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 noprefixroute 
       valid_lft forever preferred_lft forever
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master br0 state UP group default qlen 1000
    link/ether AAAAAAAAAAAA brd ff:ff:ff:ff:ff:ff
    altname enp6s0
    inet 172.18.0.143/16 brd 172.18.255.255 scope global dynamic noprefixroute eno1
       valid_lft 64778sec preferred_lft 64778sec
    inet6 fe80::d9df:49e5:342c:601e/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
3: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
    link/ether EEEEEEEEEE brd ff:ff:ff:ff:ff:ff
4: enxbe3af2b6059f: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 1000
    link/ether FFFFFFFFFFFFFF brd ff:ff:ff:ff:ff:ff
5: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
    link/ether FFFFFFFFFFFFFF brd ff:ff:ff:ff:ff:ff
    inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
       valid_lft forever preferred_lft forever

创建桥接网卡(eno1):

shell
vim /etc/network/interfaces.d/bridge-br0

内容如下:

python
#bridge port 
auto br0
iface br0 inet static
  address 172.18.0.143
  broadcast 172.18.0.255
  netmask 255.255.255.0
  gateway 172.18.0.1
  bridge_ports eno1
  bridge_stp off
  bridge_waitport 0
  bridge_fd 0
  dns-nameserver 8.8.8.8 8.8.4.4

重启网络环境:

shell
sudo systemctl restart networking

再次 sudo ip link show 查看网络:

log
19: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000
    link/ether FFFFFFFFFFFFF brd ff:ff:ff:ff:ff:ff

brctl show 虚拟网卡输出:

log
sudo brctl show
bridge name     bridge id               STP enabled     interfaces
br-85585c4f5550         8000.0242dcf20d84       no              veth8751ffc
                                                        vetha1e0547
br0             8000.1651b6e9018a       no              eno1
docker0         8000.02427808a792       no
virbr0          8000.5254003d2e97       yes

在 KVM 的虚拟机设置中,将 网卡选择桥接,填入 br0,保存重启后,获得和主机内网的IP。

kvm-vmos-net-bridge-setting.jpg

至此,KVM 桥接网卡成功。