命令行方式配置kvm桥接
来源:互联网 发布:unix 网络编程 编辑:程序博客网 时间:2024/06/03 20:34
以前写通过窗口设置虚拟机桥接,今天介绍一下通过命令行配置。
众所周知,虚拟机连接外网有两种方法:NAT和Bridge。简单介绍一下这两种方式:
NAT(网络地址转化):host主机与虚拟机vm,属于两个不同的网络。虚拟机vm通过NAT方式并且借助host主机物理网卡,访问外网。
图1
这种场景,网络情况:
1)Vm和Host1可以通信。
2)Vm和外网可以通信。
3)Vm和Host2不可以通信。
Bridge(桥接):是把host主机网卡,加入到网桥中。此网卡管理不再由linux管理,而是有网桥管理。然后虚拟机中虚拟网卡也加入到网桥中,这样虚拟机和host主机则处在相同的网络中,如下图所示:
个人觉得,把虚拟机vm设置成桥接模式,这样能够比较方便。今天就介绍一下如何通过命令行方式,设置成桥接模式。
1、创建网桥br(通过ovs设置)
[root@localhost ~]#[root@localhost ~]# ovs-vsctl add-br mybr0[root@localhost ~]#
2、将物理网卡加入到br中
[root@localhost ~]#[root@localhost ~]# ovs-vsctl add-port mybr0 em0[root@localhost ~]#
在将em0网卡加入到网桥之前,如果em0已经配置ip,则需要先删除(其实不删除也没有关系)。
3、设置em0的网卡配置文件
[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-em0HWADDR=B8:2A:72:D9:4D:D1TYPE=EthernetNM_CONTROLLED=no#BOOTPROTO=dhcp #将dhcp方式注释掉 如果是静态方式则需要注释ip等相关内容Bridge=mybr0 #开启网桥方式DEFROUTE=yesPEERDNS=yesPEERROUTES=yesIPV4_FAILURE_FATAL=noIPV6INIT=yesIPV6_AUTOCONF=yesIPV6_DEFROUTE=yesIPV6_PEERDNS=yesIPV6_PEERROUTES=yesIPV6_FAILURE_FATAL=noNAME=em0UUID=abc51c21-b1ec-427f-a246-1610cbbb1c36
4、网桥自动获取ip(如果是静态方式则手动配置),一定要做,不然host主机就不能上网了
[root@localhost ~]#[root@localhost ~]# dhclient mybr0[root@localhost ~]#[root@localhost ~]#[root@localhost ~]# ifconfig mybr0mybr0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.1.100 netmask 255.255.255.0 broadcast 192.168.1.255 inet6 fe80::ba2a:72ff:fed9:4dd1 prefixlen 64 scopeid 0x20<link> ether b8:2a:72:d9:4d:d1 txqueuelen 1000 (Ethernet) RX packets 1874347 bytes 550442459 (524.9 MiB) RX errors 0 dropped 473 overruns 0 frame 0 TX packets 214533 bytes 91457715 (87.2 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0[root@localhost ~]#[root@localhost ~]#
注意:只需要把网桥mybr0当成普通网卡就行了,其实没有什么高深内容。
5、Kvm虚拟机配置文件设置,在配置文件中增加interface
<interface type='bridge'> //虚拟机网络连接方式 <source bridge='mybr0'/> <virtualport type='openvswitch'/> <model type='virtio'/> <driver name='vhost' queues='8'/> <mac address="00:16:3E:64:01:00"/> <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/> </interface>
通过上面配置,启动虚拟机,虚拟机ip应该和host主机是同一个网络。亲测,没有问题。
最后在提供一个脚本,获取虚拟机vm的IP地址:
#!/bin/bash #BY MRCO,2015-06-10 #MODIFY 2015-06-10 #ping当前网段内在线的主机,以便产生arp记录. subnet=`route -n|grep "UG" |awk '{print $2}'|sed 's/..$//g'` for ip in $subnet.{1..253};do { ping -c1 $ip >/dev/null 2>&1 }& done #依次查找arp记录. running_vms=`virsh list |grep running` echo -ne "共有`echo "$running_vms"|wc -l`个虚拟机在运行.\n" for i in `echo "$running_vms" | awk '{ print $2 }'`;do mac=`virsh dumpxml $i |grep "mac address"|sed "s/.*'\(.*\)'.*/\1/g"` ip=`arp -ne |grep "$mac" |awk '{printf $1}'` printf "%-30s %-30s\n" $i $ip done
阅读全文
0 0
- 命令行方式配置kvm桥接
- KVM 虚拟机命令行安装配置
- CentOS6.2 KVM 虚拟机命令行安装配置
- KVM虚拟机网络配置 NAT方式
- KVM虚拟机网络配置 Bridge方式
- KVM虚拟机网络配置 Bridge方式,NAT方式
- ubuntu 命令行方式配置网络
- 命令行方式配置windows环境变量
- kvm 命令行参数
- qemu-kvm命令行参数
- 使用命令行安装KVM
- qemu-kvm命令行参数
- Kvm命令行基本操作
- Redhatx86系统KVM虚拟机网络配置 —Bridge方式
- 配置KVM虚拟机的网络,Bridge和Nat方式
- 配置KVM虚拟机的网络 Bridge和Nat方式
- 网络文件系统NFS的命令行配置方式
- 如何通过命令行方式配置ODBC数据源
- Matlab之双线性插值'bilinear'
- [操作系统] 文件系统的实现(一)
- Unity3D-在代码中设置RectTransform的锚点、位置
- Could not instantiate bean class [java.util.List]: Specified class is an interface
- 本地PHP访问MySql数据库慢
- 命令行方式配置kvm桥接
- Python基础python简介
- 大型网站图片服务器架构的演进
- webpack基本打包配置流程
- php 抽奖概率 随机数
- ithuangqing-Android样式开发之shape详细使用
- mvp+rxjava2+retrofit2项目框架
- ANNOVAR 注释软件
- TCP状态连接详解+排错