Отключение IPv6 в Debian

После переноса веб-приложения на сервер под управлением Linux Debian перестала уходить почта. В качестве почтовой системы используется корпотивная учетная запись Gmail, соответственно отправка осуществляется путем соединения с серверами Google.

Проверка MX записей показала, что всё в порядке:gmailПосле нескольких попыток отправить письмо непосредственно из консоли в логах были обнаружены ошибки:

Dec  9 20:48:10 server sendmail[7300]: rB9GmA5B007300: from=www-data, size=798,, nrcpts=1, msgid=<201312091648.rB9GmA5B007300@server>, bodytype=8BITMIME, relay=www-data@localhost
Dec  9 20:48:10 server sm-mta[7301]: rB9GmAeZ007301: from=<www-data@server>, size=1011,, nrcpts=1, msgid=<201312091648.rB9GmA5B007300@server>, bodytype=8BITMIME, proto=ESMTP, daemon=MTA-v4, relay=localhost [127.0.0.1]
Dec  9 20:48:10 server sendmail[7300]: rB9GmA5B007300: to=mail@xandroskin.ru, ctladdr=www-data (33/33), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30798, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (rB9GmAeZ007301 Message accepted for delivery)
Dec  9 20:48:10 server sm-mta[7303]: STARTTLS=client, relay=aspmx.l.google.com., version=TLSv1/SSLv3, verify=FAIL, cipher=RC4-SHA, bits=128/128
Dec  9 20:48:11 server sm-mta[7303]: rB9GmAeZ007301: to=<mail@xandroskin.ru>, ctladdr=<www-data@server> (33/33), delay=00:00:01, xdelay=00:00:01, mailer=esmtp, pri=121011, relay=aspmx.l.google.com. [IPv6:2a00:1450:4008:c01::1a], dsn=5.0.0, stat=Service unavailable
Dec  9 20:48:12 server sm-mta[7303]: rB9GmAeZ007301: rB9GmCeZ007303: DSN: Service unavailable
Dec  9 20:48:12 server sm-mta[7303]: rB9GmCeZ007303: to=<www-data@server>, delay=00:00:00, xdelay=00:00:00, mailer=local, pri=30000, dsn=2.0.0, stat=Sent

Судя по «Service unavailable», машина не может достучаться до почтовых серверов Google. При этом пинг до aspmx.l.google.com стабильный, проблем со связью и резолвом быть не должно. Предпринял попытку отправки почты вручную посредством telnet — сервер попытался соединиться с 2a00:1450:4008:c01::1b. Чисто теоретически можно было бы настроить IPv6 работу с почтой. Но из-за лени и консервативности автора решение было более простым — отключить IPv6 на корню.Сделать это можно несколькими способами, в том числе пересобрав ядро без соответствующего модуля. Что характерно, ранее проект находился на Ubuntu сервере, там по умолчанию модуль выключен. Проще всего — добавить в /etc/sysctl.conf строчку net.ipv6.conf.all.disable_ipv6=1 и выполнить команду

sysctl -p

для внесения изменений (применится всё содержимое вышеуказанного файла, если нет уверенности в необходимости этого — можно установить значение переменной вручную, не затрагивая остальные параметры, командой

sysctl net.ipv6.conf.all.disable_ipv6=1

Ссылки: