KVM Guest:与主机共享的物理网络设备(桥接配置)

时间:2020-01-09 10:38:02  来源:igfitidea点击:

基于NAT的连接性对于轻松部署很有用。
但是,我想使用完全桥接,将来宾直接连接到LAN。
在Linux下如何与局域网的主机和其余部分建立并共享物理网络?
您需要在Debian或Ubuntu Linux下执行以下命令(也可以禁用网络管理器)来设置桥接选项。
我的默认eth0配置看起来如下/etc/network/interfaces:

allow-hotplug eth0
iface eth0 inet static
        address 192.168.1.1
        netmask 255.255.255.0
        network 192.168.1.0
        broadcast 192.168.1.255
        gateway 192.168.1.254

记下eth0,输入:

# ifdown eth0

接下来,编辑/etc/network/interfaces网络配置文件,输入:

# vi /etc/network/interfaces

如下更新以将接口eth0定义为网桥并指定其端口:

auto br0
iface br0 inet static
         address 192.168.1.1
         netmask 255.255.255.0
         network 192.168.1.0
         broadcast 192.168.1.255
         gateway 192.168.1.254
         bridge_ports eth0
         bridge_stp on
         bridge_maxwait 0

保存并关闭文件。
执行以下命令以启动br0:

# ifup br0

如下更新/etc/sysctl.conf以禁用网桥上的netfilter(或者,您可以使用iptables来配置netfiler以提高安全性):

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

保存并关闭文件。
输入以下内容以更新更改:

# sysctl -p

如前所述,请配置iptables以允许所有流量从KMV guest虚拟机通过网桥转发。
在您的iptables脚本中添加以下规则:

/sbin/iptables -I FORWARD -m physdev --physdev-is-bridged -j ACCEPT

重新启动/重新加载防火墙脚本。
最后,验证您是否可以连接访客的共享物理设备正常运行,输入:

# brctl show
# ip addr show br0
# ip route
# ping 192.168.1.254
# ping theitroad.local