openstack中虚拟机怎么与物理机通信
How-to-connection-ns-outside
环境配置
网络接口
vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=10.20.0.10
NETMASK=255.255.255.0
vi /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=172.16.0.10
NETMASK=255.255.255.0
vi /etc/sysconfig/network-scripts/ifcfg-eth2
DEVICE=eth2
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=192.168.4.10
NETMASK=255.255.255.0
重新启动网络服务
service network restart
创建一个network namespace foo
ip netns add foo
查看network namespace
ip netns
创建一个vethp
ip link add tap-foo type veth peer name tap-root
将tap-foo分配到foo namespace中
ip link set tap-foo netns foo
为tap-foo 加入一个ip地址
ip netns exec foo ip addr add 192.168.10.2/24 dev tap-foo
ip netns exec foo ip link set tap-foo up
查看foo 空间中的网卡信息
ip netns exec foo ip a
为root namespace 中的tap-root加入ip
ip addr add 192.168.10.1/24 dev tap-root
ip netns exec foo ip link set tap-root up
查看 root 空间中的网卡信息
ip a
检查是否网络连通
ping 192.168.10.2
ip netns exec foo ping 192.168.10.1
安装须要用到的包
yum install libvirt openvswitch python-virtinst xauth tigervnc -y
移除默认的libvirt 网络,方便清晰分析网络情况
virsh net-destroy default
virsh net-autostart --disable default
virsh net-undefine default
启动openvswitch
service openvswitch start
chkconfig openvswitch on
创建一个openvswitch bridge 名字叫br-int
ovs-vsctl add-br br-int
利用openvswitch 的 br-int,定义一个libvirt 网络
vi libvirt-vlans.xml
<network>
<name>ovs-network</name>
<forward mode='bridge'/>
<bridge name='br-int'/>
<virtualport type='openvswitch'/>
<portgroup name='no-vlan' default='yes'>
</portgroup>
<portgroup name='vlan-100'>
<vlan>
<tag id='100'/>
</vlan>
</portgroup>
<portgroup name='vlan-200'>
<vlan>
<tag id='200'/>
</vlan>
</portgroup>
</network>
启动libvirt 网络
virsh net-define libvirt-vlans.xml
virsh net-autostart ovs-network
virsh net-start ovs-network
创建一个instance,并连接到ovs-network,网络接口部分配置例如以下
<interface type='network'>
<source network='ovs-network' portgroup='vlan-100'/>
<model type='virtio'/>
</interface>
能够參考附件instance1.xml创建
cp ~/gre/ /var/tmp/
cd /var/tmp/gre
mv cirros-0.3.0-x86_64-disk.img instance1.img
virsh define instance1.xml
virsh start instance1
virsh vncdesplay instance1
vncviewer :0
启动console 以后,登录加入ip得知 192.168.1.20
ip addr add 192.168.1.20/24 dev eth0
加入一个openvswitch port
ip link add br-int-tap100 type veth peer name tap100
ovs-vsctl add-port br-int br-int-tap100
ovs-vsctl set port br-int-tap100 tag=100
ip addr add 192.168.1.21/24 dev tap100
ip link set tap100 up
ip link set br-int-tap100 up
openstack中虚拟机怎么与物理机通信的更多相关文章
- Vmware虚拟机网络模式及虚拟机与物理机通信方法
[转]http://www.cqeis.com/news_detail/newsId=1477.html Vmware虚拟机软件是一个“虚拟PC”软件,它使你可以在一台机器上同时运行二个或更多Wind ...
- openvswitch vlan下的虚拟机与物理机通信
1,安装openvswitch ,图形界面显示等用到的安装包. yum install libvirt openvswitch python-virtinst xauth tigervnc -y 2, ...
- vmware linux虚拟机与本地物理机共享文件夹
cd /mnt/hgfs 使用Vmware安装了linux虚拟机后,开发时,为了方便文件的传输等,因此需要使用共享文件夹,减少工作量.共享文件夹需要用到vmware提供的vmware tools工具, ...
- etcd和flannel实现docker跨物理机通信
实验目标 跨物理机的容器之间能直接访问docker通过Flannel可以实现各容器间的相互通信,即宿主机和容器,容器和容器之间都能相互通信 实验环境 192.168.3.50 //etcd.flann ...
- linux的虚拟机时间和物理机时间同步
1.查看和设置物理机硬件时间 查看硬件时间# hwclock --show或# clock --show 设置硬件时间# hwclock --set --date=”01/14/19 10:19″(月 ...
- CentOS安装etcd和flannel实现Docker跨物理机通信
1.安装etcd yum install etcd systemctl stop etcd systemctl start etcd systemctl status etcd systemctl e ...
- OpenStack中虚拟机获取不到IP地址的解决方法
OpenStack源码交流群: 538850354 系统环境: centos6.5 + icehouse多节点部署 问题描述: 使用测试镜像cirros,虚拟机实例可以正常启动,但是不能从IP池中获取 ...
- openstack中虚拟机和其网络的联系方法 instance and network
instance和network的连接关系: 在neutron数据库中,ports存储了instance和端口的关系,其中device_id表示了instance的id,在nova数据库中的insta ...
- hadoop学习;安装jdk,workstation虚拟机v2v迁移;虚拟机之间和跨物理机之间ping网络通信;virtualbox的centos中关闭防火墙和检查服务启动
JDK 在Ubuntu下的安装 与 环境变量的配置 前期准备工作: 找到 JDK 和 配置TXT文件 并拷贝到桌面下 不是目录 而是文件拷贝到桌面下 以下的命令部分就直接复制粘贴就能够了 1.配 ...
随机推荐
- absolute、relative,toggle()
測试代码例如以下: <div> <div class="global">不应用样式</div> <div class="glob ...
- JavaScript 实现表格单列按字母排序
<!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title> ...
- php线性表数组实现的删除操作
php线性表数组实现的删除操作 一.总结 1.array_pop(): 函数删除数组中的最后一个元素. 二.代码 代码一: //线性表的删除(数组实现) function delete_array_e ...
- vue .sync 修饰符和自定义v-model的使用
VUE 是单向数据流 当我们需要对一个 prop 进行"双向绑定"时 vue 修饰符.sync 子组件:this.$emit('update:visible', visible), ...
- robotframework Selenium2+RFS自动化测试
支持浏览器版本:Google Chrome (64位) 52.0.2743.82 正式版 52.0.2743.6_chrome_installer 64位 下载地址:http://www.online ...
- 【Codeforces Round #429 (Div. 1) B】Leha and another game about graph
[链接]点击打开链接 [题意] 给出一个连通图,并给每个点赋一个d值0或1或-1,要求选出一个边的集合,使得所有的点i要么d[i] == -1,要么 dgree[i] % 2 == d[i],dgr ...
- C/S与B/S架构比较
一C/S 1.C/S概念 C/S是Client/Server的缩写.服务器通常采用高性能的PC.工作站或小型机,并采用大型数据库系统,如Oracle.Sybase.Informix或 SQL Serv ...
- PatentTips - Method for guest operating system integrity validation
BACKGROUND The embodiments relate to guest operating system integrity validation, and more particula ...
- OpenCV人脸检測(完整源代码+思路)
本博文IDE为vs2013 OpenCV2.49 话不多说,先看视频演示(20S演示): 例如以下: https://v.youku.com/v_show/id_XMjYzMzkxMTYyMA==.h ...
- cocos2d-x中六种持续性动作
持续性动作: (一) 位置变化动作 Move by to Jump by to (二) 属性变化动作 Scale by to Rotate by to Fade in out to Tint to b ...