Отключение IPv6 на VPS

ip -6 addr                 # есть ли IPv6-адреса
cat /proc/cmdline          # текущие параметры ядра
ss -tlnp | grep '\['       # какие сервисы слушают на IPv6
0. Подстраховка
ip -4 addr show enp3s0 && ping -4 -c2 1.1.1.1   # IPv4 точно работает

root@inborn-examination:~# ip -4 addr show enp3s0 && ping -4 -c2 1.1.1.1   # IPv4 точно работает
2: enp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq state UP group default qlen 1000
    inet 160.191.77.125/24 brd 160.191.77.255 scope global enp3s0
       valid_lft forever preferred_lft forever
PING 1.1.1.1 (1.1.1.1) 56(84) bytes of data.
64 bytes from 1.1.1.1: icmp_seq=1 ttl=58 time=1.44 ms
64 bytes from 1.1.1.1: icmp_seq=2 ttl=58 time=1.43 ms

--- 1.1.1.1 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1002ms
rtt min/avg/max/mdev = 1.426/1.431/1.436/0.005 ms


IPv4 работает (1.4 мс до 1.1.1.1), можно отключать.
1. sysctl: отключение сразу и после перезагрузки

cat > /etc/sysctl.d/99-disable-ipv6.conf <<'EOF'
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
net.ipv6.conf.enp3s0.disable_ipv6 = 1
EOF
sysctl --system
ip -6 addr        # должно быть пусто


2. Убрать IPv6 из netplan
ls /etc/netplan/ && cat /etc/netplan/*.yaml
cp -a /etc/netplan /root/netplan.bak
Если когда-нибудь понадобится вернуть IPv6, порядок такой:

rm /etc/sysctl.d/99-disable-ipv6.conf /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg
sed -i '/disable_ipv6/d' /etc/sysctl.conf
cp -a /root/netplan.bak/* /etc/netplan/ && netplan apply
sysctl --system && reboot