理解 virbr0 - 每天5分钟玩转 OpenStack(11)
2016-03-23 06:29
330 查看
启动 VM1,brctl show 可以查看到 vnet0 已经挂在了 virbr0 上。# brctl show
bridge name bridge id STP enabled interfaces
br0 8000.000c298decbe no eth0
virbr0 8000.fe540075dd1a yes vnet0用 virsh 命令确认 vnet 就是 VM1 的虚拟网卡。# virsh domiflist VM1
Interface Type Source Model MAC
-------------------------------------------------------
vnet0 network default rtl8139 52:54:00:75:dd:1avirbr0 使用 dnsmasq 提供 DHCP 服务,可以在宿主机中查看该进程信息# ps -elf|grep dnsmasq5 S libvirt+ 2422 1 0 80 0 - 7054 poll_s 11:26 ? 00:00:00 /usr/sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.conf在 /var/lib/libvirt/dnsmasq/ 目录下有一个 default.leases 文件,当 VM1 成功获得 DHCP 的 IP 后,可以在该文件中查看到相应的信息# cat /var/lib/libvirt/dnsmasq/default.leases
1441525677 52:54:00:75:dd:1a 192.168.122.6 ubuntu *上面显示 192.168.122.6 已经分配给 MAC 地址为 52:54:00:75:dd:1a 的网卡,这正是 vnet0 的 MAC。之后就可以使用该 IP 访问 VM1 了。# ssh 192.168.122.6
root@192.168.122.6's password:
Welcome to Ubuntu 14.04.2 LTS (GNU/Linux 3.16.0-30-generic x86_64)
Last login: Sun Sep 6 01:30:23 2015
root@VM1:~# ifconfig
eth0 Link encap:Ethernet HWaddr 52:54:00:75:dd:1a
inet addr:192.168.122.6 Bcast:192.168.122.255 Mask:255.255.255.0
inet6 addr: fe80::5054:ff:fe75:dd1a/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:61 errors:0 dropped:0 overruns:0 frame:0
TX packets:66 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:7453 (7.4 KB) TX bytes:8649 (8.6 KB)Ping一下外网。root@VM1:~# ping www.baidu.com
PING www.a.shifen.com (180.97.33.107) 56(84) bytes of data.
64 bytes from 180.97.33.107: icmp_seq=1 ttl=52 time=36.9 ms
64 bytes from 180.97.33.107: icmp_seq=2 ttl=52 time=119 ms
64 bytes from 180.97.33.107: icmp_seq=3 ttl=52 time=88.5 ms
64 bytes from 180.97.33.107: icmp_seq=4 ttl=52 time=38.0 ms
64 bytes from 180.97.33.107: icmp_seq=5 ttl=52 time=122 ms没有问题,可以访问外网,说明 NAT 起作用了。需要说明的是,使用 NAT 的虚机 VM1 可以访问外网,但外网无法直接访问 VM1。
因为 VM1 发出的网络包源地址并不是 192.168.122.6,而是被 NAT 替换为宿主机的 IP 地址了。这个与使用 br0 不一样,在 br0 的情况下,VM1 通过自己的 IP 直接与外网通信,不会经过 NAT 地址转换。下节我们讨论 vlan 在 linux bridge 中的实现
相关文章推荐
- 理解 virbr0 - 每天5分钟玩转 OpenStack(11)
- linux 打包zip
- linux的一些记录
- nopCommerce 安装失败: 引发类型为“System.OutOfMemoryException”的异常。
- Unable to run the Simulator The operation couldn’t be completed. (LaunchServicesError error 0.)
- Docker-3 Docker 尝试
- 总结与备忘:nginx与php-fpm与php
- centos6.7 64位安装及初始化环境配置
- Docker-1 Introduction
- pthread线程清理
- windows后台服务如何部署到Linux
- "locate: can not open `/var/lib/mlocate/mlocate.db"问题解决
- 夺命雷公狗---DEDECMS----24dedecms让网站头部分离
- 一个简单的OpenGL程序,绘制一个白色正方形
- Linux笔记(69)——nginx平滑升级
- 三、Linux学习之命令基本格式篇
- Linux wget命令详解
- 一个简单的自定义popupwindow
- LINUX
- 理解RESTful架构