centos virbr0是KVM預設建立的Bridge,其作用是為連接其上的虛機網路卡提供NAT存取外網的功能;virbr0預設指派一個IP“192.168.122.1”,並為其他虛擬網卡提供DHCP服務。
本文操作環境:CentOS 7系統、DELL G3電腦
## centos virbr0是什麼?
理解virbr0
virbr0 是KVM 預設創建的一個Bridge,其作用是為連接其上的虛機網路卡提供NAT 存取外網的功能。
virbr0 預設指派了一個IP 192.168.122.1,並為連接其上的其他虛擬網路卡提供 DHCP 服務。
下面我們要示範如何使用 virbr0。
在virt-manager 開啟VM1 的設定介面,網路卡Source device 選擇“default”,
將VM1 的網路卡掛在virbr0 上。
啟動 VM1,brctl show 可以查看到 vnet0 已經掛在 virbr0 上了。
# brctl show bridge name bridge id STP enabled interfaces br0 8000.000c298decbe no eth0 virbr0 8000.fe540075dd1a yes # vnet01能夠確認時使用虛擬指令上使用虛擬指令#net 指令#net 指令#net#net 指令#111111 v.12111 v71111111100024 的虛擬指令。
# virsh domiflist VM1 Interface Type Source Model MAC -------------------------------------------------- ----- vnet0 network default rtl8139 52:54:00:75:dd:1a
virbr0 使用dnsmasq 提供DHCP 服務,可以在宿主機中查看該進程資訊
# ps -elf|grep dnsmasq
5 S libvirt 2422 1 0 80 0 - 7054 poll_s 11:26 ?
0:##00:0 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:1a52:54:00:75:dd:1a192.168.122.6 ubuntu *
#上面顯示192.168.122.6 已經分配到位址為
的網路卡,這正是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:1ainet 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 位址轉換。
推薦:《centos使用教學》
以上是centos virbr0是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!