How-to-connection-ns-outside

环境配置

网络接口

  1. vi /etc/sysconfig/network-scripts/ifcfg-eth0
  2. DEVICE=eth0
  3. TYPE=Ethernet
  4. ONBOOT=yes
  5. NM_CONTROLLED=yes
  6. BOOTPROTO=static
  7. IPADDR=10.20.0.10
  8. NETMASK=255.255.255.0
  9. vi /etc/sysconfig/network-scripts/ifcfg-eth1
  10. DEVICE=eth1
  11. TYPE=Ethernet
  12. ONBOOT=yes
  13. NM_CONTROLLED=yes
  14. BOOTPROTO=static
  15. IPADDR=172.16.0.10
  16. NETMASK=255.255.255.0
  17. vi /etc/sysconfig/network-scripts/ifcfg-eth2
  18. DEVICE=eth2
  19. TYPE=Ethernet
  20. ONBOOT=yes
  21. NM_CONTROLLED=yes
  22. BOOTPROTO=static
  23. IPADDR=192.168.4.10
  24. NETMASK=255.255.255.0

重新启动网络服务

  1. service network restart

创建一个network namespace foo

  1. ip netns add foo

查看network namespace

  1. ip netns

创建一个vethp

  1. ip link add tap-foo type veth peer name tap-root

将tap-foo分配到foo namespace中

  1. ip link set tap-foo netns foo

为tap-foo 加入一个ip地址

  1. ip netns exec foo ip addr add 192.168.10.2/24 dev tap-foo
  2. ip netns exec foo ip link set tap-foo up

查看foo 空间中的网卡信息

  1. ip netns exec foo ip a

为root namespace 中的tap-root加入ip

  1. ip addr add 192.168.10.1/24 dev tap-root
  2. ip netns exec foo ip link set tap-root up

查看 root 空间中的网卡信息

  1. ip a

检查是否网络连通

  1. ping 192.168.10.2
  2. ip netns exec foo ping 192.168.10.1

安装须要用到的包

  1. yum install libvirt openvswitch python-virtinst xauth tigervnc -y

移除默认的libvirt 网络,方便清晰分析网络情况

  1. virsh net-destroy default
  2. virsh net-autostart --disable default
  3. virsh net-undefine default

启动openvswitch

  1. service openvswitch start
  2. chkconfig openvswitch on

创建一个openvswitch bridge 名字叫br-int

  1. ovs-vsctl add-br br-int

利用openvswitch 的 br-int,定义一个libvirt 网络

  1. vi libvirt-vlans.xml
  2. <network>
  3. <name>ovs-network</name>
  4. <forward mode='bridge'/>
  5. <bridge name='br-int'/>
  6. <virtualport type='openvswitch'/>
  7. <portgroup name='no-vlan' default='yes'>
  8. </portgroup>
  9. <portgroup name='vlan-100'>
  10. <vlan>
  11. <tag id='100'/>
  12. </vlan>
  13. </portgroup>
  14. <portgroup name='vlan-200'>
  15. <vlan>
  16. <tag id='200'/>
  17. </vlan>
  18. </portgroup>
  19. </network>

启动libvirt 网络

  1. virsh net-define libvirt-vlans.xml
  2. virsh net-autostart ovs-network
  3. virsh net-start ovs-network

创建一个instance,并连接到ovs-network,网络接口部分配置例如以下

  1. <interface type='network'>
  2. <source network='ovs-network' portgroup='vlan-100'/>
  3. <model type='virtio'/>
  4. </interface>

能够參考附件instance1.xml创建

  1. cp ~/gre/ /var/tmp/
  2. cd /var/tmp/gre
  3. mv cirros-0.3.0-x86_64-disk.img instance1.img
  4. virsh define instance1.xml
  5. virsh start instance1
  6. virsh vncdesplay instance1
  7. vncviewer :0

启动console 以后,登录加入ip得知 192.168.1.20

  1. ip addr add 192.168.1.20/24 dev eth0

加入一个openvswitch port

  1. ip link add br-int-tap100 type veth peer name tap100
  2. ovs-vsctl add-port br-int br-int-tap100
  3. ovs-vsctl set port br-int-tap100 tag=100
  4. ip addr add 192.168.1.21/24 dev tap100
  5. ip link set tap100 up
  6. ip link set br-int-tap100 up

openstack中虚拟机怎么与物理机通信的更多相关文章

  1. Vmware虚拟机网络模式及虚拟机与物理机通信方法

    [转]http://www.cqeis.com/news_detail/newsId=1477.html Vmware虚拟机软件是一个“虚拟PC”软件,它使你可以在一台机器上同时运行二个或更多Wind ...

  2. openvswitch vlan下的虚拟机与物理机通信

    1,安装openvswitch ,图形界面显示等用到的安装包. yum install libvirt openvswitch python-virtinst xauth tigervnc -y 2, ...

  3. vmware linux虚拟机与本地物理机共享文件夹

    cd /mnt/hgfs 使用Vmware安装了linux虚拟机后,开发时,为了方便文件的传输等,因此需要使用共享文件夹,减少工作量.共享文件夹需要用到vmware提供的vmware tools工具, ...

  4. etcd和flannel实现docker跨物理机通信

    实验目标 跨物理机的容器之间能直接访问docker通过Flannel可以实现各容器间的相互通信,即宿主机和容器,容器和容器之间都能相互通信 实验环境 192.168.3.50 //etcd.flann ...

  5. linux的虚拟机时间和物理机时间同步

    1.查看和设置物理机硬件时间 查看硬件时间# hwclock --show或# clock --show 设置硬件时间# hwclock --set --date=”01/14/19 10:19″(月 ...

  6. CentOS安装etcd和flannel实现Docker跨物理机通信

    1.安装etcd yum install etcd systemctl stop etcd systemctl start etcd systemctl status etcd systemctl e ...

  7. OpenStack中虚拟机获取不到IP地址的解决方法

    OpenStack源码交流群: 538850354 系统环境: centos6.5 + icehouse多节点部署 问题描述: 使用测试镜像cirros,虚拟机实例可以正常启动,但是不能从IP池中获取 ...

  8. openstack中虚拟机和其网络的联系方法 instance and network

    instance和network的连接关系: 在neutron数据库中,ports存储了instance和端口的关系,其中device_id表示了instance的id,在nova数据库中的insta ...

  9. hadoop学习;安装jdk,workstation虚拟机v2v迁移;虚拟机之间和跨物理机之间ping网络通信;virtualbox的centos中关闭防火墙和检查服务启动

    JDK 在Ubuntu下的安装 与 环境变量的配置 前期准备工作: 找到  JDK 和 配置TXT文件  并拷贝到桌面下  不是目录 而是文件拷贝到桌面下 以下的命令部分就直接复制粘贴就能够了 1.配 ...

随机推荐

  1. absolute、relative,toggle()

    測试代码例如以下: <div> <div class="global">不应用样式</div> <div class="glob ...

  2. JavaScript 实现表格单列按字母排序

    <!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title> ...

  3. php线性表数组实现的删除操作

    php线性表数组实现的删除操作 一.总结 1.array_pop(): 函数删除数组中的最后一个元素. 二.代码 代码一: //线性表的删除(数组实现) function delete_array_e ...

  4. vue .sync 修饰符和自定义v-model的使用

    VUE 是单向数据流 当我们需要对一个 prop 进行"双向绑定"时 vue 修饰符.sync 子组件:this.$emit('update:visible', visible), ...

  5. robotframework Selenium2+RFS自动化测试

    支持浏览器版本:Google Chrome (64位) 52.0.2743.82 正式版 52.0.2743.6_chrome_installer 64位 下载地址:http://www.online ...

  6. 【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 ...

  7. C/S与B/S架构比较

    一C/S 1.C/S概念 C/S是Client/Server的缩写.服务器通常采用高性能的PC.工作站或小型机,并采用大型数据库系统,如Oracle.Sybase.Informix或 SQL Serv ...

  8. PatentTips - Method for guest operating system integrity validation

    BACKGROUND The embodiments relate to guest operating system integrity validation, and more particula ...

  9. OpenCV人脸检測(完整源代码+思路)

    本博文IDE为vs2013 OpenCV2.49 话不多说,先看视频演示(20S演示): 例如以下: https://v.youku.com/v_show/id_XMjYzMzkxMTYyMA==.h ...

  10. cocos2d-x中六种持续性动作

    持续性动作: (一) 位置变化动作 Move by to Jump by to (二) 属性变化动作 Scale by to Rotate by to Fade in out to Tint to b ...