如何在 Linux 中停用 IPv6

如何在 Linux 中停用 IPv6
帶有標籤的紅色標誌的照片

IPv6 是電腦網路領域最大的發展之一。它為互聯網提供了更大的位址空間,並改進了路由和全域尋址能力。也就是說,IPv6 的採用仍處於起步階段,在僅支援 IPv4 的網路上執行支援 IPv6 的電腦可能會導致連線問題。本文將向您展示如何在 Linux 電腦上停用 IPv6 並在純 IPv4 網路中使用它。

如何驗證 IPv6 狀態

檢查電腦 IPv6 狀態的最快方法是ip addr在終端機上執行命令。這是一個實用程序,它將列印運行 IPv6 網路堆疊的所有可用網路介面:

您也可以檢查電腦的核心二進位檔案是否正在執行 IPv6 的核心模組。如果核心正在主動載入 IPv6 模組,下列命令將列印 IPv6 模組的「/proc」檔案路徑:

如何在 Linux 中停用 IPv6

大多數情況下,在 Linux 上永久停用 IPv6 協定需要您將新參數新增至開機載入程式。為此,請使用您喜歡的文字編輯器開啟 GRUB 設定檔:

Ctrl+ W,然後搜尋「GRUB_CMDLINE_LINUX_DEFAULT」。

反白顯示 Grub 參數行的終端。

寫入ipv6.disable=1變數值的結尾。

顯示 Grub 的 IPv6 參數的終端。

儲存 ( Ctrl+ O) 並退出 ( Ctrl+ X) 文字編輯器。

重新載入引導程式的設定檔:

重新啟動系統,然後執行ls /proc/net/if_inet6以檢查是否已在電腦上成功停用 IPv6。

在基於 Red Hat 的系統上停用 IPv6

除了直接設定電腦的開機載入程式之外,您還可以在使用者層級停用 IPv6。如果您只想在某些網路介面上停用 IPv6,這會很有幫助。

若要在基於 Red Hat 的發行版上停用 IPv6,請開啟一個新的終端機會話,然後列出電腦的所有可用網路介面:

尋找您要停用 IPv6 堆疊的網路介面。就我而言,我想在“enp1s0”乙太網路介面上停用它。

顯示我的機器的乙太網路介面的終端。

在「/etc/sysctl.d」下為 IPv6 堆疊建立一個新的設定檔。

將以下程式碼行貼到新的設定檔中:

儲存新的設定文件,然後執行以下命令來重新載入新設定:

進入電腦的主機文件,然後在包含 IPv6 位址的每一行的開頭新增井號 (#)。

顯示 /etc/hosts 中 IPv6 位址的終端已停用。

建立電腦原始 initramfs 的備份,然後在不支援 IPv6 的情況下重新建立它:

運行該nmcli命令並為您的介面停用其 IPv6 方法。這可確保您的設定在系統重新啟動後仍然有效。

最後,重新啟動系統以套用新設定。

在基於 Debian 的系統上停用 IPv6

就像在基於 Red Hat 的發行版中一樣,您也可以從基於 Debian 的系統的使用者區停用 IPv6 協定。為此,請開啟一個新終端,然後執行ip -6 addr以尋找要停用 IPv6 的介面的名稱:

終端機突出顯示正在運行的 IPv6 堆疊的網路介面。

執行以下命令禁用特定介面上的 IPv6 堆疊:

透過重新載入 sysctl 守護程序及其 Systemd 服務來套用新設定:

停用 IPv6 方法以確保 Systemd 不會覆寫您的自訂設定:

透過執行檢查您的網路介面是否仍有 IPv6 位址ip addr

顯示未運行 IPv6 堆疊的乙太網路介面的終端。

如何在 Linux 中重新啟用 IPv6

若要在 Linux 中重新啟用 IPv6,請使用您喜歡的文字編輯器開啟引導程式設定檔:

Ctrl+ W,然後搜尋「GRUB_CMDLINE_LINUX_DEFAULT」。

終端機使用 IPv6 標誌來反白 Grub 命令列參數。

刪除ipv6.disable=1變數末尾的值。

顯示修改後的 Grub 命令列參數(不含 IPv6 標誌)的終端機。

儲存您的設定文件,然後重新載入引導程式的設定:

重新啟動系統,然後檢查 IPv6 堆疊是否已備份並正在執行。

終端機顯示

在基於 Red Hat 的系統上重新啟用 IPv6

在基於 Red Hat 的發行版上,您可以透過編輯 sysctl 設定檔來重新啟用 IPv6。為此,請開啟一個新的終端會話,然後刪除「/etc/sysctl.d/」下的「40-ipv6.conf」檔案。

重新載入 sysctl 守護程式及其 Systemd 服務:

開啟「/etc/hosts」文件,然後刪除所有包含 IPv6 位址的行前面的井號 (#)。

將機器原來的 initramfs 恢復到其“/boot”分區:

在 nmcli 上重新啟用 IPv6 方法,以確保 Systemd 將在您的網路介面上載入 IPv6 堆疊:

重新啟動系統以套用新設置,然後運行ip -6 addr以確認 IPv6 堆疊已啟動並正在運行。

在基於 Debian 的系統上重新啟用 IPv6

若要在基於 Debian 的發行版上還原 IPv6 堆疊,請開啟一個新終端,然後執行下列命令:

重新載入 sysctl 守護程式及其 Systemd 服務:

使用 nmcli 為您的網路介面啟用 IPv6 堆疊:

ip -6 addr最後,透過執行並檢查您的介面是否有 IPv6 位址來確認您的 IPv6 堆疊正常運作。

顯示在 Debian Linux 上執行的 IPv6 堆疊的終端機。

學習如何在 Linux 中停用和重新啟用 IPv6 堆疊只是進入電腦網路的第一步。透過學習如何使用 Traceroute 追蹤網路中的資料包,多探索這個深刻而奇妙的世界。

圖片來源:Leon Seibert,來自 UnsplashWikimedia Commons。所有修改和螢幕截圖均由 Ramces Red 進行。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *