Отключить поддержку ipv6

Добрый день

Подскажите пожалуйста, как полностью отключить поддержку IPV6?

Добрый день.
Стандартно для Debian: https://bobcares.com/blog/debian-12-disable-ipv6/

Андрей, вы сами пробовали перед ответом? Method 3 не пробовали? =))
А я пробовал. netstat -tunlp все равно показывает активных слушателей ipv6. Даже пляски с nmcli не помогли :frowning:

Да, я пробовал, не раз.
А что ожидаете в выводе netstat увидеть?

Ожидаю отсутствие слушателей на ipv6.
На соседних RPI все прекрасно отключается и листенеров нет. А тут nm :frowning:, странно что вы этого не видите, это дефолтовая установка… только-только WB 8.5.1 приехал, настроен только NTP, судя по всему вы не пробовали следовать своим советам:

» sudo netstat -tunlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:1883            0.0.0.0:*               LISTEN      1647/mosquitto
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1565/sshd: /usr/sbi
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      2274/nginx: master
tcp        0      0 0.0.0.0:9140            0.0.0.0:*               LISTEN      3577/docker-proxy
tcp        0      0 0.0.0.0:9100            0.0.0.0:*               LISTEN      3562/docker-proxy
tcp6       0      0 127.0.0.1:18883         :::*                    LISTEN      1647/mosquitto
tcp6       0      0 :::1883                 :::*                    LISTEN      1647/mosquitto
tcp6       0      0 :::22                   :::*                    LISTEN      1565/sshd: /usr/sbi
tcp6       0      0 :::6720                 :::*                    LISTEN      1/init
tcp6       0      0 :::9140                 :::*                    LISTEN      3593/docker-proxy
tcp6       0      0 :::9100                 :::*                    LISTEN      3586/docker-proxy
udp        0      0 0.0.0.0:40036           0.0.0.0:*                           300/avahi-daemon: r
udp        0      0 0.0.0.0:5353            0.0.0.0:*                           300/avahi-daemon: r
udp        0      0 0.0.0.0:3671            0.0.0.0:*                           1712/knxd
udp        0      0 172.18.0.1:123          0.0.0.0:*                           1526/ntpd
udp        0      0 192.168.3.46:123        0.0.0.0:*                           1526/ntpd
udp        0      0 127.0.0.1:123           0.0.0.0:*                           1526/ntpd
udp        0      0 0.0.0.0:123             0.0.0.0:*                           1526/ntpd
udp6       0      0 :::5353                 :::*                                300/avahi-daemon: r
udp6       0      0 ::1:123                 :::*                                1526/ntpd
udp6       0      0 :::123                  :::*                                1526/ntpd
udp6       0      0 :::35622                :::*                                300/avahi-daemon: r

вот вам rpi, для сравнения

» sudo netstat -tunlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      327592/cupsd
tcp        0      0 0.0.0.0:9273            0.0.0.0:*               LISTEN      284469/docker-proxy
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      845/sshd: /usr/sbin
tcp        0      0 0.0.0.0:9150            0.0.0.0:*               LISTEN      367221/docker-proxy
tcp        0      0 0.0.0.0:9140            0.0.0.0:*               LISTEN      1529/docker-proxy
tcp        0      0 0.0.0.0:9130            0.0.0.0:*               LISTEN      1433/docker-proxy
tcp        0      0 0.0.0.0:9115            0.0.0.0:*               LISTEN      1686/docker-proxy
tcp        0      0 0.0.0.0:9100            0.0.0.0:*               LISTEN      1473/docker-proxy
tcp        0      0 0.0.0.0:9090            0.0.0.0:*               LISTEN      1738/docker-proxy
tcp        0      0 0.0.0.0:9093            0.0.0.0:*               LISTEN      1568/docker-proxy
tcp        0      0 0.0.0.0:19532           0.0.0.0:*               LISTEN      1/init
tcp        0      0 0.0.0.0:3000            0.0.0.0:*               LISTEN      6095/docker-proxy
udp        0      0 0.0.0.0:36238           0.0.0.0:*                           681/avahi-daemon: r
udp        0      0 0.0.0.0:5353            0.0.0.0:*                           681/avahi-daemon: r
--- ~ »

Интересно…
Я предполагаю что “отключить ipv6” - убрать у интерфейсов работу с ним.
В общем до отключения:

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: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:85:01:01:84:84 brd ff:ff:ff:ff:ff:ff
    inet 10.0.0.80/24 brd 10.0.0.255 scope global dynamic noprefixroute eth0
       valid_lft 8129sec preferred_lft 8129sec
    inet6 fe80::dbe9:94c1:2f6b:1d82/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
3: eth1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
    link/ether 00:85:01:01:80:80 brd ff:ff:ff:ff:ff:ff
4: wlan0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
    link/ether 98:03:cf:b1:d1:d4 brd ff:ff:ff:ff:ff:ff
5: wlan1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
    link/ether 9a:03:cf:b1:d1:d4 brd ff:ff:ff:ff:ff:ff
6: dbg0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
    link/ether 1a:55:89:a2:69:43 brd ff:ff:ff:ff:ff:ff

После:

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: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:85:01:01:84:84 brd ff:ff:ff:ff:ff:ff
    inet 10.0.0.80/24 brd 10.0.0.255 scope global dynamic noprefixroute eth0
       valid_lft 4430sec preferred_lft 4430sec
3: eth1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
    link/ether 00:85:01:01:80:80 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.5/24 brd 192.168.1.255 scope global noprefixroute eth1
       valid_lft forever preferred_lft forever
4: wlan0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
    link/ether 98:03:cf:b1:d1:d4 brd ff:ff:ff:ff:ff:ff
5: wlan1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
    link/ether 9a:03:cf:b1:d1:d4 brd ff:ff:ff:ff:ff:ff
6: dbg0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
    link/ether 1a:55:89:a2:69:43 brd ff:ff:ff:ff:ff:ff

Если имелись в виду настройки сервисов - то не подскажу, не знаю.

Отключить, это не убрать, это именно отключить глобально на уровне ОС, тут двучтений быть не может. Для RPI этот модуль отключается на уровне загрузчика и дальше весь софт работает с тем что есть, с IPV4 и никаких настроек софта не требуется.
Правка /etc/sysctl.conf результата не дает

net.ipv6.conf.all.disable_ipv6 = 1

после перезагрузки ipv6 возвращается на место. то что у вас на интерфейсе уходит inet6 хорошо только в лабораторных задачах, попробуйте рестартовать хост - все вернется на свои места.

--- ~ » sudo ip -6 addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 state UNKNOWN qlen 1000
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
--- ~ » sudo cat /etc/sysctl.conf
vm.swappiness = 1
net.ipv6.conf.all.disable_ipv6 = 1

--- ~ » sudo sysctl -p
vm.swappiness = 1
net.ipv6.conf.all.disable_ipv6 = 1
--- ~ » sudo ip -6 addr
--- ~ »

upd: если ipv6 отключен, то тут должно быть пусто

--- ~ » sudo ls /proc/sys/net/ipv6/
anycast_src_echo_reply     ip6frag_high_thresh
auto_flowlabels            ip6frag_low_thresh
bindv6only                 ip6frag_secret_interval
conf                       ip6frag_time
fib_multipath_hash_fields  ip_nonlocal_bind
fib_multipath_hash_policy  max_dst_opts_length
fib_notify_on_flag_change  max_dst_opts_number
flowlabel_consistency      max_hbh_length
flowlabel_reflect          max_hbh_opts_number
flowlabel_state_ranges     mld_max_msf
fwmark_reflect             mld_qrv
icmp                       neigh
idgen_delay                route
idgen_retries              seg6_flowlabel
ioam6_id                   xfrm6_gc_thresh
ioam6_id_wide

Не совсем понятно, нет ответа на мой вопрос или опять “не вижу проблемы”, ждать от идей от ТП?

Я не знаю ответа на ваш вопрос в таком случае.
В контроллере используется стандартный Debian, метод из его документации.

Хорошо, не закрывайте тему, буду искать решение и как найду, то опубликую тут. Подскажите, какой загрузчик используется? А то с ходу не смог определить.

На сколько я вижу, у вас кастомная сборка… мантра “у нас стандартный Debian” это с некоторыми оговорками:

Ну и вот ваша сборка ядра…

мне нужно собирать свой дистрибутив чтобы отключить IPV6?

Да, в штатном ядре Debian - точно так же.
Я спрошу у разработчиков, у меня нет быстрого ответа.

1 лайк

Все так, но штатный загрузчик GRUB, на его уровне можно исключить модуль. В вашей поставке все происходит иначе.

Для arm(hf) - нет “штатного” загрузчика.

https://wiki.debian.org/DebianInstaller/Arm/OtherPlatforms

у вас вроде как uBoot?

Да. Но в нем нет возможности сохранения произвольных парамметров.
В общем я добавлю желаемую возможность (отключения) в пожелания, в очередном цикле планирования разработчика оценят ее необходимость и (ввозможно) включат в план.

1 лайк

Понял, спасибо. Давайте тогда похороним это тред, в успех я не сильно верю, не тот случай.
Но зато узнал много нового и интересного, пока разбирался с uBoot =)

@leonid_efremov, приветствую!

в общем случае, и вы, и коллега - мыслите верно. У линуксов есть несколько ручек для кручения настроечек модулей => не заработала одна - так заработает другая :slight_smile:

итого:

echo "options ipv6 disable=1" > /etc/modprobe.d/ipv6.conf

и ребут

2 лайка

Благодарю, то что надо! =)
P. S. после этого mosquito отвалился (только lo доступен) но это дело поправимое :slight_smile:

1 лайк