centos virbr0是什么

网友投稿 1460 2022-10-10

本站部分文章、图片属于网络上可搜索到的公开信息,均用于学习和交流用途,不能代表睿象云的观点、立场或意见。我们接受网民的监督,如发现任何违法内容或侵犯了您的权益,请第一时间联系小编邮箱jiasou666@gmail.com 处理。

centos virbr0是什么

centos virbr0是KVM默认创建的一个Bridge,其作用是为连接其上的虚机网卡提供NAT访问外网的功能;virbr0默认分配一个IP“192.168.122.1”,并为其他虚拟网卡提供DHCP服务。

本文操作环境:CentOS 7系统、DELL G3电脑

理解 virbr0

virbr0 是 KVM 默认创建的一个 Bridge,其作用是为连接其上的虚机网卡提供 NAT 访问外网的功能。

virbr0 默认分配了一个IP 192.168.122.1,并为连接其上的其他虚拟网卡提供 DHCP 服务。

下面我们演示如何使用 virbr0。

在 virt-manager 打开 VM1 的配置界面,网卡 Source device 选择 “default”,

# brctl showbridge name bridge id STP enabled interfacesbr0 8000.000c298decbe no eth0virbr0 8000.fe540075dd1a yes vnet0

用 virsh 命令确认 vnet 就是 VM1 的虚拟网卡。

# virsh domiflist VM1Interface Type Source Model MAC-------------------------------------------------------vnet0 network default rtl8139 52:54:00:75:dd:1a

virbr0 使用 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.leases1441525677 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.6root@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 2015root@VM1:~# ifconfigeth0 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 baidu.comPING 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 ms64 bytes from 180.97.33.107: icmp_seq=2 ttl=52 time=119 ms64 bytes from 180.97.33.107: icmp_seq=3 ttl=52 time=88.5 ms64 bytes from 180.97.33.107: icmp_seq=4 ttl=52 time=38.0 ms64 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 地址转换。

推荐:《centos使用教程》

php入门到就业线上直播课:查看学习

上一篇:docker中解耦和半解耦的区别是什么
下一篇:如何解决centos cat 乱码问题
相关文章

 发表评论

暂时没有评论,来抢沙发吧~