centos 7 kvm 桥接虚拟机桥接方式 需要配置安全组吗

配置KVM虚拟机的网络 Bridge和Nat方式 - 虚拟机 - 次元立方网 - 电脑知识与技术互动交流平台
配置KVM虚拟机的网络 Bridge和Nat方式
使用libvirt配置KVM虚拟机的网络,分别使用bridge和nat方式。
操作系统配置:centos7,libvirt-1.1.1,qemu-1.5.3
1.bridged(桥接模式)
在bridged模式下,虚拟出来的操作系统就像是局域网中的一台独立的主机,它可以访问网内任何一台机器。同时,由于这个虚拟系统是局域网中的一个独立的主机系统,那么就可以手工配置它的TCP/IP配置信息,以实现通过局域网的网关或路由器访问。使用bridged模式的虚拟系统和宿主机器的关系,就像连接在同一个Hub上的两台电脑。想让它们相互通讯,你就需要为虚拟系统配置IP地址和子网掩码,否则就无法通信(参考dhcp服务器是否开启,如果开启,则可以选择dhcp方式自动获取网络地址)。这种方式最简单,直接将虚拟网卡桥接到一个物理网卡上面,和linux下一个网卡绑定两个不同地址类似,实际上是将网卡设置为混杂模式,从而达到侦听多个IP的能力。在此种模式下,虚拟机内部的网卡(例如linux下的eth0)直接连到了物理网卡所在的网络上,可以想象为虚拟机和host机处于对等的地位,在网络关系上是平等的,没有谁在谁后面的问题。使用这种方式很简单,前提是你可以得到1个以上的地址。
用KVM配置Bridge方式:
首先需要确定你的host主机上用的网络连接方式为桥接方式,我的机器上的用的是一个叫br0的网桥。创建网桥的方式也很简单,以我的系统为例,网卡一个eno,在目录/etc/sysconfig/network-scripts/下创建文件ifcfg-br0,然后修改文件ifcfg-eno为:
BOOTPROTO=none
DEVICE=eno
HWADDR=00:0c:29:09:0d:3d
NM_CONTROLLED=no
ONBOOT=yes
BRIDGE=br0修改文件ifcfg-br0的内容为:
BOOTPROTO=static
DEVICE=br0
TYPE=Bridge
NM_CONTROLLED=no
IPADDR=192.168.7.183
NETMASK=255.255.255.0
GATEWAY=192.168.7.254
当然IP地址什么的要设置成自己所在的网段内,此处设置成静态的了,若有dhcp服务器(自家路由器),也可以设置成动态的,然后重启网络就可以了,如果重启不成功的话,试试生效了没有,没有生效的话,重启下系统,自然生效。
然后就该为guest虚拟机配置网桥网络了:
在虚拟机的XML配置文件中device下添加interface标签即可,标签如下:
&interface type='bridge'&
&mac address='52:54:00:84:e9:e1'/&
&source bridge='br0'/&
&model type='rtl8139'/&
&address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/&
&/interface&
当然也可以先定义一下这个网络,然后在添加到虚拟机的XML文件中,给它起名为br0.xml,这个文件中可以写一些网络的详细配置参数,大致的形式如下:
&name&br0&/name&
&uuid&fb48b969-b9f4-e859-d957-50aedd850fb4&/uuid&
mode='bridge'&
&bridge name ='br0'/&
&/forward&
&/network&然后用libvirt来定义并开启这个网络,配置文件中的interface标签当然还是不能少,用上面的就好,名字正好一致了:
virsh net-define br0.xml
virsh net-start br0
然后就可已启动客户机,检查网络连接了。
2.NAT(网络地址转换模式)
使用NAT模式,就是让虚拟系统借助NAT(网络地址转换)功能,通过宿主机器所在的网络来访问公网。也就是说,使用NAT模式可以实现在虚拟系统里访问。很显然,如果你只有一个外网地址,此种方式很合适。
KVM虚拟机Nat方式上网:
virsh net-list
查看当前活跃的网络,可以看到一个default网络,这个就是一个默认的Nat网络了。
virsh net-dumpxml default
可以查看该网络的详细配置如下:
&name&default&/name&
&uuid&75dbebde-fc15--fd30&/uuid&
&forward mode='nat'&
&port start='1024' end='65535'/&
&/forward&
&bridge name='virbr0' stp='on' delay='0' /&
&mac address='52:54:00:bc:f2:65'/&
&ip address='192.168.122.1' netmask='255.255.255.0'&
&range start='192.168.122.2' end='192.168.122.254' /&
&/network&可以看到该网络搭建在一个网桥virbr0上,这个网桥在安装并启动libvirt的时候自动生成。然后在客户机的XML配置文件中添加标签interface内容如下:
&interface type='network'&
&mac address='52:54:00:c7:18:b5'/&
&source network='default'/&
&model type='virtio'/&
&address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/&
&/interface&则可以让客户机用nat方式来上网了,经验证,客户机可以获取到122网段,2到254之间的一个ip地址。
我们可以直接编辑修改default网络的配置:
virsh net-edit default
也可以直接将default网络干掉,然后再重新定义:
virsh net-undefine default
重新创建一个default.xml文件,自定义其中的内容,可以指定某个mac地址对应某个ip,指定某个ip段。例如下面的内容,name对应的是客户机的名字。
&name&default&/name&
&uuid&dc69ff61--b940-bf7&/uuid&
&forward mode='nat'/&
&bridge name='virbr0' stp='on' delay='0' /&
&mac address='52:54:00:81:14:18'/&
&ip address='192.168.122.1' netmask='255.255.255.0'&
&range start='192.168.122.2' end='192.168.122.254' /&
&host mac='00:25:90:eb:4b:bb' name='guest1' ip='192.168.5.13' /&
&host mac='00:25:90:eb:34:2c' name='guest2' ip='192.168.7.206' /&
&host mac='00:25:90:eb:e5:de' name='guest3' ip='192.168.7.207' /&
&host mac='00:25:90:eb:7e:11' name='guest4' ip='192.168.7.208' /&
&host mac='00:25:90:eb:b2:11' name='guest5' ip='192.168.7.209' /&
&/network&然后用命令:
virsh net-define default.xml
virsh net-start default
启用一个客户机,检查网络时候可用。
延伸阅读:
一,配置第二块网卡1)《CentOS6 5配置网络》(http...
本教程为 李华明 编著的iOS-Cocos2d游戏开发系列教程:教程涵盖关于i......
专题主要学习DirectX的初级编程入门学习,对Directx11的入门及初学者有......
&面向对象的JavaScript&这一说法多少有些冗余,因为JavaScript 语言本......
Windows7系统专题 无论是升级操作系统、资料备份、加强资料的安全及管......KVM 虚拟机的网络模式学习及配置 - CSDN博客
KVM 虚拟机的网络模式学习及配置
& & & & & & & & & & & & KVM 虚拟化环境中的网络模式
& & 最近学习了KVM,对它的网络模式设置不是很清晰,就找了资料来看,大部分都表述的不是很清晰,下面是根据几篇博客整理的,并且通过实验验证。以前系统学习过Vmware的网络模式,KVM的网络模式多少和它有些相似,还比较容易理解。
KVM 客户机网络连接有三种方式:
& -host-only:看网上说也叫隔离模式,个人理解就类似于Vmware的仅主机模式,意思就是将所有的虚拟机组成一个局域网,不能和外界通信,不能访问Internet,其他主机也不能访问虚拟主机,安全性高。
& -NAT方式:&
& &- 用户网络(User Networking):让虚拟机访问主机、互联网或本地网络上的资源的简单方法,但是不能从网络或其他的客户机访问客户机,性能上也需要大的调整。
& -Bridge方式:
& & - 虚拟网桥(Virtual Bridge):这网络模式下客户机与宿主机处于同一网络环境,类似于一台真实的宿主机,直接访问网络资源,设置好后客户机与互联网,客户机与主机之间的通信都很容易。
--------------------------------------------------------------------------------------------
host-only:
& & &仅(虚拟)主机模式比较简单,拓扑图如下:
& & & & & & & &
桥接网络介绍及配置步骤
& & Bridge方式,即客户机通过网桥连接到宿主机网络环境中,可以使客户机成为网络中具有独立IP的主机。
& & &注: 客户机,即用KVM安装在linux宿主机中的虚拟机。
& & 桥接网络,也叫物理设备共享,被用作把一个物理设备复制到一台虚拟机。
& & & & & & & & & & &
& & 网桥的基本原理就是创建一个桥接接口,并把物理主机的eth0绑定到网桥上,客户机的网络模式需要配置为桥接模式,这可以在安装的时候用&--network
bridge=br0
选项指定,也可在虚拟机xml配置文件中定义。
& 1.编辑修改网络设备脚本文件,增加网桥设备br0
vi /etc/sysconfig/network-scripts/ifcfg-br0DEVICE=br0TYPE=BridgeONBOOT=yesNM_CONTROLLED=noBOOTPROTO=staticIPADDR=192.168.8.112NETMASK=255.255.255.0GATEWAY=192.168.8.2DNS1=192.168.8.2DNS2=8.8.8.8
&&2.编辑修改网络设备脚本文件,修改网卡设备eth0
[root@web1 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0DEVICE=eth0HWADDR=00:0C:29:2B:3F:66TYPE=EthernetUUID=dfd0c3de-5954-4c81-abe6-edONBOOT=yesNM_CONTROLLED=noBOOTPROTO=none#IPADDR=192.168.8.112#NETMASK=255.255.255.0#GATEWAY=192.168.8.2#DNS1=192.168.8.2#DNS2=8.8.8.8BRIDGE=br0
// 将 eth0 绑定到网桥接口 br0 上
& 3.重启网络服务
&service network restart
& 4.校验桥接接口
[root@web1 ~]# brctl showbridge name
STP enabled
interfacesbr0
vnet1virbr0
virbr0-nic
&- 客户机 &
& &客户机安装时注意,网络要选择用br0桥接方式。
(1)安装客户机时指定:
virt-install \--name
CentOS6.8 \--ram 512 \--disk path=/kvm_data/CentOS6.8.img,size=30 \--vcpus 1 \--os-type linux \--os-variant rhel6 \--network bridge=br0 \
// 桥接网络--graphics none \--console pty,target_type=serial \--location '/centos/6/os/x86_64/' \
// 这里使用网络镜像--extra-args 'console=ttyS0, serial'
(2)若客户机已经安装好,想修改其网络模式为桥接,则在其xml配置文件中有定义,可以修改:
& virsh edit coohx
..........
&interface type='bridge'&
&mac address='52:54:00:ad:4c:86'/&
&source bridge='br0'/&
&model type='virtio'/&
&address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/&
&/interface&
&interface type='bridge'&
&mac address='52:54:00:d5:0d:34'/&
&source bridge='br0'/&
&model type='virtio'/&
&address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/&
&/interface&..........
这里虚拟机coohx的两个网卡都是桥接网络。
- 登录客户机,配置网卡ip
&这里我给虚拟机添加了2块网卡,eth0/1,分别对应宿主机的virnet0/virnet1,虚拟机配置如下:
vi /etc/sysconfig/network-scripts/ifcfg-eth0 &// 桥接模式,连接到网桥br0.
DEVICE=&eth0&BOOTPROTO=&static&BROADCAST=&192.168.8.255&DNS1=&192.168.8.2&GATEWAY=&192.168.8.2&
// 网关为宿主机所在局域网的网关HWADDR=&52:54:00:AD:4C:86&IPADDR=&192.168.8.16&
// 与宿主机处于同一局域网IPV6INIT=&yes&IPV6_AUTOCONF=&yes&NETMASK=&255.255.255.0&NM_CONTROLLED=&yes&ONBOOT=&yes&TYPE=&Ethernet&#UUID=&a3b35d6a-c4b2-49e2-b35b-999c3bf3243e&
=============================================================================================&
NAT网络简介及配置步骤
&NAT方式是kvm安装后的默认方式。它支持主机与虚拟机的互访,同时也支持虚拟机访问互联网,但不支持外界访问虚拟机。
列出linux宿主机当前KVM的所有网络模式:
[root@web1 ~]# virsh net-list --all名称
Persistent--------------------------------------------------default
default网络(virbr0上)是宿主机安装kvm虚拟机自动安装的。
查看网络接口:
[root@web1 ~]# ifconfig -a |grep -A5 vir*virbr0
Link encap:Ethernet
HWaddr 52:54:00:0D:29:B0
inet addr:192.168.122.1
Bcast:192.168.122.255
Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0--virbr0-nic Link encap:Ethernet
HWaddr 52:54:00:0D:29:B0
BROADCAST MULTICAST
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:500
RX bytes:0 (0.0 b)
TX bytes:0 (0.0 b)
virbr0是由宿主机KVM相关模块安装的一个虚拟网络接口(TAP设备),也是一个switch和bridge,负责把内容分发到各虚拟机。
拓扑图如下:
& & & & & & & & & &&
& & & & & & & & &
virbr0是一个桥接器,给虚拟机群虚拟了一个局域网,这个局域网的网络号默认为 192.168.122.0,可在宿主机上查看:
[root@web1 ~]# brctl showbridge name
STP enabled
interfacesbr0
eth0virbr0
virbr0-nic
[root@web1 ~]# route -nKernel IP routing tableDestination
Flags Metric Ref
Use Iface192.168.122.0
255.255.255.0
0 virbr0 192.168.8.0
255.255.255.0
0 br0169.254.0.0
255.255.0.0
0 br00.0.0.0
192.168.8.2
virbr0是kvm虚拟机NAT网络模式的重要角色,相当于Wmware中NAT网络模式中的虚拟NAT服务器。
同时kvm 安装时默认 NAT 网络模式,他会修改宿主机的 iptables 规则,来实现 NAT网络模式的功能:
其中filter表项如下:
[root@web1 ~]# iptables -nvLChain INPUT (policy ACCEPT 138K packets, 20M bytes) pkts bytes target
prot opt in
destination
udp dpt:53 //由libvirt脚本自动写入
tcp dpt:53
//由libvirt脚本自动写入
udp dpt:67
//由libvirt脚本自动写入
tcp dpt:67
//由libvirt脚本自动写入Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) pkts bytes target
prot opt in
destination
192.168.122.0/24
state RELATED,ESTABLISHED //由libvirt脚本自动写入
192.168.122.0/24
//由libvirt脚本自动写入
virbr0 virbr0
//由libvirt脚本自动写入
reject-with icmp-port-unreachable
reject-with icmp-port-unreachableChain OUTPUT (policy ACCEPT 221K packets, 18M bytes) pkts bytes target
prot opt in
destination
INPUT链接收所有的 tcp/udp包,开放端口53和67,查看系统服务监听状态,这两个端口是dnsmasq服务的端口号:
[root@web1 ~]# netstat -lanp |grep -E '53|67'tcp
0 192.168.122.1:53
2178/dnsmasqtcp
0 127.0.0.1:53
1555/namedtcp
0 127.0.0.1:953
1555/namedtcp
1555/namedtcp
1555/namedudp
0 192.168.122.1:53
2178/dnsmasqudp
0 127.0.0.1:53
1555/namedudp
0 0.0.0.0:67
2178/dnsmasqudp
1555/named
这里kvm需要用到dnsmasq服务,二者详细关系,后面再总结。
再看NAT表项的规则:
[root@web1 ~]# iptables -nvL -t nat --line-numbersChain PREROUTING (policy ACCEPT 0 packets, 0 bytes)num
pkts bytes target
prot opt in
destinationChain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)num
pkts bytes target
prot opt in
destination1
0 MASQUERADE
192.168.122.0/24
!192.168.122.0/24
masq ports: 1024-655352
0 MASQUERADE
192.168.122.0/24
!192.168.122.0/24
masq ports: 1024-655353
0 MASQUERADE
192.168.122.0/24
!192.168.122.0/244
0 MASQUERADE
192.168.122.0/24
0.0.0.0/0Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)num
pkts bytes target
prot opt in
destination
&转发所有来自virbr0上的数据包,将他们的ip转化为外网IP,实现访问internet。
& -NAT网络配置步骤
& &- 宿主机上:
从xml文件定一个NAT网络,会被加载到虚拟机配置文件.
配置NAT网络相关的网络配置文件:/usr/share/libvirt/networks/default.xml的内容,这里选择默认
[root@web1 ~]# vim /usr/share/libvirt/networks/default.xml&network&
&name&default&/name&
&bridge name=&virbr0& /&
&forward/&
&ip address=&192.168.122.1& netmask=&255.255.255.0&&
&range start=&192.168.122.2& end=&192.168.122.254& /&
&/ip&&/network&
标记为自动启动:
[root@web1 ~]# virsh net-autostart default网络default标记为自动启动
[root@web1 ~]# virsh net-start default
查看网络:default已经启动,配置文件/usr/share/libvirt/networks/default.xml
[root@web1 ~]# virsh net-list名称
Persistent--------------------------------------------------default
& &- 客户机上的配置:
[root@web1 ~]# virsh edit coohx
&interface type='bridge'&
&mac address='52:54:00:ad:4c:86'/&
&source bridge='br0'/&
&model type='virtio'/&
&address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/&
&/interface&
&interface type='network'&
&mac address='52:54:00:d5:0d:34'/&
// 这张网卡对应宿主机的vnet1
&source network='default'/&
//加载NAT网络配置
&model type='virtio'/&
&address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/&
&/interface&
启动虚拟机,查看网桥与网卡绑定信息:
[root@web1 ~]# brctl showbridge name
STP enabled
interfacesbr0
vnet0virbr0
virbr0-nic
&vnet1网卡绑定到了 virbr0上面,也就是虚拟机的eth1网卡为NAT网络模式。
& & - 登录客户机,配置网卡eth1的ip
vi /etc/sysconfig/network-scripts/ifcfg-eth1 & // NAT网络模式,连接到网桥 virbr0 &,由它转发(iptables 规则实现)
DEVICE=&eth1&BOOTPROTO=&static&BROADCAST=&192.168.122.255&DNS1=&192.168.122.1&GATEWAY=&192.168.122.1&
// 网关为 virbr0HWADDR=&52:54:00:d5:0d:34&IPADDR=&192.168.122.112&IPV6INIT=&yes&IPV6_AUTOCONF=&yes&NETMASK=&255.255.255.0&NM_CONTROLLED=&no&ONBOOT=&yes&TYPE=&Ethernet&#UUID=&a3b35d6a-c4b2-49e2-b35b-999c3bf3243e&
& &- 验证:
[root@KVM-2 ~]# traceroute www.baidu.comtraceroute to www.baidu.com (61.135.169.125), 30 hops max, 60 byte packets 1
bogon (192.168.122.1)
// 数据包先到 virbr0上,再由iptables 规则转发 2
*[root@KVM-2 ~]# ping www.baidu.com
PING www.a.shifen.com (61.135.169.121) 56(84) bytes of data.64 bytes from 61.135.169.121: icmp_seq=1 ttl=127 time=22.7 ms64 bytes from 61.135.169.121: icmp_seq=2 ttl=127 time=24.0 ms--- www.a.shifen.com ping statistics ---2 packets transmitted, 2 received, 0% packet loss, time 1121msrtt min/avg/max/mdev = 22.774/23.414/24.054/0.640 ms
& & &配置了kvm的网络环境,感觉和 Vmware 的网络模式差不多,Vmware有三种网络模式:桥接、Host-only、NAT,配置比较方便。 这里的virbr0结合iptables规则以后实现的nat功能和Vmware中NAT网络模式中虚拟NAT服务器所实现的功能一样,只不过需要手动配置,比较麻烦。
本文已收录于以下专栏:
相关文章推荐
摘要:KVM虚拟机网络配置的两种方式:NAT方式和Bridge方式。Bridge方式的配置原理和步骤。Bridge方式适用于服务器主机的虚拟化。NAT方式适用于桌面主机的虚拟化。
KVM基本概念KVM (全称是 Kernel-based Virtual Machine) 是 Linux 下 x86 硬件平台上的全功能虚拟化解决方案,包含一个可加载的内核模块 kvm.k...
在安装 Xen或安装 KVM后都会发现网络接口里多了一个叫做 virbr0 的虚拟网络接口,这是由于安装和启用了libvirt服务后生成的,libvirt在服务器(宿主机host)上生成一个virtu...
有时候KVM启用桥接后,系统无法发现VIRBR0网卡,可利用下面方法手工添加
# virsh net-define /usr/share/libvirt/networks/default.x...
默认方式。虚拟机获取一个私有 IP(例如 192.168.122.0/24 网段的),并通过本地主机的 NAT 访问外网。
创建一个本地网桥 virbr0,包括两个端口:virbr0-ni...
使用libvirt配置KVM虚拟机的网络,分别使用bridge和nat方式配置虚拟机的网络。
操作系统配置:centos7,libvirt-1.1.1,qemu-1.5.3
摘要:KVM虚拟机网络配置的两种方式:NAT方式和Bridge方式。Bridge方式的配置原理和步骤。Bridge方式适用于服务器主机的虚拟化。
客户机安装完成后,需要为其设置网络接口,...
VPN属于远程访问技术,简单地说就是利用公网链路架设私有网络。例如公司员工出差到外地,他想访问企
  原理
业内网的服务器资源,这种访问就属于远程访问。怎么才能让外地员工访问到内网...
转载自/2012/08/kvm-bridge-networking/ 感谢原博主的分享
在QEMU/KVM的网络使用中,网桥(bridge)模式可以让客户机...
kvm虚拟化自带只有一个默认的NAT网络名为“default”,其对应bridge名为“virbr0”,本文讲解新创建一个NAT网络名为“management”,其对应bridge名为“virbr1”...
他的最新文章
讲师:宋宝华
讲师:何宇健
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)通过艰难的过程,终于使用libvirt安装完qemu kvm虚拟机了.但是发现虚拟机不能上网.虚拟机想要上网,有很多中方法.
先说两个定义:Guest机器为虚拟机,Host机器为开机运行的真实机器.
查看libvirt的教程,看到网络配置有许多中方式.详情可以访问
NAT (默认上网) 虚拟机利用host机器的ip进行上网.对外显示一个ip
Bridge 将虚拟机桥接到host机器的网卡上,guest和host机器都通过bridge上网.对外不同的ip,
Bridge桥接原理
Bridge方式即虚拟网桥的网络连接方式,是客户机和子网里面的机器能够互相通信。可以使虚拟机成为网络中具有独立IP的主机。
桥接网络(也叫物理设备共享)被用作把一个物理设备复制到一台虚拟机。网桥多用作高级设置,特别是主机多个网络接口的情况。
Bridge桥接原理
如上图,网桥的基本原理就是创建一个桥接接口br0,在物理网卡和虚拟网络接口之间传递数据。
在host机器配置桥接网络
首先可以按照ibm 文章的虚拟机配置一下host机的网络情况,这个的目的就是让host生成一个不日多个桥接,大家都通过这个桥接上网.下面我们来看看具体的步骤.
查看网卡是否工作
确保你想使用bridge网桥的网卡能够为kvm虚拟机模块提供网络连接能力并且网卡是否可以工作.这个网卡应该要能够给guest的kvm虚拟机提供相同的网络支持.接下来例子说明了网卡的配置,并且可以被外部网络访问.这个例子中,使用eth0网卡.
# ifconfig
Link encap:Ethernet
HWaddr 00:14:5E:C2:1E:40
inet addr:10.10.1.152
Bcast:10.10.1.255
Mask:255.255.255.0
inet6 addr: fe80::214:5eff:fec2:1e40/64 Scope:Link
UP BROADCAST RUNNING MULTICAST
RX packets:664 errors:0 dropped:526 overruns:0 frame:0
TX packets:163 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:6 KiB)
TX bytes:2 KiB)
Interrupt:74 Memory:da000000-da012800
................
备份network-scripts网络脚本文件
备份网络配置到不同的目录下,将来可以用来恢复网络配置,. 根据下面的命令将网络脚本ifcfg-eth0 网卡到 /root目录:
# cp /etc/sysconfig/network-scripts/ifcfg-eth0 /root/.
注意:不要把文件copy到/etc/sysconfig/network-scripts/目录或者其子目录
进入network-scripts目录
进入/etc/sysconfig/network-scripts/目录.
cd /etc/sysconfig/network-scripts/
为桥接新建配置文件
为Linux的bridge创建一个新的配置文件为/etc/sysconfig/network-scripts/ifcfg-br0,这里br0是bridge网桥的名字,同eth0类似.使用以下命令
cp ifcfg-eth0 ifcfg-br0
具体的内容是基于已有的配置文件来进行的.
编辑bridge网桥配置文件
编辑配置文件,让数据包通过bridge(网桥)进行上网.你的网络配置很可能是通过静态ip(BOOTPROTO=static)上网或者是从DHCP服务器获得ip(BOOTPROTO=dhcp)上网的.
如果你的网络是通过静态ip地址来配置的,那么你的配置很可能是和下面一样的:
DEVICE=eth0
BOOTPROTO=static
HWADDR=00:14:5E:C2:1E:40
IPADDR=10.10.1.152
NETMASK=255.255.255.0
ONBOOT=yes
下面的表格显示了eth0和br0的静态ip配置内容,可以根据下面进行编辑
**** static ip配置 *****
/etc/sysconfig/network-scripts/ifcfg-eth0
/etc/sysconfig/network-scripts/ifcfg-br0
DEVICE=eth0
TYPE=Ethernet
HWADDR=00:14:5E:C2:1E:40
ONBOOT=yes
NM_CONTROLLED=no
BRIDGE=br0
DEVICE=br0
TYPE=Bridge
NM_CONTROLLED=no
BOOTPROTO=static
IPADDR=10.10.1.152
NETMASK=255.255.255.0
ONBOOT=yes
下面表格显示的eth0和br0的DHCP配置情况.
**** DHCP配置 ****
/etc/sysconfig/network-scripts/ifcfg-eth0
/etc/sysconfig/network-scripts/ifcfg-br0
DEVICE=eth0
TYPE=Ethernet
HWADDR=00:14:5E:C2:1E:40
ONBOOT=yes
NM_CONTROLLED=no
BRIDGE=br0
DEVICE=br0
TYPE=Bridge
NM_CONTROLLED=no
BOOTPROTO=dhcp
ONBOOT=yes
重启网络服务
重启网络以验证网络配置是否工作.
如果网络配置不正确,网络连接将会断开,你的电脑将失去访问能力.这样的话,检查以下配置文件,然后使用以下的命令重启以下网络服务:
# service network restart
禁用网络过滤器
向文件/etc/sysctl.conf添加以下代码:
net.bridge.bridge-nf-call-ip6tables = 0
net.bridge.bridge-nf-call-iptables = 0
net.bridge.bridge-nf-call-arptables = 0
重新加载kernel参数
# sysctl -p
net.ipv4.ip_forward = 0
net.bridge.bridge-nf-call-ip6tables = 0
net.bridge.bridge-nf-call-iptables = 0
net.bridge.bridge-nf-call-arptables = 0
验证配置是否成功
通过运行ifconfig来验证以下配置是否成功.如果出现两个项,即网桥的br0和现在在工作的eth0:
Link encap:Ethernet
HWaddr 00:14:5E:C2:1E:40
inet addr:10.10.1.152
Bcast:10.10.1.255
Mask:255.255.255.0
inet6 addr: fe80::214:5eff:fec2:1e40/64 Scope:Link
UP BROADCAST RUNNING MULTICAST
RX packets:125 errors:0 dropped:0 overruns:0 frame:0
TX packets:81 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1 KiB)
TX bytes:1 KiB)
Link encap:Ethernet
HWaddr 00:14:5E:C2:1E:40
inet6 addr: fe80::214:5eff:fec2:1e40/64 Scope:Link
UP BROADCAST RUNNING MULTICAST
RX packets:206 errors:0 dropped:0 overruns:0 frame:0
TX packets:58 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:2 KiB)
TX bytes:1 KiB)
Interrupt:74 Memory:da000000-da012800
注意:你可能发现eth0的网络信息里面没有ipv4的地址了.或者你的GUI界面的网络显示你是断网的. 这不用担心.因为eth0的网络能力已经通过br0进行工作.你的host网络还是能正常工作的.
也可以使用以下的命令来查看网桥是否工作.
# brctl show
bridge name
STP enabled
interfaces
如果是类似的输出,那么你的Linux的Bridge网桥就配置的差不多了.
为Guest虚拟机配置网络
配置Guest虚拟机的xml文件
在虚拟机的xml配置文件进行设置网络的连接方式为bridge桥接,并且桥接的设备为br0.其中mac地址要改变!不然MAC相同,局域网MAC地址相同的电脑不能上网.
&interface type=&bridge&& &!--虚拟机网络连接方式--&
&source bridge=&br0& /& &!-- 当前主机网桥的名称--&
&mac address=&00:16:e4:9a:b3:6a& /& &!--为虚拟机分配mac地址,务必唯一,否则dhcp获得同样ip,引起冲突--&
&/interface&
在虚拟机配置网络
我使用的是CentOS Minimal Installation的发行版.使用以下命令就可以进行上网了.
一开始只有lo显示.没有看到eth0,后来想到了eth0被禁用了,于是开启即可.
# ifconfig eth0 up
# dhclient eth0
现在还有个问题是,网络不随开机启动.
我打开/etc/sysconfig/network-scripts/ifcfg-eth0显示:
DEVICE=eth0
HWADDR=52:54:00:12:34:56
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=dhcp
虽然设置了开机启动,但是每次开机都需要运行上面的两个命令.这样就没办法远程控制主机了.
后来发现是udev弄的.udev在/etc/udev/rules.d/下面搞了一个持久命名规则(persistent-net.rules),对于网卡的持久命令,就采取了MAC地址的匹配方式
原来虚拟机安装后自带MAC网卡地址和我xml定义的网卡不一样.于是我就将虚拟机的MAC网卡提取出来,替换xml文件的MAC网卡信息.然后undefine和define以下虚拟机.
重启虚拟机,发现这次网络能够自动开机获得了.
声明:未经允许禁止转载 东东东
陈煜东的博客 文章,谢谢。如经授权,转载请注明: 转载自本文链接地址:
相关文章推荐:
Copyright & 2017}

我要回帖

更多关于 桥接方式的虚拟机上网 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信