如何在Debian Linux上设置和配置网桥

时间:2020-01-09 14:16:59  来源:igfitidea点击:

如何在Debian Linux上运行的虚拟化环境(KVM)中设置Bridge。
如何在Debian Linux 9.x服务器上的/etc/network/interfaces中设置网络桥接?
如果要为虚拟机分配IP地址并使其可从LAN访问,则需要设置网桥。
默认情况下,使用KVM时会创建一个专用网桥。
您需要手动设置接口,以避免与网络管理器发生冲突。

如何安装brctl

执行以下apt命令/apt-get命令:

$ sudo apt install bridge-utils

如何在Debian Linux上设置网桥

您需要编辑/etc/network/interface文件。
但是,我建议在/etc/network/interface.d/目录中删除一个全新的配置。
在Debian Linux上配置网桥的过程如下:

步骤1找出您的物理接口

使用ip命令:

$ ip -f inet a s

输出示例:

2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    inet 192.168.2.23/24 brd 192.168.2.255 scope global eno1
       valid_lft forever preferred_lft forever

eno1是我的物理接口。

步骤2更新/etc/network/interface文件

确保仅lo(/etc/network/interface中的环回处于活动状态)。
删除与eno1相关的所有配置。
这是我使用cat命令打印的配置文件:

$ cat /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
iface lo inet loopback

步骤3在/etc/network/interfaces.d/br0中配置桥接(br0)

使用文本编辑器(例如vi命令)创建文本文件:

$ sudo vi /etc/network/interfaces.d/br0

追加以下配置:

## static ip config file for br0 ##
auto br0
iface br0 inet static
	address 192.168.2.23
	broadcast 192.168.2.255
	netmask 255.255.255.0
	gateway 192.168.2.254
	# If the resolvconf package is installed, you should not edit 
        # the resolv.conf configuration file manually. Set name server here
        #dns-nameservers 192.168.2.254
        # If you have muliple interfaces such as eth0 and eth1
        # bridge_ports eth0 eth1  
	bridge_ports eno1
	bridge_stp off       # disable Spanning Tree Protocol
        bridge_waitport 0    # no delay before a port becomes available
        bridge_fd 0          # no forwarding delay

如果您希望网桥使用DHCP获取IP地址:

## DHCP ip config file for br0 ##
auto br0
 
# Bridge setup
iface br0 inet dhcp
    bridge_ports eno1

在vi/vim中保存并关闭文件。

步骤4在Linux中重新启动网络服务

重新启动网络服务之前,请确保已禁用防火墙。
防火墙可能引用较旧的接口,例如eno1。
服务重新启动后,您必须更新接口br0的防火墙规则。
执行以下内容,重新启动网络服务:

$ sudo systemctl restart network-manager

验证服务已重新启动:

$ systemctl status network-manager

借助ip命令查找新的br0接口和路由表:

$ ip a s
$ ip r
$ ping -c 2 theitroad.local

输出示例:您还可以使用brctl命令查看有关网桥的信息:

$ brctl show

显示当前的桥梁:

$ bridge link