kvm|kvm 与 bridge

如果想在KVM 的虚拟机上使用桥接网络需要在宿主机上添加一个网桥设备, 然后让新建虚拟机就可以使用网桥来和外网通讯, 在外部看来没有任何区别


简单画个草图:


Internet
|
route
|
bridge0 -binding- eth0 (bridge设备是虚拟出来的绑定在 eth0 上)
|
vnet(N)----- (这个就是虚拟机用来通讯的虚拟网卡,他用来连接 虚拟机的eth(N) )


注意 :最好用console 连接 或者本地操作,因为bind网卡的时候可能会与主机失联


一 . 命令的方式创建


# brctl addbr br0//新建网桥 br0
# brctl addif br0 eth0//为网桥 br0 添加一块网口,是网口因为 添加网桥后就相当于虚拟了一个桥设备,但是这个设备没有网口我们需要为他添加一块网卡作为它的网口


# ifconfig br0 10.10.10.254/16//为这个网桥设备指定IP,用来管理机器
# ifconfig eth0 0.0.0.0//因为eth0 已经是个网口了 就不需要IP了
添加路由表
【kvm|kvm 与 bridge】# route add default gw 10.10.10.1 dev br0// 10.10.10.1 是我的网络网关,走 br0 设备
# echo 1 >/proc/sys/net/ipv4/ip_forward// 启用转发功能
# sysctl -p
# brctl show//以下信息是虚拟机启动后 vnet0 已经在 br0 下工作了
bridge name bridge id STP enabled interfaces
br0 8000.00e04c05d9c1 yes eth0
vnet0


此时再创建虚拟机就可以看到可以使用网桥设备作为网卡了


二 . 或者用编辑配置文件的方式, 文件修改完之后重启网络服务 , 执行 sysctl -p


eth0 文件改为:


/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
HWADDR=00:e0:4c:05:d9:c1
ONBOOT=yes
BRIDGE=br0//桥设备为 br0
#IPADDR=10.10.250.250
#NETMASK=155.155.0.0
#GATEWAY=10.10.10.1
-------------------------------
新建 br0 配置文件


/etc/sysconfig/network-scripts/ifcfg-br0
DEVICE=br0//设备名 br0
ONBOOT=yes
TYPE=Bridge//设备类型为Bridge
BOOTPROTO=none
IPADDR=10.10.250.1
NETMASK=255.255.0.0
GATEWAY=10.10.10.1
STP=on
DELAY=0
------------------------------


在 sysctl.conf 文件添加这些条目,或者编辑这些条目为下面的值
/etc/sysctl.conf
# Disable netfilter on bridges.
net.bridge.bridge-nf-call-ip6tables = 0
net.bridge.bridge-nf-call-iptables = 0
net.bridge.bridge-nf-call-arptables = 0
------------------------------


转载于:https://blog.51cto.com/supertaodi/1627236

    推荐阅读