Я получаю сообщение об ошибке "сеть недоступна" каждый раз, когда пытаюсь использовать php для отправки чего-либо по почте.
alt2.gmail-smtp-in.l.google.com [2a00:1450:4010:c03::1a] Network is unreachable
alt3.gmail-smtp-in.l.google.com [2607:f8b0:400e:c03::1a] Network is unreachable
Я попытался исследовать, в чем может быть проблема, и кажется, что включение ipv6 вызовет некоторые проблемы. Следовательно, я попытался отключить ipv6 на своем сервере, выполнив следующие действия:
Я добавил эти строки в sysctl.conf
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
net.ipv6.conf.eth0.disable_ipv6 = 1
и закомментировал адрес ipv6 в файле / etc / hosts
Я не слишком уверен, что я все еще что-то упускаю, потому что это не работает! Надеюсь, кто-нибудь сможет мне с этим помочь!
Обновление: ifconfig -a
eth0 Link encap:Ethernet HWaddr 42:01:0a:f0:64:e1
inet addr:10.240.100.225 Bcast:10.240.100.225 Mask:255.255.255.255
UP BROADCAST RUNNING MULTICAST MTU:1460 Metric:1
RX packets:2491 errors:0 dropped:0 overruns:0 frame:0
TX packets:2594 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:301672 (294.6 KiB) TX bytes:356294 (347.9 KiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Обновить:
Я также получаю другие ошибки, связанные с истечением времени ожидания при попытке отправить новые письма. Но письма не доходили до нужного получателя.
eforward3.registrar-servers.com [38.101.213.206] Connection timed out
Обновить:
traceroute -n -T -p 80 38.101.213.206
traceroute to 38.101.213.206 (38.101.213.206), 30 hops max, 60 byte packets
1 64.233.174.176 136.720 ms 136.710 ms 136.668 ms
2 64.233.174.176 136.673 ms 136.670 ms 136.679 ms
3 64.233.174.176 136.681 ms 136.675 ms 209.85.242.89 136.661 ms
4 64.233.174.176 136.644 ms 209.85.242.89 136.615 ms 64.233.174.176 136.646 ms
5 209.85.242.89 163.646 ms 64.233.174.176 136.619 ms 209.85.242.89 163.611 ms
6 64.233.174.176 136.617 ms 136.493 ms 209.85.242.89 180.663 ms
7 209.85.242.89 180.643 ms 64.233.174.176 136.448 ms 136.437 ms
8 64.233.174.176 136.425 ms 136.325 ms 136.310 ms
9 209.85.242.89 180.503 ms 180.487 ms 64.233.174.176 136.277 ms
10 209.85.242.89 180.106 ms 64.233.174.176 136.159 ms 136.115 ms
11 209.85.242.89 153.688 ms 64.233.174.176 136.423 ms 178.986 ms
12 64.233.174.176 178.866 ms 178.866 ms 178.939 ms
13 64.233.174.205 136.899 ms 136.894 ms 136.714 ms
14 154.54.27.161 154.155 ms 209.85.250.62 136.623 ms 154.54.27.161 153.607 ms
15 209.85.249.4 139.747 ms 139.370 ms 209.85.249.2 136.117 ms
16 38.88.224.5 139.138 ms 139.234 ms 139.170 ms
17 154.54.45.30 197.888 ms 154.54.6.105 137.433 ms 154.54.28.62 196.700 ms
18 154.54.27.237 150.673 ms 154.54.27.169 149.094 ms 149.232 ms
19 154.54.5.65 195.015 ms 154.54.7.53 195.410 ms 154.54.5.65 194.558 ms
20 154.54.29.221 196.056 ms 195.939 ms 196.722 ms
21 154.54.28.62 197.622 ms * *
22 * * 38.20.62.218 196.091 ms
23 38.20.62.218 195.919 ms 38.122.18.154 199.002 ms 38.20.62.222 195.254 ms
24 38.122.18.154 198.058 ms 38.101.213.206 197.167 ms 195.442 ms
traceroute -n -T -p 25 38.101.213.206
traceroute to 38.101.213.206 (38.101.213.206), 30 hops max, 60 byte packets
1 * * *
2 * * *
3 * * *
4 * * *
5 * * *
6 * * *
7 * * *
8 * * *
9 * * *
10 * * *
11 * * *
12 * * *
13 * * *
14 * * *
15 * * *
16 * * *
17 * * *
18 * * *
19 * * *
20 * * *
21 * * *
22 * * *
23 * * *
24 * * *
25 * * *
26 * * *
27 * * *
28 * * *
29 * * *
30 * * *
Telnet: я не думаю, что он установлен. Мне это потребуется?
На одном сервере только IPv4, которым я управляю, я все время вижу одни и те же сообщения об ошибках в /var/log/exim4/mainlog
. Но сообщения об ошибках безвредны. Exim понимает, что адрес не работает, и переключается на использование IPv4-адреса менее чем за одну секунду.
Рекламировал ли хостинг-провайдер поддержку IPv6? В противном случае у вас может просто не быть подключения к IPv6. И если exim сразу переключится на IPv4, почта все равно будет доставлена без проблем.
Если на вашем сервере еще нет IPv6, вы можете подумать о его получении, но это другой вопрос.
Однако два ваших вывода traceroute указывают на настоящую проблему и не имеют ничего общего с IPv6. Проблема в том, что исходящий SMTP заблокирован, и он блокируется на самом первом прыжке, что означает, что он либо заблокирован правилами брандмауэра на вашем компьютере, либо первым маршрутизатором.
Трассировка порта 80 показывает, что сеть ведет себя несколько странно, потому что первые 11 переходов - это одни и те же два IP-адреса, повторяющиеся снова и снова. Эти два IP-адреса принадлежат Google, поэтому я предполагаю, что документация по как отправлять электронную почту из экземпляров Google Compute может иметь отношение к вам.
Стоит отметить, что если ваш сервер размещен у облачного провайдера, они могут применять некоторые правила ограничения сети на глобальном уровне (например, группы безопасности) или на уровне компьютера (например, iptables).
Например, масштабный путь использует группы безопасности (Вопросы-Ответы. Вот), пока цифровой океан использует правила iptables (шаг 4 здесь)
Если вы действительно используете Google Compute Engine, как @kasperd добавил к вашему вопросу, тогда вы сможете отправлять электронную почту - но только на серверы Google и только через SSL (или через партнерские службы Google, как объясняет ссылка в ответе касперда).
Google говорит о своем Compute Engine:
- Весь исходящий трафик на порт 25 (SMTP) заблокирован.
- Большая часть исходящего трафика на порт 465 или 587 (SMTP через SSL) заблокирована. кроме известных IP-адреса Google
- Блокируется весь трафик, использующий протокол, отличный от TCP, UDP и ICMP.
Если у вас нет подключения к ipv6, вы не должны позволять exim использовать ipv6. В разделе глобальной конфигурации, практически в любом месте перед запуском списков ACL, добавьте следующее:
disable_ipv6 = true
Соответствующая документация: http://www.exim.org/exim-html-current/doc/html/spec_html/ch-main_configuration.html#SECTalomo Искать вниз для disable_ipv6; они расположены в алфавитном порядке.