Categories: Linux

Ubuntu Linux 停用 IPv6 網路位址教學

介紹如何在 Ubuntu Linux 中停用 IPv6 網路位址,只使用 IPv4 網路位址。

停用 IPv6 網路位址

在 Ubuntu Linux 中,若要查詢系統目前的網路位址,可以使用 ip 指令:

# 查詢 IP 位址
ip address
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 8550 qdisc mq state UP group default qlen 1000
    link/ether fa:16:3e:0a:2c:91 brd ff:ff:ff:ff:ff:ff
    inet 192.168.211.16/24 brd 192.168.211.255 scope global dynamic ens3
       valid_lft 70738sec preferred_lft 70738sec
    inet6 fe80::f816:3eff:fe0a:2c91/64 scope link
       valid_lft forever preferred_lft forever

若要停用 IPv6 的網路位址,可以使用 sysctl 指令:

# 停用 IPv6 網路位址
sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1
sudo sysctl -w net.ipv6.conf.default.disable_ipv6=1
sudo sysctl -w net.ipv6.conf.lo.disable_ipv6=1

停用 IPv6 之後,在以 ip 指令查詢網路位址時,就不會出現 IPv6 的位址了:

# 查詢 IP 位址
ip address
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 8550 qdisc mq state UP group default qlen 1000
    link/ether fa:16:3e:0a:2c:91 brd ff:ff:ff:ff:ff:ff
    inet 192.168.211.16/24 brd 192.168.211.255 scope global dynamic ens3
       valid_lft 70636sec preferred_lft 70636sec

若要恢復 IPv6 網路位址,則可執行:

# 啟用 IPv6 網路位址
sudo sysctl -w net.ipv6.conf.all.disable_ipv6=0
sudo sysctl -w net.ipv6.conf.default.disable_ipv6=0
sudo sysctl -w net.ipv6.conf.lo.disable_ipv6=0

開機自動停用 IPv6 網路位址

使用 sysctl 停用或啟用 IPv6 網路位址,只會影響當前的系統狀態,重新開機之後就會恢復成預設值。

若要改變系統的預設值,可以將設定值寫在 /etc/sysctl.conf 設定檔中。例如若要永久停用 IPv6 網路位址,則在 /etc/sysctl.conf 加入這幾行設定:

# 停用 IPv6 網路位址
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1

若要永久啟用 IPv6 網路位址,則改為這樣:

# 啟用 IPv6 網路位址
net.ipv6.conf.all.disable_ipv6 = 0
net.ipv6.conf.default.disable_ipv6 = 0
net.ipv6.conf.lo.disable_ipv6 = 0

透過 GRUB 停用 IPv6 網路位址

若要透過 GRUB 讓系統在開機時就停用 IPv6 的網路位址,可編輯 /etc/default/grub 設定檔,修改 GRUB_CMDLINE_LINUX_DEFAULTGRUB_CMDLINE_LINUX 兩項設定值,加入 ipv6.disable=1

# 停用 IPv6 網路位址
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash ipv6.disable=1"
GRUB_CMDLINE_LINUX="ipv6.disable=1"

這樣系統在開機時就會直接將 IPv6 網路位址停用。

參考資料:It’s FOSS

Share
Published by
Office Guide

Recent Posts

Python 使用 PyAutoGUI 自動操作滑鼠與鍵盤

本篇介紹如何在 Python ...

1 年 ago

Ubuntu Linux 以 WireGuard 架設 VPN 伺服器教學與範例

本篇介紹如何在 Ubuntu ...

1 年 ago

Linux 網路設定 ip 指令用法教學與範例

本篇介紹如何在 Linux 系...

1 年 ago

Linux 以 Cryptsetup、LUKS 加密 USB 隨身碟教學與範例

介紹如何在 Linux 系統中...

1 年 ago