作者 | Carla Schroder
譯者 | qhwdw ? ? ? ? ? 共計翻譯:112 篇 貢獻時間:199 天
我們又見面了,在上一篇 在 KVM 中測試 IPv6 網路:第 1 部分[1] 中,我們學習了有關 IPv6 私有地址的內容。今天,我們將使用 KVM 建立一個網路,去測試上一星期學習的 IPv6 的內容。
如果你想重新溫習如何使用 KVM,可以檢視 在 KVM 中建立虛擬機器:第 1 部分[2] 和 在 KVM 中建立虛擬機器:第 2 部分— 網路[3]。
在 KVM 中建立網路
在 KVM 中你至少需要兩個虛擬機器。當然了,如果你願意,也可以建立更多的虛擬機器。在我的系統中有 Fedora、Ubuntu、以及 openSUSE。去建立一個新的 IPv6 網路,在主虛擬機器管理視窗中開啟 “Edit > Connection Details > Virtual Networks”。點選左下角的綠色十字按鈕去建立一個新的網路(圖 1)。
圖 1:建立一個網路
給新網路輸入一個名字,然後,點選 “Forward” 按鈕。如果你願意,也可以不建立 IPv4 網路。當你建立一個新的 IPv4 網路時,虛擬機器管理器將不讓你建立重覆網路,或者是使用了一個無效地址。在我的宿主機 Ubuntu 系統上,有效的地址是以綠色高亮顯示的,而無效地址是使用高亮的玫瑰紅色調。在我的 openSUSE 機器上沒有高亮顏色。啟用或不啟用 DHCP,以及建立或不建立一個靜態路由,然後進入下一個視窗。
選中 “Enable IPv6 network address space definition”,然後輸入你的私有地址範圍。你可以使用任何你希望的 IPv6 地址類,但是要註意,不能將你的實驗網路洩漏到公網上去。我們將使用非常好用的 IPv6 唯一本地地址(ULA),並且使用在 Simple DNS Plus[4] 上的線上地址生成器,去建立我們的網路地址。複製 “Combined/CID” 地址到網路框中(圖 2)。
圖 2:複製 “Combined/CID” 地址到網路框中
虛擬機器認為我的地址是無效的,因為,它顯示了高亮的玫瑰紅色。它做的對嗎?我們使用 ipv6calc
去驗證一下:
$ ipv6calc -qi fd7d:844d:3e17:f3ae::/64
Address type: unicast, unique-local-unicast, iid, iid-local
Registry for address: reserved(RFC4193#3.1)
Address type has SLA: f3ae
Interface identifier: 0000:0000:0000:0000
Interface identifier is probably manual set
ipv6calc
認為沒有問題。如果感興趣,你可以改變其中一個數字為無效的東西,比如字母 g
,然後再試一次。(問 “如果…?”,試驗和錯誤是最好的學習方法)。
我們繼續進行,啟用 DHCPv6(圖 3)。你可以接受預設值,或者輸入一個你自己的設定值。
圖 3: 啟用 DHCPv6
我們將跳過預設路由定義這一步,繼續進入下一屏,在那裡我們將啟用 “Isolated Virtual Network” 和 “Enable IPv6 internal routing/networking”。
虛擬機器網路選擇
現在,你可以配置你的虛擬機器去使用新的網路。開啟你的虛擬機器,然後點選頂部左側的 “i” 按鈕去開啟 “Show virtual hardware details” 螢幕。在 “Add Hardware” 列點選 “NIC” 按鈕去開啟網路選擇器,然後選擇你喜歡的新的 IPv6 網路。點選 “Apply”,然後重新啟動。(或者使用你喜歡的方法去重新啟動網路,或者更新你的 DHCP 租期。)
測試
ifconfig
告訴我們它做了什麼?
$ ifconfig
ens3: flags=4163 UP,BROADCAST,RUNNING,MULTICAST mtu 1500
inet 192.168.30.207 netmask 255.255.255.0
broadcast 192.168.30.255
inet6 fd7d:844d:3e17:f3ae::6314
prefixlen 128 scopeid 0x0
inet6 fe80::4821:5ecb:e4b4:d5fc
prefixlen 64 scopeid 0x20
這是我們新的 ULA,fd7d:844d:3e17:f3ae::6314
,它是自動生成的本地鏈路地址。如果你有興趣,可以 ping 一下,ping 網路上的其它虛擬機器:
vm1 ~$ ping6 -c2 fd7d:844d:3e17:f3ae::2c9f
PING fd7d:844d:3e17:f3ae::2c9f(fd7d:844d:3e17:f3ae::2c9f) 56 data bytes
64 bytes from fd7d:844d:3e17:f3ae::2c9f: icmp_seq=1 ttl=64 time=0.635 ms
64 bytes from fd7d:844d:3e17:f3ae::2c9f: icmp_seq=2 ttl=64 time=0.365 ms
vm2 ~$ ping6 -c2 fd7d:844d:3e17:f3ae:a:b:c:6314
PING fd7d:844d:3e17:f3ae:a:b:c:6314(fd7d:844d:3e17:f3ae:a:b:c:6314) 56 data bytes
64 bytes from fd7d:844d:3e17:f3ae:a:b:c:6314: icmp_seq=1 ttl=64 time=0.744 ms
64 bytes from fd7d:844d:3e17:f3ae:a:b:c:6314: icmp_seq=2 ttl=64 time=0.364 ms
當你努力去理解子網時,這是一個可以讓你嘗試不同地址是否可以正常工作的快速易用的方法。你可以給單個介面分配多個 IP 地址,然後 ping 它們去看一下會發生什麼。在一個 ULA 中,介面,或者主機是 IP 地址的最後四部分,因此,你可以在那裡做任何事情,只要它們在同一個子網中即可,在那個例子中是 f3ae
。在我的其中一個虛擬機器上,我只改變了這個示例的介面 ID,以展示使用這四個部分,你可以做任何你想做的事情:
vm1 ~$ sudo /sbin/ip -6 addr add fd7d:844d:3e17:f3ae:a:b:c:6314 dev ens3
vm2 ~$ ping6 -c2 fd7d:844d:3e17:f3ae:a:b:c:6314
PING fd7d:844d:3e17:f3ae:a:b:c:6314(fd7d:844d:3e17:f3ae:a:b:c:6314) 56 data bytes
64 bytes from fd7d:844d:3e17:f3ae:a:b:c:6314: icmp_seq=1 ttl=64 time=0.744 ms
64 bytes from fd7d:844d:3e17:f3ae:a:b:c:6314: icmp_seq=2 ttl=64 time=0.364 ms
現在,嘗試使用不同的子網,在下麵的示例中使用了 f4ae
代替 f3ae
:
$ ping6 -c2 fd7d:844d:3e17:f4ae:a:b:c:6314
PING fd7d:844d:3e17:f4ae:a:b:c:6314(fd7d:844d:3e17:f4ae:a:b:c:6314) 56 data bytes
From fd7d:844d:3e17:f3ae::1 icmp_seq=1 Destination unreachable: No route
From fd7d:844d:3e17:f3ae::1 icmp_seq=2 Destination unreachable: No route
這也是練習路由的好機會,以後,我們將專門做一期,如何在不使用 DHCP 情況下實現自動定址。
via: https://www.linux.com/learn/intro-to-linux/2017/11/testing-ipv6-networking-kvm-part-2
作者:CARLA SCHRODER[6] 選題:lujun9972 譯者:qhwdw 校對:wxy
本文由 LCTT 原創編譯,Linux中國 榮譽推出