-
Notifications
You must be signed in to change notification settings - Fork 767
禁用 IPv6
ssrlive edited this page Mar 27, 2024
·
14 revisions
如果你的 VPS 主机同时启用了 IPv4 和 IPv6 功能, 那么所有从域名字符串解析成 IP 地址的操作均会返回 IPv6 格式的地址, 而有些目标地址指向的服务器并不支持 IPv6 地址类型, 导致连接失败, 因此我们有必要在我们的 VPS 上禁用 IPv6 功能.
可以使用以下命令分别查询本机的 IPv6 和 IPv4 地址:
curl ipv6.ip.sb curl ipv4.ip.sb curl ip.sb
在 Ubuntu 系统上的操作如下.
用 vi 编辑文件 /etc/sysctl.conf
sudo vi /etc/sysctl.conf
用 下箭头 ∇
将光标移到文件末尾, 然后按下 i
键将文件切换到编辑模式。在文件的最后加入下面几行。
# IPv6 disabled
net.ipv6.conf.all.disable_ipv6=1
net.ipv6.conf.default.disable_ipv6=1
net.ipv6.conf.lo.disable_ipv6=1
输入完毕并检查无误后,按下 键盘左上角的 ESC
键退出编辑模式,然后按下 :wq
这三个键(意思是 冒号,write,quit)来
保存并关闭文件, 然后重启 sysctl
sudo sysctl -p
检查 ifconfig
的输出,这里应该没有 IPv6 地址了。
如果
ifconfig
尚未安装, 就用sudo apt install net-tools
命令装上
ifconfig
eth0 Link encap:EthernetHWaddr08:00:27:5f:28:8b
inet addr:192.168.1.3Bcast:192.168.1.255Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500Metric:1
RX packets:1346 errors:0 dropped:0 overruns:0 frame:0
TX packets:965 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1501691(1.5 MB) TX bytes:104883(104.8 KB)
如果不行,尝试重启系统 reboot
并再次检查 ifconfig
任何疑问或建议, 请到 Issues 提出.