如何在Arch Linux和Manjaro上创建和使用网络桥梁
Bridge是将两个或者多个网络接口联合在一起的内容。
网络桥接主要用于虚拟化,以允许虚拟机访问外部网络。
不同的工具可用于在Linux World中创建和配置网络桥,但它们因我们使用的Linux发行而异。
可以在ARCH Linux和Manjaro的相关发行版上使用的最常用工具包括:BRCTL工具来自Bridge-Utils Package.NetCloilIP工具工具工具工具库。
我们将使用NetCtl工具或者直接编辑配置文件来实现结果。
在此处使用的示例中,我将创建一个名为BR10的桥梁,然后在桥中添加接口ENO1和TAP0。
然后,我将通过将带有KVM推出的虚拟机添加到桥梁的工作状态。
第1步:安装桥接工具
让我们开始。
首先是首先,让我们确保我们安装了Bridge-Utils,我们将用于查看创建的桥梁的详细信息。
sudo pacman -S bridge-utils
第2步:创建桥:
在/etc/netctl /目录中创建网桥文件。
我会命名我的桥梁KVM-Bridge,任何名字都会好的。
$sudo vim /etc/netctl/kvm-bridge
添加以下内容更改BR10使用接口桥接我们正在创建,ENO1和TAP0带有接口,我们正在添加到网桥,IP网络信息与网络详细信息:
Description="Bridge Interface br10 : eno1,tap0" Interface=br10 Connection=bridge BindsToInterfaces=(eno1 tap0) IP=static Address='192.168.1.105/24' Gateway='192.168.1.1' DNS='192.168.1.1' MACAddressOf=eno1 ## Ignore (R)STP and immediately activate the bridge SkipForwardingDelay=yes
macaddressof = eno1将确保桥接界面始终使用接口ENO1的MAC地址。
如果我们希望桥接接口唯一的MAC地址,则可以删除此行。
我添加了它,因为我的网络中的MAC地址过滤,使Bribr BR10具有物理ENO1接口的MAC地址将允许我使用桥BR10具有互联网访问。
我们可以通过将其添加到"bindstointerfaces"选项行来介绍任何网络设备的组合。
如果我们想在有线接口上启用静态IP配置文件,无论是连接电缆是否已连接,请将下面的配置文件添加到个人资料中:
SkipNoCarrier=yes
如果我们使用DHCP协议配置要获取的IP地址信息,则配置将如下所示:
Description="Bridge Interface br10 : eno1,tap0" Interface=br10 Connection=bridge BindsToInterfaces=(eno1 tap0) IP=dhcp # If you want also for DHCPv6,uncomment below line #IP6=dhcp
以下配置将使用DHCP并分配ENO1网卡的桥接MAC地址。
Description="Bridge Interface br10 : eno1,tap0" Interface=br10 Connection=bridge BindsToInterfaces=(eno1 tap0) IP=no ExecUpPost="ip link set dev br0 address $(cat /sys/class/net/eno1/address); IP=dhcp; ip_set" ExecDownPre="IP=dhcp"
第3步:删除添加到桥梁的接口的IP; eno1.
我的主要物理以太网接口是ENO1.
由于我添加了此接口来桥接,因此我必须删除其IP地址。
我们可以通过编辑网络配置文件并添加该行来执行此操作:
set IP=no
或者,我们可以使用NetworkManager重置ENO1接口。
要通过转到所有设置>网络>网络>接口NameClick对界面的设置,我是eno1然后忘记重置
如果我们在网络管理器界面上提供的接口,请勿离开,请参阅下面的屏幕截图:
第4步:启动kvm-bridge
sudo netctl start kvm-bridge
第5步:设置配置文件以设置开机启动
sudo netctl enable kvm-bridge
如果我们对配置文件进行了更改,则重新启用它,因为配置文件文件的更改不会自动传播到服务文件:
sudo netctl reenable kvm-bridge
我们可以打开NetworkManager以查看桥接接口是否正常工作。
可以使用Bridl命令来查看系统中配置的桥接器
$sudo brctl show bridge name bridge id STP enabled interfaces br10 8000.a01d48fad8df no eno1 virbr0 8000.5254007baa03 yes virbr0-nic
查看桥接接口:
$sudo bridge link 2: eno1 state UP : <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> mtu 1500 master br10 state forwarding priority 32 cost 19 5: virbr0-nic state DOWN : <BROADCAST,MULTICAST> mtu 1500 master virbr0 state disabled priority 32 cost 100