本文內容
Azure Marketplace 中的一些 Linux 虛擬機器映像沒有預設的動態主機設定通訊協定版本 6 (DHCPv6) 設定。 若要支援 IPv6,在您使用的 Linux OS 發行版本中必須設定 DHCPv6。 各種 Linux 發行版本會以各種不同的方式設定 DHCPv6,因為其使用不同的套件。
注意
Azure Marketplace 中最新的 SUSE Linux 和 CoreOS 映像已有預先設定 DHCPv6。 使用這些映像不需要再進行額外的變更。
本文件說明如何啟用 DHCPv6 使您的 Linux 虛擬機器取得 IPv6 位址。
警告
不當編輯網路組態檔可能會使您失去 VM 的網路存取權。 我們建議您先在非生產系統上測試組態變更。 本文中的指示已經過在 Azure Marketplace 中最新版 Linux 映像上測試過。 如需更詳細的指示,請參閱您所用 Linux 版本的文件。
針對 RHEL 和 Oracle Linux 7.4 版或更高版本,請遵循下列步驟:
編輯 /etc/sysconfig/network 檔案,並新增下列參數:
NETWORKING_IPV6=yes
編輯 /etc/sysconfig/network-scripts/ifcfg-eth0 檔案,並新增下列兩個參數:
IPV6INIT=yes
DHCPV6C=yes
更新 IPv6 位址︰
sudo ifdown eth0 && sudo ifup eth0
在 Azure 中最新的 SUSE Linux Enterprise Server (SLES) 和 openSUSE 映像已預先設定 DHCPv6。 使用這些映像不需要再進行其他的變更。 如果您具有的 VM 是以較舊或自訂 SUSE 映像為基礎,請執行下列其中一個程序來設定 DHCPv6。
OpenSuSE 13 和 SLES 11
如有需要,安裝 dhcp-client
套件:
sudo zypper install dhcp-client
編輯 /etc/sysconfig/network/ifcfg-eth0 檔案,並新增下列參數:
DHCLIENT6_MODE='managed'
更新 IPv6 位址︰
sudo ifdown eth0 && sudo ifup eth0
OpenSUSE Leap 和 SLES 12
針對 openSUSE Leap 和 SLES 12,請遵循下列步驟:
編輯 /etc/sysconfig/network/ifcfg-eth0 檔案,並以下列值取代 #BOOTPROTO='dhcp4'
參數:
BOOTPROTO='dhcp'
對 /etc/sysconfig/network/ifcfg-eth0 檔案,新增下列參數:
DHCLIENT6_MODE='managed'
更新 IPv6 位址︰
sudo ifdown eth0 && sudo ifup eth0
針對 Ubuntu 17.10 版或更高版本,請遵循下列步驟:
編輯 /etc/dhcp/dhclient.conf
檔案,並新增下列一行:
timeout 10;
在 cloud.cfg.d 資料夾中建立新的檔案,透過重新啟動來保留您的設定。 此檔案中的資訊將會覆寫預設 NETPLAN 設定 (在下列位置的 YAML 設定檔中:/etc/netplan/*.yaml) 。
建立 /etc/cloud/cloud.config.d/91-azure-network.cfg 檔案。 確定 dhcp6: true
反映在必要的介面下,如下列範例所示:
network:
version: 2
ethernets:
eth0:
dhcp4: true
dhcp6: true
match:
driver: hv_netvsc
set-name: eth0
儲存檔案並重新開機。
使用 ifconfig
來驗證虛擬機器是否收到 IPv6 位址。
如果未安裝 ifconfig
,請執行下列命令:
sudo apt update
sudo apt install net-tools
Azure 中所有支援的 Debian 映像均已使用 DHCPv6 進行預先設定。 使用這些映像不需要再進行其他的變更。 如果您具有以較舊或自訂 Debian 映像為基礎的 VM,請遵循下列步驟:
編輯 /etc/dhcp/dhclient6.conf 檔案,並新增下行:
timeout 10;
編輯 /etc/network/interfaces 檔案,並新增下列組態:
iface eth0 inet6 auto
up sleep 5
up dhclient -1 -6 -cf /etc/dhcp/dhclient6.conf -lf /var/lib/dhcp/dhclient6.eth0.leases -v eth0 || true
更新 IPv6 位址︰
sudo ifdown eth0 && sudo ifup eth0
Azure 中最新的 SLES 映像已預先設定 DHCPv6。 使用這些映像不需要再進行其他的變更。 如果您具有的 VM 是以較舊或自訂 CoreOS 映像為基礎,請遵循下列步驟:
編輯 /etc/systemd/network/10_dhcp.network 檔案:
[Match]
eth0
[Network]
DHCP=ipv6
更新 IPv6 位址︰
sudo systemctl restart systemd-networkd