CentOS6.3 KVM如何设置网卡为桥接模式
发布时间:2012-11-28 15:51:13 作者:佚名 我要评论
KVM的默认网络模式为NAT,就是说借助宿主机模式上网,现在我们想改成桥接模式,这样外界就可以直接和宿主机里的虚拟机通讯了,本文将介绍此方法的实现
KVM的默认网络模式为NAT,就是说借助宿主机模式上网,现在我们想改成桥接模式,这样外界就可以直接和宿主机里的虚拟机通讯了。
1,首先看一下默认的网络设置
# cat /etc/libvirt/qemu/networks/default.xml
<network>
<name>default</name>
<uuid>1f118032-0345-4725-adcf-6b94f6aca19c</uuid>
<bridge name="virbr0" />
<mac address='52:54:00:F1:6B:6E'/>
<forward/>
<ip address="192.168.122.1" netmask="255.255.255.0">
<dhcp>
<range start="192.168.122.2" end="192.168.122.254" />
</dhcp>
</ip>
</network>
2,再看一下虚拟机配置文件里面的网络设置
#cat /etc/libvirt/qemu/ubuntu10.04.xml
<!--
WARNING: THIS IS AN AUTO-GENERATED FILE. CHANGES TO IT ARE LIKELY TO BE
OVERWRITTEN AND LOST. Changes to this xml configuration should be made using:
virsh edit ubuntu10.04
or other application using the libvirt API.
-->
<domain type='kvm'>
<name>ubuntu10.04</name>
<uuid>2eeb1395-39a2-a169-4da3-f22b20a1d34f</uuid>
<memory unit='KiB'>1048576</memory>
<currentMemory unit='KiB'>1048576</currentMemory>
<vcpu placement='static'>1</vcpu>
<os>
<type arch='x86_64' machine='rhel6.3.0'>hvm</type>
<boot dev='hd'/>
</os>
<features>
<acpi/>
<apic/>
<pae/>
</features>
<clock offset='utc'/>
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
<on_crash>restart</on_crash>
<devices>
<emulator>/usr/libexec/qemu-kvm</emulator>
<disk type='file' device='disk'>
<driver name='qemu' type='raw' cache='none'/>
<source file='/var/lib/libvirt/images/ubuntu10.04.img'/>
<target dev='vda' bus='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
</disk>
<disk type='block' device='cdrom'>
<driver name='qemu' type='raw'/>
<target dev='hdc' bus='ide'/>
<readonly/>
<address type='drive' controller='0' bus='1' target='0' unit='0'/>
</disk>
<controller type='usb' index='0'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
</controller>
<controller type='ide' index='0'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
</controller>
<interface type='bridge'> 原来是interface type='default'
<mac address='52:54:00:50:58:7e'/>
<source bridge='br1'/> 原来是source network='default',这里的br1要根据你的物理网卡下面有讲
<model type='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</interface>
<serial type='pty'>
<target port='0'/>
</serial>
<console type='pty'>
<target type='serial' port='0'/>
</console>
<input type='mouse' bus='ps2'/>
<graphics type='vnc' port='-1' autoport='yes'/>
<sound model='ich6'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
</sound>
<video>
<model type='cirrus' vram='9216' heads='1'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
</video>
<memballoon model='virtio'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
</memballoon>
</devices>
</domain>
[/code]
3,改完之后要更新一下配置文件
# virsh define ubuntu10.04.xml
定义域 ubuntu10.04(从 ubuntu10.04.xml)
#然后就可以virsh start ubuntu10.04了,不过现在物理网卡这块还没有改好
4,物理网卡可以手动更改,不过现在有现成的工具包,可以用这个更改
#wget http://www.convirture.com/downloads/convirture-tools/2.0.1/convirture-tools-2.0.1.tar.gz
# tar zxvf convirture-tools-2.0.1.tar.gz
# /root/convirture-tools/install/managed_server/scripts/convirt-tool --bridge setup
我的这里出现了点小问题,发现网络没起来,所以不要远程来做这个操作,主要原因是里面的配置文件有点需要
小的更改,我的是UUID注释了。
# ls ifcfg-*
ifcfg-br1 ifcfg-br2 ifcfg-br3 ifcfg-br4 ifcfg-em1 ifcfg-em2 ifcfg-em3 ifcfg-em4 ifcfg-lo
我这里有四个物理网卡,所以生成了四个bridge,不过真实用的只有br1
这个工具好有一个好处就是保存了原配置文件,如果你不想用时还可以还原
# ls saved.ifcfg-em*
saved.ifcfg-em1.20121128.101114 saved.ifcfg-em3.20121128.101114
saved.ifcfg-em2.20121128.101114 saved.ifcfg-em4.20121128.101114
看下ifceg-em1
# cat ifcfg-em1
DEVICE="em1"
#BOOTPROTO=none
NM_CONTROLLED="yes"
ONBOOT=yes
TYPE="Ethernet"
#UUID="3bc7fdcc-42b1-4223-b202-e697305897c8"
#IPADDR172.16.10.81
PREFIX=24
GATEWAY=172.16.10.254
DNS1=172.16.10.5
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System em1"
HWADDR=90:B1:1C:20:4D:A5
BRIDGE=br1
看下ifcfg-br1
# cat ifcfg-br1
DEVICE="br1"
BOOTPROTO=none
NM_CONTROLLED="yes"
ONBOOT=yes
#UUID="3bc7fdcc-42b1-4223-b202-e697305897c8"
IPADDR=172.16.10.81
PREFIX=24
GATEWAY=172.16.10.254
DNS1=172.16.10.5
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System br1"
TYPE=Bridge
最后看下网卡
# ifconfig
br1 Link encap:Ethernet HWaddr 90:B1:1C:20:4D:A5
inet addr:172.16.10.81 Bcast:172.16.10.255 Mask:255.255.255.0
inet6 addr: fe80::92b1:1cff:fe20:4da5/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:10219 errors:0 dropped:0 overruns:0 frame:0
TX packets:3776 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:576031 (562.5 KiB) TX bytes:15928008 (15.1 MiB)
em1 Link encap:Ethernet HWaddr 90:B1:1C:20:4D:A5
inet6 addr: fe80::92b1:1cff:fe20:4da5/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:10362 errors:0 dropped:0 overruns:0 frame:0
TX packets:13131 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:766684 (748.7 KiB) TX bytes:16489098 (15.7 MiB)
Interrupt:35
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:144411 errors:0 dropped:0 overruns:0 frame:0
TX packets:144411 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:147381248 (140.5 MiB) TX bytes:147381248 (140.5 MiB)
virbr0 Link encap:Ethernet HWaddr 52:54:00:F1:6B:6E
inet addr:192.168.122.1 Bcast:192.168.122.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2028 errors:0 dropped:0 overruns:0 frame:0
TX packets:1135 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:233311 (227.8 KiB) TX bytes:89372 (87.2 KiB)
vnet0 Link encap:Ethernet HWaddr FE:54:00:50:58:7E
inet6 addr: fe80::fc54:ff:fe50:587e/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:161 errors:0 dropped:0 overruns:0 frame:0
TX packets:3117 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:500
RX bytes:15533 (15.1 KiB) TX bytes:263947 (257.7 KiB)
vnet1 Link encap:Ethernet HWaddr FE:54:00:B5:1A:19
inet6 addr: fe80::fc54:ff:feb5:1a19/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:56 errors:0 dropped:0 overruns:0 frame:0
TX packets:794 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:500
RX bytes:8754 (8.5 KiB) TX bytes:42245 (41.2 KiB)
5,启动虚拟机ubuntu10.04后配置网卡
#cat /etc/network/interface
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 172.16.10.100
netmask 255.255.255.0
gateway 172.16.10.254
#/etc/init.d/networking restart
启动即可
1,首先看一下默认的网络设置
复制代码
代码如下:# cat /etc/libvirt/qemu/networks/default.xml
<network>
<name>default</name>
<uuid>1f118032-0345-4725-adcf-6b94f6aca19c</uuid>
<bridge name="virbr0" />
<mac address='52:54:00:F1:6B:6E'/>
<forward/>
<ip address="192.168.122.1" netmask="255.255.255.0">
<dhcp>
<range start="192.168.122.2" end="192.168.122.254" />
</dhcp>
</ip>
</network>
2,再看一下虚拟机配置文件里面的网络设置
#cat /etc/libvirt/qemu/ubuntu10.04.xml
<!--
WARNING: THIS IS AN AUTO-GENERATED FILE. CHANGES TO IT ARE LIKELY TO BE
OVERWRITTEN AND LOST. Changes to this xml configuration should be made using:
virsh edit ubuntu10.04
or other application using the libvirt API.
-->
<domain type='kvm'>
<name>ubuntu10.04</name>
<uuid>2eeb1395-39a2-a169-4da3-f22b20a1d34f</uuid>
<memory unit='KiB'>1048576</memory>
<currentMemory unit='KiB'>1048576</currentMemory>
<vcpu placement='static'>1</vcpu>
<os>
<type arch='x86_64' machine='rhel6.3.0'>hvm</type>
<boot dev='hd'/>
</os>
<features>
<acpi/>
<apic/>
<pae/>
</features>
<clock offset='utc'/>
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
<on_crash>restart</on_crash>
<devices>
<emulator>/usr/libexec/qemu-kvm</emulator>
<disk type='file' device='disk'>
<driver name='qemu' type='raw' cache='none'/>
<source file='/var/lib/libvirt/images/ubuntu10.04.img'/>
<target dev='vda' bus='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
</disk>
<disk type='block' device='cdrom'>
<driver name='qemu' type='raw'/>
<target dev='hdc' bus='ide'/>
<readonly/>
<address type='drive' controller='0' bus='1' target='0' unit='0'/>
</disk>
<controller type='usb' index='0'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
</controller>
<controller type='ide' index='0'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
</controller>
<interface type='bridge'> 原来是interface type='default'
<mac address='52:54:00:50:58:7e'/>
<source bridge='br1'/> 原来是source network='default',这里的br1要根据你的物理网卡下面有讲
<model type='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</interface>
<serial type='pty'>
<target port='0'/>
</serial>
<console type='pty'>
<target type='serial' port='0'/>
</console>
<input type='mouse' bus='ps2'/>
<graphics type='vnc' port='-1' autoport='yes'/>
<sound model='ich6'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
</sound>
<video>
<model type='cirrus' vram='9216' heads='1'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
</video>
<memballoon model='virtio'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
</memballoon>
</devices>
</domain>
[/code]
3,改完之后要更新一下配置文件
# virsh define ubuntu10.04.xml
定义域 ubuntu10.04(从 ubuntu10.04.xml)
#然后就可以virsh start ubuntu10.04了,不过现在物理网卡这块还没有改好
4,物理网卡可以手动更改,不过现在有现成的工具包,可以用这个更改
#wget http://www.convirture.com/downloads/convirture-tools/2.0.1/convirture-tools-2.0.1.tar.gz
# tar zxvf convirture-tools-2.0.1.tar.gz
# /root/convirture-tools/install/managed_server/scripts/convirt-tool --bridge setup
我的这里出现了点小问题,发现网络没起来,所以不要远程来做这个操作,主要原因是里面的配置文件有点需要
小的更改,我的是UUID注释了。
# ls ifcfg-*
ifcfg-br1 ifcfg-br2 ifcfg-br3 ifcfg-br4 ifcfg-em1 ifcfg-em2 ifcfg-em3 ifcfg-em4 ifcfg-lo
我这里有四个物理网卡,所以生成了四个bridge,不过真实用的只有br1
这个工具好有一个好处就是保存了原配置文件,如果你不想用时还可以还原
# ls saved.ifcfg-em*
saved.ifcfg-em1.20121128.101114 saved.ifcfg-em3.20121128.101114
saved.ifcfg-em2.20121128.101114 saved.ifcfg-em4.20121128.101114
看下ifceg-em1
# cat ifcfg-em1
DEVICE="em1"
#BOOTPROTO=none
NM_CONTROLLED="yes"
ONBOOT=yes
TYPE="Ethernet"
#UUID="3bc7fdcc-42b1-4223-b202-e697305897c8"
#IPADDR172.16.10.81
PREFIX=24
GATEWAY=172.16.10.254
DNS1=172.16.10.5
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System em1"
HWADDR=90:B1:1C:20:4D:A5
BRIDGE=br1
看下ifcfg-br1
# cat ifcfg-br1
DEVICE="br1"
BOOTPROTO=none
NM_CONTROLLED="yes"
ONBOOT=yes
#UUID="3bc7fdcc-42b1-4223-b202-e697305897c8"
IPADDR=172.16.10.81
PREFIX=24
GATEWAY=172.16.10.254
DNS1=172.16.10.5
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System br1"
TYPE=Bridge
最后看下网卡
# ifconfig
br1 Link encap:Ethernet HWaddr 90:B1:1C:20:4D:A5
inet addr:172.16.10.81 Bcast:172.16.10.255 Mask:255.255.255.0
inet6 addr: fe80::92b1:1cff:fe20:4da5/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:10219 errors:0 dropped:0 overruns:0 frame:0
TX packets:3776 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:576031 (562.5 KiB) TX bytes:15928008 (15.1 MiB)
em1 Link encap:Ethernet HWaddr 90:B1:1C:20:4D:A5
inet6 addr: fe80::92b1:1cff:fe20:4da5/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:10362 errors:0 dropped:0 overruns:0 frame:0
TX packets:13131 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:766684 (748.7 KiB) TX bytes:16489098 (15.7 MiB)
Interrupt:35
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:144411 errors:0 dropped:0 overruns:0 frame:0
TX packets:144411 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:147381248 (140.5 MiB) TX bytes:147381248 (140.5 MiB)
virbr0 Link encap:Ethernet HWaddr 52:54:00:F1:6B:6E
inet addr:192.168.122.1 Bcast:192.168.122.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2028 errors:0 dropped:0 overruns:0 frame:0
TX packets:1135 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:233311 (227.8 KiB) TX bytes:89372 (87.2 KiB)
vnet0 Link encap:Ethernet HWaddr FE:54:00:50:58:7E
inet6 addr: fe80::fc54:ff:fe50:587e/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:161 errors:0 dropped:0 overruns:0 frame:0
TX packets:3117 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:500
RX bytes:15533 (15.1 KiB) TX bytes:263947 (257.7 KiB)
vnet1 Link encap:Ethernet HWaddr FE:54:00:B5:1A:19
inet6 addr: fe80::fc54:ff:feb5:1a19/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:56 errors:0 dropped:0 overruns:0 frame:0
TX packets:794 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:500
RX bytes:8754 (8.5 KiB) TX bytes:42245 (41.2 KiB)
5,启动虚拟机ubuntu10.04后配置网卡
#cat /etc/network/interface
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 172.16.10.100
netmask 255.255.255.0
gateway 172.16.10.254
#/etc/init.d/networking restart
启动即可
相关文章
- 然 Ubuntu 提供了优秀的图形化软件管理工具,我们绝大多数时间并不需要使用命令行来管理 Snap 软件包,但命令行拥有更强的功能和灵活性,学会如何使用可以帮你更好地掌控系2024-10-18
Flatpak和Snapcraft怎么选? Linux软件包管理系统优缺点对比
Linux 软件的打包和分发方式在过去几年中也取得了长足地进展,本文将探讨 Flatpak 和 Snapcraft 之间的关键差异,它们各自的优/缺点,以期望帮助用户找到更适合自己的一款2024-10-18linux服务器重启命令哪个好用? Linux服务器重启命令汇总
在 Linux 系统中,最严谨的重启命令是 shutdown -r now,该命令直接将系统重启,而不进行任何清理或准备工作,确保系统彻底重启,但也有很多其他命令,详细如下文介绍2024-10-17教你如何在Linux中使用apt命令? Linux APT命令实战教程
apt是一个软件包管理工具,apt命令相当强大,要是在Ubuntu和Debian系统中使用,可以用来对软件进行安装等操作,需要超级管理员(root)权限进行操作2024-09-29apt 和 apt-get有什么区别? Linux包管理解密
为什么 Debian 系 Linux 发行版同时拥有apt和apt-get这两个雷同的命令?他们之间有什么区别?详细请看下文介绍2024-09-29- Linux圈曝出严重远程代码执行RCE漏洞,已存在10多年,几乎影响所有GNU/Linux发行版,目前尚未有修复补丁,不过可以缓解,解决方案如下2024-09-27
- 在Linux系统中,分区管理是非常重要的一项工作,在使用Linux系统的过程中,有时候我们需要删除某个分区来释放存储空间或重新规划硬盘空间,那么,如何在Linux系统上删除分2024-09-14
深度操作系统deepin 25开发计划公布: 2025 年 01 月发布
deepin 25 计划发布时间为 2025 年01 月,此版本的主要目标是修复 deepin 23 中的遗留问题,提升系统稳定性2024-09-14- FDISK是一个用于硬盘分区的工具,特别是在较早的操作系统版本中,如Windows 98和早期的Linux系统中,FDISK是进行硬盘分区的主要工具,这里就为大家分享一下linux系统中使用2024-08-29
黑神话悟空怎么下载安装? 深度操作系统deepin23黑神话悟空安装教程
deepin23系统想要体验《黑神话:悟空》游戏,该怎么下载安装呢?下面我们就来看看详细的图文教程2024-08-22
最新评论