前言
最近在白嫖甲骨文的免费vps,想着用gost开一个socks5.但是在最后运行的时候发现它居然默认只监听了IPv6,如下图.经过不断的摸索最终记录问题所在
检查是否启用了IPv6
使用下面的命令
sudo ip a | grep inet6
若是输出以下内容,则启用了IPv6
inet6 ::1/128 scope host
inet6 fe80::17ff:fe00:d636/64 scope link
若是禁用了则是无任何输出
降低 IPv6的优先级,优先使用IPv4
默认的安装中,IPV4 和 IPV6 并存,并且 IPV6 却优先于 IPV4。如果不需要彻底关闭 IPV6,可以设置让 IPV4 优先于 IPV6。配置方式如下:
- 下面的的代码将IPv6的优先级设置为100.如果无效,建议手动将precedence ::ffff:0:0/96 100移动到/etc/gai.conf的第一行
echo "precedence ::ffff:0:0/96 100" >>/etc/gai.conf
设置 GRUB 启动参数禁用 IPv6
- 编辑
/etc/default/grub
,找到GRUB_CMDLINE_LINUX_DEFAULT="quiet"
修改为:GRUB_CMDLINE_LINUX_DEFAULT="ipv6.disable=1 quiet"
sysctl.conf禁用
- 打开sysctl.conf
sudo vim /etc/sysctl.conf
- 向其添加以下行:
net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1
- 保存文件并使用以下命令重新启动计算机:
sudo reboot
- 通过运行以下命令验证是否已禁用 IPv6:
ip a | grep inet6
遇到的问题
- 部分系统是双栈协议,监听IPv6的同时兼容IPv4.