iOS, macOS и антизапрет OpenVPN на роутере: не работает почта iCloud

  • Тип настройки: VPN
  • Тип проблемы: не работает НЕзаблокированный сайт (иное)
  • Что с сайтом: ошибка в браузере (иное)
  • Используемый браузер: иное

Описание проблемы

Сетап — keenetic 3.7 с установленным VPN, используются обычные dns 1.1.1.1 и 1.0.0.1 как в настройках роутера, так и ovpn. Конфиг:

nobind
client

remote vpn.antizapret.prostovpn.org

remote-cert-tls server

dev tun
proto tcp
cipher AES-128-CBC

resolv-retry infinite
persist-key
persist-tun

setenv FRIENDLY_NAME "AntiZapret VPN TCP"

pull-filter ignore block-outside-dns
route 1.1.1.1
route 1.0.0.1

Всё отлично работает, кроме одного — почты iCloud. Ошибка присутствует на всех устройствах с яблоком, подключенных к рутеру и исчезает при отключении VPN.

Родной почтовый клиент ругается на подключение к imap-серверу apple. Сам сервер пингуется, куда дальше копать — не знаю. К smtp-серверу подключается без проблем, письма отправляются.

На айфоне/айпаде аналогичные ошибки.

Разумеется, вместо p71-imap.mail.me.com может быть любой сервер, цифры периодически меняются. Это касается только почты icloud (которая @icloud.com). Рядышком без проблем работает gmail и Яндекс. В логах почты такое:

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

Может как-то связано с этим: iOS, macOS и антизапрет OpenVPN на роутере, есть проблемы ? Но у меня сайты открываются, проблема именно с SSL на imap-порту 993 и только с mail.me.com.

Проверяйте, в какой адрес резолвится p71-imap.mail.me.com. Проблем на стороне сервера не вижу, подключение из России на моих точках устанавливается.

Спасибо за участие. Я проверяю, но толку? Неизвестно же что там должно быть ) Подключение устанавливается, но что-то либо с портом, либо с сертификатом. Порт вроде такой же как у любого imap (google/yandex почты работают), сертификаты для почты для меня темный лес.

С включенным vpn:

Server:		192.168.2.1
Address:	192.168.2.1#53

Non-authoritative answer:
p71-imap.mail.me.com	canonical name = p71-imap.mail.me.com.akadns.net.
p71-imap.mail.me.com.akadns.net	canonical name = imap.mail.me.com.akadns.net.
Name:	imap.mail.me.com.akadns.net
Address: 17.57.155.26

Без него: то же самое абсолютно =)

Стоит отметить, что если я (при живом OVPN на рутере) включаю на ноуте впн до своего сервера (в тех же Нидерландах), все мгновенно начинает работать. Там используется 8.8.8.8, резолвится так же, только днс-сервер другой

Server:		8.8.8.8
Address:	8.8.8.8#53

Non-authoritative answer:
p71-imap.mail.me.com	canonical name = p71-imap.mail.me.com.akadns.net.
p71-imap.mail.me.com.akadns.net	canonical name = imap.mail.me.com.akadns.net.
Name:	imap.mail.me.com.akadns.net
Address: 17.57.155.26

Это мистика какая-то =) Повторюсь, так на всех apple устройствах и с разными аккаунтами, то есть у кого-то не p71- например, а другой.

Нырнул в темный лес:

Вот что показывает при выключенном OVPN:
ptath@MacBook-Air-ptath ~ % openssl s_client -showcerts -connect p71-imap.mail.me.com.akadns.net:993

CONNECTED(00000005)
depth=2 C = GB, ST = Greater Manchester, L = Salford, O = Comodo CA Limited, CN = AAA Certificate Services
verify return:1
depth=1 CN = Apple Public Server RSA CA 12 - G1, O = Apple Inc., ST = California, C = US
verify return:1
depth=0 CN = imap.mail.me.com, O = Apple Inc., ST = California, C = US
verify return:1
write W BLOCK
---
Certificate chain
0 s:/CN=imap.mail.me.com/O=Apple Inc./ST=California/C=US
i:/CN=Apple Public Server RSA CA 12 - G1/O=Apple Inc./ST=California/C=US
-----BEGIN CERTIFICATE-----
MIIP+TCCDuGgAwIBAgIQAe775REUTGIp6nO1d0sjwjANBgkqhkiG9w0BAQsFADBk
...
6UkGy13BreTiCUCTMg==
-----END CERTIFICATE-----
1 s:/CN=Apple Public Server RSA CA 12 - G1/O=Apple Inc./ST=California/C=US
i:/C=GB/ST=Greater Manchester/L=Salford/O=Comodo CA Limited/CN=AAA Certificate Services
-----BEGIN CERTIFICATE-----
MIIEkDCCA3igAwIBAgIQCuSPIwEwZEGSWeHCmumNGDANBgkqhkiG9w0BAQsFADB7
...
6IoOvOR7UaKo39qnYwA6Fs0F0to=
-----END CERTIFICATE-----
2 s:/C=GB/ST=Greater Manchester/L=Salford/O=Comodo CA Limited/CN=AAA Certificate Services
i:/C=GB/ST=Greater Manchester/L=Salford/O=Comodo CA Limited/CN=AAA Certificate Services
-----BEGIN CERTIFICATE-----
MIIEMjCCAxqgAwIBAgIBATANBgkqhkiG9w0BAQUFADB7MQswCQYDVQQGEwJHQjEb
...
smPi9WIsgtRqAEFQ8TmDn5XpNpaYbg==
-----END CERTIFICATE-----
---
Server certificate
subject=/CN=imap.mail.me.com/O=Apple Inc./ST=California/C=US
issuer=/CN=Apple Public Server RSA CA 12 - G1/O=Apple Inc./ST=California/C=US
---
No client certificate CA names sent
Server Temp Key: ECDH, X25519, 253 bits
---
SSL handshake has read 6909 bytes and written 367 bytes
---
New, TLSv1/SSLv3, Cipher is AEAD-AES256-GCM-SHA384
Server public key is 2048 bit
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
Protocol : TLSv1.3
Cipher : AEAD-AES256-GCM-SHA384
Session-ID:
Session-ID-ctx:
Master-Key:
Start Time: 1684424832
Timeout : 7200 (sec)
Verify return code: 0 (ok)
---
read R BLOCK
read R BLOCK
* OK [CAPABILITY XAPPLEPUSHSERVICE IMAP4 IMAP4rev1 SASL-IR AUTH=ATOKEN AUTH=PLAIN] (23-SKIPPED-ab) qs-SKIPPED-1.me.com

и тут консоль от меня что-то ждет, но я умею только ctrl+c

При включенном:
ptath@MacBook-Air-ptath ~ % openssl s_client -showcerts -connect p71-imap.mail.me.com.akadns.net:993
CONNECTED(00000005)
depth=2 C = GB, ST = Greater Manchester, L = Salford, O = Comodo CA Limited, CN = AAA Certificate Services
verify return:1
depth=1 CN = Apple Public Server RSA CA 12 - G1, O = Apple Inc., ST = California, C = US
verify return:1
depth=0 CN = imap.mail.me.com, O = Apple Inc., ST = California, C = US
verify return:1
write W BLOCK
---
Certificate chain
 0 s:/CN=imap.mail.me.com/O=Apple Inc./ST=California/C=US
   i:/CN=Apple Public Server RSA CA 12 - G1/O=Apple Inc./ST=California/C=US
-----BEGIN CERTIFICATE-----
MIIP+TCCDuGgAwIBAgIQAe775REUTGIp6nO1d0sjwjANBgkqhkiG9w0BAQsFADBk
...
qi8l+ZiTWs7PWJxYQo8c2IlFMbLeS6fa+qlrJaQyrlByzMfHnMNXh0lMZrj/F0IJ
6UkGy13BreTiCUCTMg==
-----END CERTIFICATE-----
 1 s:/CN=Apple Public Server RSA CA 12 - G1/O=Apple Inc./ST=California/C=US
   i:/C=GB/ST=Greater Manchester/L=Salford/O=Comodo CA Limited/CN=AAA Certificate Services
-----BEGIN CERTIFICATE-----
MIIEkDCCA3igAwIBAgIQCuSPIwEwZEGSWeHCmumNGDANBgkqhkiG9w0BAQsFADB7
...
6IoOvOR7UaKo39qnYwA6Fs0F0to=
-----END CERTIFICATE-----
 2 s:/C=GB/ST=Greater Manchester/L=Salford/O=Comodo CA Limited/CN=AAA Certificate Services
   i:/C=GB/ST=Greater Manchester/L=Salford/O=Comodo CA Limited/CN=AAA Certificate Services
-----BEGIN CERTIFICATE-----
MIIEMjCCAxqgAwIBAgIBATANBgkqhkiG9w0BAQUFADB7MQswCQYDVQQGEwJHQjEb
...
smPi9WIsgtRqAEFQ8TmDn5XpNpaYbg==
-----END CERTIFICATE-----
---
Server certificate
subject=/CN=imap.mail.me.com/O=Apple Inc./ST=California/C=US
issuer=/CN=Apple Public Server RSA CA 12 - G1/O=Apple Inc./ST=California/C=US
---
No client certificate CA names sent
Server Temp Key: ECDH, X25519, 253 bits
---
SSL handshake has read 6909 bytes and written 367 bytes
---
New, TLSv1/SSLv3, Cipher is AEAD-AES256-GCM-SHA384
Server public key is 2048 bit
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
    Protocol  : TLSv1.3
    Cipher    : AEAD-AES256-GCM-SHA384
    Session-ID: 
    Session-ID-ctx: 
    Master-Key: 
    Start Time: 1684425091
    Timeout   : 7200 (sec)
    Verify return code: 0 (ok)
---
read:errno=54

И выполнение завершается

Как это интерпретировать я не знаю, почему оно так — тоже. Разница исключительно в последнем сегменте.

Попробуйте

openssl s_client -showcerts -connect 17.57.155.26:993 -servername imap.mail.me.com.akadns.net

С VPN и без.