У меня есть туннель IPv6 от Tunnelbroker и динамический IP от интернет-провайдера. Туннель работал (и продолжает работать) в течение многих лет, по крайней мере, с 2015 года. Я запускаю OpenWRT stable 18.06.4 на x86 h / w или TP-Link Archer C7 и macOS Mojave 10.14.6. Но в последнее время я начал испытывать странное поведение, которое я пытаюсь описать ниже.
Я могу достаточно надежно повторить это 4 раза из 5, один раз, хотя macOS может продолжать подключаться даже после перезагрузки маршрутизатора.
Почему macOS не может подключиться после перезагрузки маршрутизатора и перезапуска туннеля?
Выход Curl, когда соединение не может быть установлено.
$ curl -v6 https://community.openvpn.net/openvpn/wiki/IPv6
* Trying 2606:4700::6812:bbe1:443...
* TCP_NODELAY set
* Connected to community.openvpn.net (2606:4700::6812:bbe1) port 443 (#0)
* ALPN, offering http/1.1
* successfully set certificate verify locations:
* CAfile: /opt/local/share/curl/curl-ca-bundle.crt
CApath: none
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to community.openvpn.net:443
* Closing connection 0
curl: (35) OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to community.openvpn.net:443
$
Я погуглил, что такие проблемы обычно вызваны неправильным MTU туннеля или адаптера. Стоит отметить, что curl -v6 https://www.google.com всегда работает, но есть много сайтов, как в примере выше, которые не работают. Также может быть не специфичным для macOS, но это только ПК, напрямую подключенные к моей домашней сети. Я не ожидаю таких же результатов от виртуальных машин при настройке мостовой сети.
Я явно установил MTU на 1424 как на интерфейсе маршрутизатора OpenWRT, так и на стороне Tunnelbroker в дополнительных настройках. Если этот MTU будет неправильным, слишком большим, тогда ничего не должно работать, верно? Но это не так.