VPN-сервер не отвечает, нет признаков заблокированного трафика

VPN-сервер не отвечает, нет признаков заблокированного трафика

У меня есть компьютер Mac OS X Server (10.9), на котором запущен L2TP/IPSec VPN-сервер. Конфигурация, похоже, в порядке, а имя хоста сервера и VPN установлено на имя хоста DynDNS. Сервер настроен за маршрутизатором AirPort Extreme с переадресацией портов, подключен к модему/маршрутизатору Arris с отключенным маршрутизатором (мост). Сервер настроен со статическим внутренним IP-адресом, а маршрутизатор также имеет свой MAC-адрес, привязанный через DHCP, чтобы гарантировать согласованность внутреннего адреса.

Если я ввожу внутренний IP-адрес сервера (10.0.1.x) и пытаюсь подключиться к VPN-серверу изнутри сети, все работает нормально. Но если я ввожу внешнее имя хоста (имя DynDNS) и пытаюсь подключиться, опять же изнутри сети, подключение не происходит. Аналогично не происходит подключение и вне сети (например, через LTE).

Другие службы (SSH, удаленный рабочий стол и т. д.) подключаются нормально как из сети, так и извне. Затронут только VPN. Могу подтвердить, что сервер доступен из SSH и удаленного рабочего стола (порты 22/5900).

Я также подтвердил, что маршрутизатор перенаправляет порты 500(UDP), 1701(UDP) и 4500(UDP) в дополнение к другим портам, используемым другими службами.

При попытке подключения на консоли клиента появляется следующее:

12/16/13 11:13:33.213 PM configd[28]: SCNC: start, triggered by (15822) com.apple.prefe, type L2TP, status 0, trafficClass 0
12/16/13 11:13:33.229 PM pppd[15967]: publish_entry SCDSet() failed: Success!
12/16/13 11:13:33.230 PM pppd[15967]: publish_entry SCDSet() failed: Success!
12/16/13 11:13:33.230 PM pppd[15967]: pppd 2.4.2 (Apple version 727.1.15) started by user, uid 501
12/16/13 11:13:33.231 PM pppd[15967]: L2TP connecting to server 'x.x.x.x' (x.x.x.x)...
12/16/13 11:13:33.232 PM pppd[15967]: IPSec connection started
12/16/13 11:13:33.244 PM racoon[15968]: accepted connection on vpn control socket.
12/16/13 11:13:33.244 PM racoon[15968]: Connecting.
12/16/13 11:13:33.244 PM racoon[15968]: IPSec Phase 1 started (Initiated by me).
12/16/13 11:13:33.245 PM racoon[15968]: IKE Packet: transmit success. (Initiator, Main-Mode message 1).
12/16/13 11:13:33.245 PM racoon[15968]: >>>>> phase change status = Phase 1 started by us
12/16/13 11:13:33.416 PM racoon[15968]: >>>>> phase change status = Phase 1 started by peer
12/16/13 11:13:33.416 PM racoon[15968]: IKE Packet: receive success. (Initiator, Main-Mode message 2).
12/16/13 11:13:33.420 PM racoon[15968]: IKE Packet: transmit success. (Initiator, Main-Mode message 3).
12/16/13 11:13:33.429 PM racoon[15968]: IKE Packet: receive success. (Initiator, Main-Mode message 4).
12/16/13 11:13:33.447 PM racoon[15968]: IKE Packet: transmit success. (Initiator, Main-Mode message 5).
12/16/13 11:13:36.715 PM racoon[15968]: !!! skipped retransmitting frags: frag_flags 1, r->sendbuf->l 112, max 1280
12/16/13 11:13:36.715 PM racoon[15968]: Received retransmitted packet from x.x.x.x[500].
12/16/13 11:13:36.715 PM racoon[15968]: the packet is retransmitted by x.x.x.x[500].
12/16/13 11:13:36.745 PM racoon[15968]: IKE Packet: transmit success. (Phase 1 Retransmit).
12/16/13 11:13:39.872 PM racoon[15968]: !!! skipped retransmitting frags: frag_flags 1, r->sendbuf->l 112, max 1280
12/16/13 11:13:39.872 PM racoon[15968]: Received retransmitted packet from x.x.x.x[500].
12/16/13 11:13:39.873 PM racoon[15968]: the packet is retransmitted by x.x.x.x[500].
12/16/13 11:13:40.043 PM racoon[15968]: IKE Packet: transmit success. (Phase 1 Retransmit).
12/16/13 11:13:43.170 PM racoon[15968]: !!! skipped retransmitting frags: frag_flags 1, r->sendbuf->l 112, max 1280
12/16/13 11:13:43.170 PM racoon[15968]: Received retransmitted packet from x.x.x.x[500].
12/16/13 11:13:43.170 PM racoon[15968]: the packet is retransmitted by x.x.x.x[500].
12/16/13 11:13:43.335 PM racoon[15968]: IKE Packet: transmit success. (Phase 1 Retransmit).
12/16/13 11:13:55.912 PM racoon[15968]: IKE Packet: transmit success. (Phase 1 Retransmit).
12/16/13 11:13:56.367 PM racoon[15968]: !!! skipped retransmitting frags: frag_flags 1, r->sendbuf->l 112, max 1280
12/16/13 11:13:56.367 PM racoon[15968]: Received retransmitted packet from x.x.x.x[500].
12/16/13 11:13:56.367 PM racoon[15968]: the packet is retransmitted by x.x.x.x[500].
12/16/13 11:14:03.416 PM pppd[15967]: IPSec connection failed
12/16/13 11:14:03.416 PM racoon[15968]: IPSec disconnecting from server x.x.x.x
12/16/13 11:14:03.416 PM racoon[15968]: glob found no matches for path "/var/run/racoon/*.conf"

А это на консоли сервера:

12/16/13 11:13:33.404 PM racoon[216]: IPSec Phase 1 started (Initiated by peer).
12/16/13 11:13:33.404 PM racoon[216]: IKE Packet: receive success. (Responder, Main-Mode message 1).
12/16/13 11:13:33.404 PM racoon[216]: >>>>> phase change status = Phase 1 started by us
12/16/13 11:13:33.404 PM racoon[216]: IKE Packet: transmit success. (Responder, Main-Mode message 2).
12/16/13 11:13:33.541 PM racoon[216]: IKE Packet: receive success. (Responder, Main-Mode message 3).
12/16/13 11:13:33.559 PM racoon[216]: IKE Packet: transmit success. (Responder, Main-Mode message 4).
12/16/13 11:13:33.566 PM racoon[216]: Connecting.
12/16/13 11:13:36.697 PM racoon[216]: IKE Packet: transmit success. (Phase 1 Retransmit).
12/16/13 11:13:36.697 PM racoon[216]: IKE Packet: transmit success. (Phase 1 Retransmit).
12/16/13 11:13:39.989 PM racoon[216]: IKE Packet: transmit success. (Phase 1 Retransmit).
12/16/13 11:13:43.286 PM racoon[216]: IKE Packet: transmit success. (Phase 1 Retransmit).
12/16/13 11:13:56.484 PM racoon[216]: IKE Packet: transmit success. (Phase 1 Retransmit).
12/16/13 11:14:06.392 PM racoon[216]: IKE Packet: transmit success. (Phase 1 Retransmit).
12/16/13 11:14:12.978 PM racoon[216]: IKE Packet: transmit success. (Phase 1 Retransmit).
12/16/13 11:14:32.767 PM racoon[216]: IKE Packet: transmit success. (Phase 1 Retransmit).
12/16/13 11:14:39.390 PM racoon[216]: IKEv1 Phase 1: maximum retransmits. (Phase 1 Maximum Retransmits).
12/16/13 11:14:39.390 PM racoon[216]: Phase 1 negotiation failed due to time up. 45b24df5cc9713e7:9b427f72231ccb59

Я заметил, что клиент дал сбой в 11:14:03, в то время как сервер продолжал повторно передавать пакеты в течение еще 30 секунд, пока не истекло время ожидания. Клиентом в этом случае является Mac OS X, но клиенты iOS ведут себя аналогично.

Какие шаги по устранению неполадок мне следует здесь предпринять?

решение1

Хорошо, оказывается, это «баг» в последней версии Mac OS X Server. Из того, что мне удалось найти, демон IKE racoonне принимает соединения, если исходный порт не UDP 4500. Большинство соединений, проходящих через NAT, рандомизируют исходный порт, что означает, что соединение не будет установлено. В старой версии демона этого ограничения нет. Подключения из внутренней сети не будут рандомизировать порт, если они подключаются напрямую к IP сервера, но петлевые и внешние соединения, по-видимому, будут, что и приводит к сбоям.

Тогда быстрым решением былозамените racoonдвоичный файл на старую версию из ОС 10.8, конечно же, сделав резервную копию старого, переименовав его racoon.old(или так racoon.newбудет правильнее? :D).

Apple, судя по всему, знает об этой проблеме и надеется выпустить исправление; в то же время откат двоичного кода работает.

Связанный контент