- Вопрос или проблема
- Ответ или решение
- Проверка блокировки порта удаленного сервера для IKEv2/IPSec VPN-соединений
- 1. Анализ журнала StrongSwan
- 2. Использование tcpdump для анализа трафика
- 3. Анализ результатов tcpdump
- 4. Проверка доступности порта с помощью telnet
- 5. Взаимодействие с администратором удаленного сервера
- 6. Убедитесь в правильной конфигурации вашего клиента
- Заключение
Вопрос или проблема
Я использую StrongSwan на Ubuntu, чтобы попытаться установить VPN-соединение «точка-точка» с удаленным сервером IKEv2 IPSec, но, похоже, что мои запросы на соединение не доходят до удаленного сервера.
Есть ли у меня возможность использовать мой сервер, чтобы проверить, блокирует ли брандмауэр удаленного сервера порт, к которому я пытаюсь подключиться?
Попробовал использовать telnet <remote-ip> 500
на VPN-сервере, который работает, но эта команда просто выходит за пределы времени ожидания. У меня нет доступа к удаленным VPN-серверам.
Спасибо!
Логи StrongSwan
инициирование IKE_SA remoteServer[3] к 2.2.2.2
генерация запроса IKE_SA_INIT 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) N(FRAG_SUP) N(HASH_ALG) N(REDIR_SUP) V ]
отправка пакета: от 10.150.0.33[500] к 2.2.2.2[500] (1256 байт)
повторная передача 1 запроса с идентификатором сообщения 0
отправка пакета: от 10.150.0.33[500] к 2.2.2.2[500] (1256 байт)
повторная передача 2 запроса с идентификатором сообщения 0
отправка пакета: от 10.150.0.33[500] к 2.2.2.2[500] (1256 байт)
повторная передача 3 запроса с идентификатором сообщения 0
отправка пакета: от 10.150.0.33[500] к 2.2.2.2[500] (1256 байт)
повторная передача 4 запроса с идентификатором сообщения 0
отправка пакета: от 10.150.0.33[500] к 2.2.2.2[500] (1256 байт)
повторная передача 5 запроса с идентификатором сообщения 0
отправка пакета: от 10.150.0.33[500] к 2.2.2.2[500] (1256 байт)
сдаюсь после 5 повторных передач
установление IKE_SA не удалось, партнер не отвечает
установление соединения 'remoteServer' не удалось
sudo tcpdump udp port 500 (захвачено на клиенте)
tcpdump: подавлен подробный вывод, используйте -v или -vv для полного декодирования протокола
прослушивание на ens4, тип канала EN10MB (Ethernet), размер захвата 262144 байт
13:14:25.475539 IP my-server.us-east4-c.c.foo-bar-142406.internal.isakmp > 2.2.2.2.isakmp: isakmp: parent_sa ikev2_init[I]
13:14:29.475878 IP my-server.us-east4-c.c.foo-bar-142406.internal.isakmp > 2.2.2.2.isakmp: isakmp: parent_sa ikev2_init[I]
13:14:36.676279 IP my-server.us-east4-c.c.foo-bar-142406.internal.isakmp > 2.2.2.2.isakmp: isakmp: parent_sa ikev2_init[I]
13:14:49.636657 IP my-server.us-east4-c.c.foo-bar-142406.internal.isakmp > 2.2.2.2.isakmp: isakmp: parent_sa ikev2_init[I]
13:15:12.965064 IP my-server.us-east4-c.c.foo-bar-142406.internal.isakmp > 2.2.2.2.isakmp: isakmp: parent_sa ikev2_init[I]
13:15:54.955428 IP my-server.us-east4-c.c.foo-bar-142406.internal.isakmp > 2.2.2.2.isakmp: isakmp: parent_sa ikev2_init[I]
Чтобы быть уверенным, что ваш трафик достигает удаленного VPN-сервера, вам нужно спросить администратора этого сервера.
Но с помощью tcpdump вы можете искать трафик ICMP, который указывает на то, что целевой адрес для вашего трафика недоступен. Вы могли бы проверить это, например, так:
sudo tcpdump -w vpn.pcap 'host 2.2.2.2 or icmp[0] = 3'
Это может поймать больше ICMP-трафика, чем вам нужно.
Наконец, вы можете проверить параметры IKE фазы 1, которые ваш сервер отправляет, проверив vpn.pcap с помощью Wireshark. Первое сообщение IKE всегда незашифровано, и Wireshark имеет неплохие декодеры пакетов для этого.
Некоторые VPN-серверы вообще не отвечают, если начальный запрос IKE_SA_INIT не содержит правильных параметров.
Что касается NAT, IKEv2 может справляться с этим, когда установлены соответствующие параметры.
Ответ или решение
Проверка блокировки порта удаленного сервера для IKEv2/IPSec VPN-соединений
Если вы пытаетесь установить соединение с удаленным IKEv2/IPSec VPN-сервером с использованием StrongSwan на Ubuntu и у вас возникают проблемы с достижением сервера, есть несколько методов, чтобы проверить, не блокирует ли фаервол удаленного сервера ваш трафик.
1. Анализ журнала StrongSwan
Ваши журналы показывают, что все запросы IKE_SA_INIT не получают ответа от удаленного сервера (IP 2.2.2.2). Это может происходить по ряду причин:
- Порт 500 UDP, используемый для IKE, может быть закрыт или заблокирован фаерволом удаленного сервера.
- Конфигурация вашего клиента может содержать неправильные параметры, которые не соответствуют требованиям сервера.
2. Использование tcpdump для анализа трафика
Вы уже начали использовать tcpdump
, что является правильным шагом для диагностики проблемы. Вы можете запустить команду, чтобы отследить ICMP-трафик, который может указать на неполадки в маршрутизации или на то, что трафик не достигает вашего назначения:
sudo tcpdump -i ens4 -w vpn.pcap 'host 2.2.2.2 or icmp[0] = 3'
Это позволит вам сохранить все пакеты, которые проходят между вашим сервером и удаленным адресом, включая ICMP-сообщения, которые могут указывать на недоступность хоста.
3. Анализ результатов tcpdump
После того как вы собрали данные, откройте файл vpn.pcap
в Wireshark. Это поможет вам увидеть, отправляются ли пакеты на удаленный сервер и какова реакция на них. Убедитесь, что ваши IKE-сообщения содержат корректные параметры. Некоторые VPN-серверы могут игнорировать запросы, если параметры не соответствуют их требованиям, а это может привести к бесконечным попыткам пересылки.
4. Проверка доступности порта с помощью telnet
Вы уже пробовали использовать команду telnet
, чтобы проверить доступность порта 500, но команда не удалась. Если telnet <remote-ip> 500
истекает по времени, это также может указывать на то, что либо фаервол удаленного сервера блокирует порт, либо сервер может быть недоступен.
5. Взаимодействие с администратором удаленного сервера
Поскольку у вас нет доступа к удаленному серверу, возможность взаимодействовать с его администратором может оказаться наиболее полезным. Запросите подтверждение о том, открыты ли необходимые порты (500 и, возможно, 4500, если NAT-T используется), и нет ли ограничений на IP-адрес вашего сервера. Администратор может также провести собственную диагностику для подтверждения наличия трафика.
6. Убедитесь в правильной конфигурации вашего клиента
Подтвердите, что в конфигурации StrongSwan указаны все необходимые параметры для IKEv2 и IPSec, включая поддержку NAT, если это необходимо. Проверьте следующие настройки:
left
иright
— корректные адреса и параметры.- Поддержка NAT для случаев, когда клиент и сервер находятся за NAT.
Заключение
Проблемы с IKEv2/IPSec VPN-соединениями могут быть вызваны множеством факторов, включая фаерволы, неправильные конфигурации или недоступные серверы. С помощью перечисленных методов вы сможете провести диагностику и выявить возможные причины. Обязательно анализируйте полученные данные и взаимодействуйте с администратором удаленного сервера для решения возникших проблем.