由于在安装完KVM虚拟机后(相关安装过程可参考这篇文章),我选择的是 macvtap 的 桥接 模式。这种模式会导致虚拟机可以连接到局域网,局域网内的其他机器也可以访问该虚拟机(因为IP是同网段的),但宿主机和虚拟机之间却无法互通。
这篇文章主要就是用于记录如何保证使用了如上桥接模式之后,还能够让虚拟机和宿主机之间也能够互相访问,也就是实现 宿主机与虚拟机的网桥设置 。
以下为相关命令
先进行网桥的设置
折叠代码块BASH
复制代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| sudo apt-get update
sudo apt-get install bridge-utils
sudo brctl addbr br-kvm
sudo brctl show
sudo brctl addif br-kvm enp9s0
sudo brctl show
sudo ip addr del dev enp9s0 192.168.1.15/24 sudo ip addr add 192.168.1.15/24 dev br-kvm sudo ip link set up br-kvm sudo route add default gw 192.168.1.1
|
设置完之后,可能虚拟机只能访问宿主机,这个时候使用如下命令
折叠代码块BASH
复制代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
|
ip addr
sudo brctl show
sudo brctl addif br-kvm vnet1
route -n
sudo route add default gw 192.168.1.1
sudo service network restart
sudo sysetmctl status iptables sudo sysetmctl status firewalld sudo sysetmctl stop iptables sudo sysetmctl stop firewalld
cat /proc/sys/net/ipv4/ip_forward sudo sudo tee /proc/sys/net/ipv4/ip_forward <<-'EOF' 1 EOF
cat /proc/sys/net/bridge/bridge-nf-call-iptables cat /sys/devices/virtual/net/br-kvm/bridge/nf_call_iptables sudo sudo tee /proc/sys/net/bridge/bridge-nf-call-iptables <<-'EOF' 0 EOF sudo sudo tee /sys/devices/virtual/net/br-kvm/bridge/nf_call_iptables <<-'EOF' 0 EOF
|
恢复原本的状态需要使用如下命令
折叠代码块BASH
复制代码
1 2 3 4 5 6 7
| sudo ip link set br-kvm down
sudo brctl delif br-kvm enp9s0
sudo ip link set enp9s0 down sudo ip link set up enp9s0
|
参考链接
v1.5.2