Ipv6 отключен или нет

Я пытался полностью отключить IPv6 на моем Ubuntu 14.04 в соответствии с этим постом Но netstat показывает, что он используется. Зачем?

~ > sudo sysctl -p|grep ipv6
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
~ > cat /proc/sys/net/ipv6/conf/all/disable_ipv6
1
~ > sudo netstat -tpln
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:111             0.0.0.0:*               LISTEN      786/rpcbind     
tcp        0      0 0.0.0.0:51413           0.0.0.0:*               LISTEN      1682/transmission-g
tcp        0      0 127.0.1.1:53            0.0.0.0:*               LISTEN      1679/dnsmasq    
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1129/sshd       
tcp        0      0 0.0.0.0:17500           0.0.0.0:*               LISTEN      4601/dropbox    
tcp        0      0 127.0.0.1:17600         0.0.0.0:*               LISTEN      4601/dropbox    
tcp        0      0 0.0.0.0:10050           0.0.0.0:*               LISTEN      1278/zabbix_agentd
tcp        0      0 127.0.0.1:17603         0.0.0.0:*               LISTEN      4601/dropbox    
tcp        0      0 0.0.0.0:44326           0.0.0.0:*               LISTEN      4541/skype      
tcp        0      0 0.0.0.0:57767           0.0.0.0:*               LISTEN      802/rpc.statd   
tcp6       0      0 :::111                  :::*                    LISTEN      786/rpcbind     
tcp6       0      0 :::51413                :::*                    LISTEN      1682/transmission-g
tcp6       0      0 :::22                   :::*                    LISTEN      1129/sshd       
tcp6       0      0 :::17500                :::*                    LISTEN      4601/dropbox    
tcp6       0      0 :::52253                :::*                    LISTEN      802/rpc.statd   
tcp6       0      0 :::10050                :::*                    LISTEN      1278/zabbix_agentd

1 ответ

Хорошо - абсолютно НЕ сетевой эксперт, и мне все равно, согласны ли вы или даже знаете, причину моей полной, полной и абсолютной неприязни к ipv6. Поверьте, что мои чувства по этому поводу не изменятся.

Вот как я справился с распространением ipv6 в своих сетевых системах под управлением Ubuntu 16.04:

Я не собираюсь описывать свои первоначальные попытки - такие как игнорирование его на моих сетевых интерфейсах, слабые попытки не принять или переслать его с помощью iptables (хотя я действительно получил ОЧЕНЬ хороший совет относительно ipv6 и iptables). Если вы еще не сделали эти вещи, то вам не следует делать какие-либо из моих предложений здесь IMSHO.

URL-адреса, которые я нашел полезными (есть и другие, они сработали для меня):

Начальный проход: отключите его, используя директивы sysctl в качестве пользователя root, создайте / отредактируйте (замените / на 'или') /etc/sysctl.d/99-idontlikeipv6.conf, добавив следующие строки:

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1

Сохраните файл и перезапустите procps:

sudo service procps reload

Далее по спирали... (и почему iptables просто не в порядке)

Прослушивание сокетов IPv6 и Linux (или как узнать, есть ли у вас проблемы), большинство людей, обеспокоенных безопасностью, как минимум, используют какой-то брандмауэр. Я сделал это и подумал, что iptables - лучшая вещь для защиты процессов без лишних затрат.

Затем я узнал, что локальные процессы, которые связываются с IPv4 и IPv6, не "защищены" и не защищены от получения трафика IPv6 ЛЮБЫМИ директивами iptable, поскольку iptables влияет только на / блокирует трафик IPv4. Для брандмауэра трафика IPv6 вам нужно настроить другой файл правил и загрузить его через ip6tables. Это файл и команды загрузки, которые я использовал:

  1. (как root) создайте / отредактируйте /etc/ip6tables.up.rules и добавьте следующее:
    *фильтр
    : INPUT DROP [0: 0]
    : FORWARD DROP [0: 0]
    : OUTPUT DROP [0: 0]
    COMMIT

  2. загрузить его
    sudo ip6tables-restore

  3. проверьте как это выглядит:
    netstat -atunp

Это покажет вам любые процессы, слушающие на вашем локальном компьютере - вы хотите искать строки tcp6 и udp6. Вы можете отфильтровать вывод netstat в эти строки с помощью:

netstat -atunp | egrep "tcp6|udp6"  

Когда я сделал это, я увидел такие вещи, как:

tcp6       0      0 :::10000                :::*                    LISTEN      2353/perl  
tcp6       0      0 :::113                  :::*                    LISTEN      1399/oidentd    
tcp6       0      0 :::631                  :::*                    LISTEN      6620/cupsd      
tcp6       0      0 :::17500                :::*                    LISTEN      6834/dropbox    
udp6       0      0 :::5353                 :::*                                7160/chrome     
udp6       0      0 :::5353                 :::*                                1120/avahi-daemon: 
udp6       0      0 :::57956                :::*                                1120/avahi-daemon: 

наряду с другими. В остальном вот как я от них (некоторых) избавился:

Посмотрите на netstat, чтобы увидеть, как вы делаете. У меня все еще было много вещей, слушающих трафик IPv6. Такие процессы, как tomcat, apache2, rpcbind, cupsd, chrome... список продолжался некоторое время. Отключение каждого из них потребовало небольшого изучения и работы. Я постараюсь быть кратким.

  • apache2: измените файл apache ports.conf (мой был в /etc/apache2), добавив IP-адрес после каждой директивы Listen, перед каждым портом, разделитель ':'. Например:
    Слушать 127.0.0.1:80

    Слушать 127.0.0.1 443
  • tomcat / catalina: измените файл server.xml в / conf, добавив адресную директиву в каждое предложение соединителя, например:
    <Соединитель
    порт ="6969"
    адрес = "8.8.8.8"
    redirectPort = "8443"
  • postfix: измените строку файла /etc/postfix/main.cf для net_protocols следующим образом:
    net_protocols = ipv4
  • bind9 / named: найдите свой конфигурационный файл dns (может быть несколько, вы сами здесь) и добавьте listen-on-v6 {none; }; близко к / до / после директивы listen-on. Мой был в /etc/bind/named.conf, на некоторых страницах было сказано посмотреть / добавить его в файл named.conf.options
  • cups (cupsd, cups-browserd): отредактируйте /etc/cups/cupsd.conf и измените директиву порта следующим образом (ПРИМЕЧАНИЕ: покупатель остерегается, вам могут понравиться чашки, если вы не захотите его испортить)):
    Порт 127.0.0.1:631
  • sshd: зависит от установленного сервера ssh. Я столкнулся с двумя различными способами, чтобы установить это только в списке адресов IPv4.
    1. отредактируйте / etc / ssh / sshd_config и используйте только 1 директиву ListenAddress и присвойте ей конкретный адрес IPv4 значение "любой порт" 0.0.0.0, например:
      # ListenAddress::
      ListenAddress 4.4.4.4
    2. Установите директиву AddressFamily на inet (убедитесь, что включена только одна директива AddressFamily)
      # AddressFamily any
      AddressFamily inet
  • ntp: отредактируйте / etc / default / ntp, чтобы NTPD_OPTS начинался с -4, аналогично:
    NTPD_OPTS = '- 4 -g'
  • rpcbind (rpc.statd, rpc.mountd): закомментируйте строки, начинающиеся с tcp6 или udp6
  • avahi-daemon: я не мог найти причину, чтобы позволить это, и он очень легко удалялся... apt-get purge avahi-daemon
  • chrome - этот контролировался через пользовательский интерфейс - следующий URL-адрес был ключевым для предотвращения его трафика IPv6: https://unix.stackexchange.com/questions/187294/chromium-browser-pepperflashplugin-opening-listening-ports-on-0-0-0-05353
    используйте chrome для перехода к URL-адресу chrome://flags/#device-discovery-notifications и используйте список выбора, чтобы выбрать "отключить" (или отключить, не помню). Отключение этой так называемой функции "обнаружения устройств" отключает прослушивание порта mDNS 5353/tcp. Вам нужно перезапустить Chromium / Google Chrome, чтобы это вступило в силу.

Чтобы эти изменения вступили в силу, перезагрузите компьютер. Есть и другие способы, но я слишком устал, чтобы вдаваться в подробности, и перезагрузка либо даст вам машину с присосками и паттерами IPv6 - ИЛИ это создаст вам целый ряд новых проблем, о которых нужно беспокоиться.

ПРИМЕЧАНИЕ: Знание - это сила, а руками оно может быть мощным оружием. Вы берете на себя всю ответственность за исправление ваших систем, следуя любой из вещей в моем посте. Njoy

-Туалет

Другие вопросы по тегам