L2TP Issues AWS EC2

Я пытаюсь настроить l2tp внутри AWS VPC, у меня проблемы.

Я работаю на MAC OS и постоянно получаю ошибку "A connection could not be established to the PPP server. Попробуйте переподключиться. Если проблема сохраняется, проверьте настройки и обратитесь к администратору." Другие соединения l2tp с Mac работают, поэтому я думаю, что это проблема конфигурации на стороне сервера, связанная с сетью AWS.

На сервере действительно есть EIP, и группа безопасности открыта для трафика. Я также установил инкапсуляцию UDP, но безрезультатно.

Edit:

Я подтвердил, что он не работает и на машине Windows. Ошибка: "Попытка L2TP-соединения не удалась, поскольку уровень безопасности столкнулся с ошибкой обработки во время начальных переговоров с удаленным компьютером"

Вот журнал с моего Mac:

Tue Mar  2 21:06:53 2021 : publish_entry SCDSet() failed: Success!
Tue Mar  2 21:06:53 2021 : publish_entry SCDSet() failed: Success!
Tue Mar  2 21:06:53 2021 : l2tp_get_router_address
Tue Mar  2 21:06:53 2021 : l2tp_get_router_address 172.20.10.1 from dict 1
Tue Mar  2 21:06:53 2021 : L2TP connecting to server 'XXXXXXXXXXXX' (XX.XX.XX.XXX)...
Tue Mar  2 21:06:53 2021 : IPSec connection started
Tue Mar  2 21:06:53 2021 : IPSec phase 1 client started
Tue Mar  2 21:06:53 2021 : IPSec phase 1 server replied
Tue Mar  2 21:06:54 2021 : IPSec phase 2 started
Tue Mar  2 21:06:54 2021 : IPSec phase 2 established
Tue Mar  2 21:06:54 2021 : IPSec connection established
Tue Mar  2 21:06:54 2021 : L2TP sent SCCRQ
Tue Mar  2 21:06:54 2021 : L2TP received SCCRP
Tue Mar  2 21:06:54 2021 : L2TP sent SCCCN
Tue Mar  2 21:06:54 2021 : L2TP sent ICRQ
Tue Mar  2 21:06:54 2021 : L2TP received ICRP
Tue Mar  2 21:06:54 2021 : L2TP sent ICCN
Tue Mar  2 21:06:54 2021 : L2TP connection established.
Tue Mar  2 21:06:54 2021 : L2TP set port-mapping for en0, interface: 6, protocol: 0, privatePort: 0
Tue Mar  2 21:06:54 2021 : using link 0
Tue Mar  2 21:06:54 2021 : Using interface ppp0
Tue Mar  2 21:06:54 2021 : Connect: ppp0 <--> socket[34:18]
Tue Mar  2 21:06:54 2021 : sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x312e33e6> <pcomp> <accomp>]
Tue Mar  2 21:06:57 2021 : sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x312e33e6> <pcomp> <accomp>]
Tue Mar  2 21:06:57 2021 : rcvd [LCP ConfReq id=0x0 <mru 1400> <auth eap> <magic 0x7ad21b17> <pcomp> <accomp> <callback CBCP> <mrru 1614> <endpoint 13 17 01 4f 48 20 23 13 c3 46 18 8f aa 74 9e ef 65 fe 3a 00 00 00 00>]
Tue Mar  2 21:06:57 2021 : lcp_reqci: rcvd unknown option 13
Tue Mar  2 21:06:57 2021 : lcp_reqci: returning CONFREJ.
Tue Mar  2 21:06:57 2021 : sent [LCP ConfRej id=0x0 <callback CBCP> <mrru 1614>]
Tue Mar  2 21:06:57 2021 : rcvd [LCP ConfAck id=0x1 <asyncmap 0x0> <magic 0x312e33e6> <pcomp> <accomp>]
Tue Mar  2 21:06:57 2021 : rcvd [LCP ConfReq id=0x1 <mru 1400> <auth eap> <magic 0x7ad21b17> <pcomp> <accomp> <endpoint 13 17 01 4f 48 20 23 13 c3 46 18 8f aa 74 9e ef 65 fe 3a 00 00 00 00>]
Tue Mar  2 21:06:57 2021 : lcp_reqci: returning CONFNAK.
Tue Mar  2 21:06:57 2021 : sent [LCP ConfNak id=0x1 <auth chap MS-v2>]
Tue Mar  2 21:06:57 2021 : rcvd [LCP ConfReq id=0x2 <mru 1400> <auth chap MS-v2> <magic 0x7ad21b17> <pcomp> <accomp> <endpoint 13 17 01 4f 48 20 23 13 c3 46 18 8f aa 74 9e ef 65 fe 3a 00 00 00 00>]
Tue Mar  2 21:06:57 2021 : lcp_reqci: returning CONFACK.
Tue Mar  2 21:06:57 2021 : sent [LCP ConfAck id=0x2 <mru 1400> <auth chap MS-v2> <magic 0x7ad21b17> <pcomp> <accomp> <endpoint 13 17 01 4f 48 20 23 13 c3 46 18 8f aa 74 9e ef 65 fe 3a 00 00 00 00>]
Tue Mar  2 21:06:57 2021 : sent [LCP EchoReq id=0x0 magic=0x312e33e6]
Tue Mar  2 21:06:58 2021 : rcvd [CHAP Challenge id=0x0 <74364045b7347b39c5b1dfc36728e117>, name = "XXX"]
Tue Mar  2 21:06:58 2021 : sent [CHAP Response id=0x0 <734347e818645e3291e5aadb64eba088000000000000000068b867912db9f4098b52051c0e350df91af72a1774b6708700>, name = "XXXXX"]
Tue Mar  2 21:06:58 2021 : rcvd [LCP EchoRep id=0x0 magic=0x7ad21b17]
Tue Mar  2 21:06:58 2021 : rcvd [CHAP Success id=0x0 "S=FB69C2CC6DD794FF835AF55ED91E9DBAB6278C81"]
Tue Mar  2 21:06:58 2021 : sent [IPCP ConfReq id=0x1 <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-dns3 0.0.0.0>]
Tue Mar  2 21:06:58 2021 : sent [IPV6CP ConfReq id=0x1 <addr fe80::167d:daff:fece:57fd>]
Tue Mar  2 21:06:58 2021 : sent [ACSCP ConfReq id=0x1 <route vers 16777216> <domain vers 16777216>]
Tue Mar  2 21:06:58 2021 : rcvd [CCP ConfReq id=0x4 <mppe +H -M -S -L -D +C>]
Tue Mar  2 21:06:58 2021 : Unsupported protocol 'Compression Control Protocol' (0x80fd) received
Tue Mar  2 21:06:58 2021 : sent [LCP ProtRej id=0x2 80 fd 01 04 00 0a 12 06 01 00 00 01]
Tue Mar  2 21:06:58 2021 : rcvd [LCP ProtRej id=0x5 80 21 01 01 00 16 03 06 00 00 00 00 81 06 00 00 00 00 83 06 00 00 00 00]
Tue Mar  2 21:06:58 2021 : rcvd [LCP ProtRej id=0x6 80 57 01 01 00 0e 01 0a 16 7d da ff fe ce 57 fd]
Tue Mar  2 21:06:58 2021 : rcvd [LCP ProtRej id=0x7 82 35 01 01 00 10 01 06 00 00 00 01 02 06 00 00 00 01]
Tue Mar  2 21:06:58 2021 : sent [LCP TermReq id=0x3 "No network protocols running"]
Tue Mar  2 21:06:58 2021 : Connection terminated.
Tue Mar  2 21:06:58 2021 : L2TP disconnecting...
Tue Mar  2 21:06:58 2021 : L2TP sent CDN
Tue Mar  2 21:06:58 2021 : L2TP sent StopCCN
Tue Mar  2 21:06:58 2021 : L2TP clearing port-mapping for en0
Tue Mar  2 21:06:58 2021 : L2TP disconnected

Вот журнал с сервера Windows:

"XXX","RAS",03/02/2021,21:07:24,4,"XXXXXX",,"XX.XX.XX.XX","XX.XX.XX.XX",,,"XXX","XXXXX",1,,"XX.XX.XX.XX","XXX",1614737244,,5,,1,2,,,0,"311 1 fe80::edb8:9338:cb73:6adf 03/03/2021 01:54:30 4",,,,,1,,,,"5",2,,,,,"7",1,,3,1,"174.247.13.222","XX.XX.XX.XX",,,,,,,"MSRASV5.20",311,,"0x00504545524C455353",4,,"Microsoft Routing and Remote Access Service Policy",1,,,,
"XXX","RAS",03/02/2021,21:07:26,4,"XXXXX",,"XX.XX.XX.XX","XX.XX.XX.XX",,,"XXX","XX.XX.XX.XX",1,,"XX.XX.XX.XX","XX.XX.XX.XX",1614737244,,5,,1,2,,,0,"311 1 fe80::edb8:9338:cb73:6adf 03/03/2021 01:54:30 4",,,,,2,,292,407,"5",2,0,11,13,1,"7",1,,3,1,"174.247.13.222","XX.XX.XX.XX",,,,,,,"MSRASV5.20",311,,"0x00504545524C455353",4,,"Microsoft Routing and Remote Access Service Policy",1,,,,

Я в полном тупике.

1
задан 3 March 2021 в 16:08
2 ответа

Похоже, это была проблема маршрутизации на самом сервере AWS EC2, я следовал старому сообщению на форумах AWS: https://forums.aws.amazon.com/thread.jspa?messageID=487251. Последнее сообщение в этой теме - это то, чему я следовал, и все заработало как ожидалось, я добавил его сообщение сюда, чтобы его можно было сохранить на случай, если ссылка потеряется. Трюк для меня заключался в добавлении статического маршрута, так как я уже сделал большую часть этого сообщения, или оно не было применимо в моей ситуации.

Немного поздновато, поскольку этому посту почти 2 года; однако, мы только что закончили настройку RRAS w/L2TP IPSEC VPN & NAT на экземпляре Win2012. экземпляре Win2012. Надеюсь, это поможет всем остальным, кто случайно найдет дорогу к этой теме.

Эта настройка довольно открытая, и вы захотите заблокировать свои ACL и SecGroups после того, как все заработает; однако, это должно помочь вам

ПРИМЕЧАНИЕ: ^ = щелчок правой кнопкой мыши

Необходимые условия:

  1. интернет-шлюз
  2. VPC с одной или несколькими подсетями (мы используем две - одна исключительно для RRAS, другая - для LAN-сервера).
  3. Экземпляр Windows 2012 (наш сервер RRAS) с 2 сетевыми интерфейсами. Назначьте статические IP на каждый интерфейс (у нас есть последовательные IP, но не уверены, что это необходимо). Прикрепите и EIP к Eth0. Отключите SRC/DEST проверку на каждом интерфейсе (примечание: по моему опыту, отключение SRC/DEST на экземпляре влияет только на Eth0. Лучше сделать это вручную на каждом интерфейсе).
  4. Экземпляр Windows 2012 (наш сервер локальной сети) с 1 сетевым интерфейсом, назначен статический IP
  5. Сервер RRAS подключен к вашему домену (почти уверен, что это требуется для RRAS, но это определенно требуется для нашей установки, так как пользователи VPN аутентифицируются в AD). У вас уже должны быть настроены ACLs и SG настройки, позволяющие серверу RRAS взаимодействовать с вашим DC(s).

Настройте ACL (для тестирования мы применили ACL к обеим подсетям RRAS и подсети LAN) Входящие: Порт 3389 (RDP); TCP; ВАШ IP-адрес или диапазон IP-адресов. (это для целей управления; может быть удален или изменен после того, как ваша VPN работает) Входящие: Все; Все; Все; Все; подсеть VPC (для NAT) Входящие: Порт 500; UDP; 0.0.0.0/0; Разрешить (для VPN) Входящие: Порт 4500; UDP; 0.0.0.0/0; Разрешить (для VPN) Входящие: Все; ESP (50); 0.0.0.0/0; Разрешить (для VPN) Входящие: 1701; UDP; 0.0.0.0/0; Разрешить (для VPN) Входящие: Диапазон 49152-65535; TCP & UDP; 0.0.0.0/0; Разрешить (ответы на трафик локальной сети) Исходящие: Все; Все; 0.0.0.0/0; Разрешить (для NAT и VPN)

Настройка группы безопасности для сервера RRAS Входящие: Все; Все; LAN SG ID Входящие: TCP; 3389 (RDP); ВАШ IP или диапазон IP (также для целей управления; может быть удален или изменен после запуска вашей VPN) Входящие: -- Входящие: UDP; 500; 0.0.0.0/0 Входящие: UDP; 1701; 0.0.0.0/0 Входящие: UDP; 4500; 0.0.0.0/0 Входящие: ESP (50); ALL; 0.0.0.0/0 Исходящие: All; All; 0.0.0.0/0

Настройка группы безопасности для сервера LAN Inbound: Все; Все; RRAS SG ID Входящие: TCP; 3389 (RDP); ВАШ IP или диапазон IP (также для целей управления; может быть удален или изменен после запуска VPN) Исходящие: Все; Все; 0.0.0.0/0

Настройка таблицы маршрутов для сервера RRAS (мы используем главный rtb) VPN Подсеть; локальный; активный 0.0.0.0/0; IGW ID; active

Настраиваем таблицу маршрутов для LAN сервера (требуется для NAT) VPN Subnet; локальный; активный 0.0.0.0/0; RRAS Eth1 interface ID; active На данном этапе вы должны иметь возможность RDP на оба сервера с локальной машины, а также с одного сервера на другой. одного сервера на другой. Кроме того, сервер RRAS должен иметь возможность зайти на публичный сайт (например, Google), а сервер LAN - нет. Теперь о том, как все это объединить:

Установите маршрутизацию и удаленный доступ на ваш сервер RRAS

Менеджер сервера > Добавить роли и функции > Удаленный доступ на основе ролей (примите значения по умолчанию) Когда появится запрос, включите службы роли Routing

Настройте службы Routing и Remote Access Примечание: мы используем PSK и статический пул адресов для этого упражнения; ваша окончательная конфигурация может отличаться отличаться Маршрутизация и удаленный доступ ^ Имя сервера > Настроить и включить Маршрутизация и удаленные службы Пользовательская конфигурация > VPN доступ, NAT

Маршрутизация и удаленный доступ ^ Имя сервера > Свойства Безопасность > Методы аутентификации > Снять флажок EAP (это вызвало ненужные головной боли) Установите: Разрешить пользовательскую политику IPsec для L2TP/IKEv2 > ввести PSK

Маршрутизация и удаленный доступ > Имя сервера > IPv4 Выбрать статический адрес Пул и введите соответствующий диапазон [Примечание: мы решили использовать IP-адреса из подсети подсети RRAS, хотя любой частный диапазон IP адресов должен работать, при условии, что нет вероятности того, что IP будет конфликтовать с IP экземпляра в вашего VPC)

Маршрутизация и удаленный доступ > Имя сервера > IPv4 ^ NAT > Новый интерфейс > Ethernet (это должен быть Eth0 - проверьте по IP) Выберите: Публичный интерфейс подключенный к интернету Проверьте: Включить NAT на этом устройстве

Маршрутизация и удаленный доступ > Имя сервера > IPv4 ^ NAT > Новый интерфейс > Ethernet 2 (это должен быть Eth1 - проверьте по IP) Выберите: Private интерфейс, подключенный к частной сети Хорошо, это позаботится о Маршрутизация и удаленные службы; но это еще не работает. Помните тот "ву-ду", о котором я говорил? Пора подправить сервер RRAS до подчинения...

Voo-doo Item #1 (спасибо, поддержка AWS, за то, что предоставили это только после моего 5-го обращения в поддержку)

RegEdit > HKLM\SYSTEM\CurrentControlSet\Services\Tcpip ^ Parameters > Новый DWORD: DisableTaskOffload ^ DisableTaskOffload > Изменить > Значение данные: 1

Voo-doo Пункт №2 (спасибо, Comcast, за то, что испортил мою домашнюю сеть на этой неделе и дал мне момент AHA, который наконец-то заставил NAT работать) Маршрутизация и удаленный доступ > Имя сервера > IPv4 ^ Статические маршруты > Новый статический маршрут > Интерфейс: Ethernet (т.е. Eth0); Назначение: 0.0.0.0; Сетевая маска: 0.0.0.0; Шлюз: Шлюз по умолчанию сервера RRAS (возьмите из IPCONFIG/ALL); Метрика: 1 Маршрутизация и удаленный доступ > Сервер Имя > IPv4 ^ Статические маршруты > Новый статический маршрут > Интерфейс: Ethernet 2 (т.е. Eth1); Назначение: Подсеть VPC; Сетевая маска: Маска подсети VPC; Шлюз: Шлюз по умолчанию сервера RRAS; Метрика: 1

Наконец, клиентская машина. В нашем случае, Win7x64, но также работает на Win8x64:

  1. Создание VPN-соединения Центр управления сетями и общим доступом > Настройка нового соединения или сети > Подключение к рабочему месту Создание нового соединения

Использовать мой интернет Подключение Адрес Интернета: RRAS EIP Имя назначения: Проверьте: Не подключаться сейчас; просто настройте его так, чтобы я мог подключиться позже. (доверьтесь мне) Введите доменные учетные данные Создать > Закрыть

  1. Настройка VPN-соединения ^ "AWS L2TP" (или как вы его назвали) > вкладка Свойства Безопасность Тип VPN: Layer 2 Шифрование данных: требуется Отменить выбор: CHAP Вкладка Advanced Использовать PSK

Voo-doo Пункт #3 (что... вы думали, что все закончилось?) RegEdit > HKLM\SYSTEM\CurrentControlSet\services\PolicyAgent ^ AssumeUDPEncapsulationContextOnSendRule > Modify > Value data: 2

Теперь вы должны быть в состоянии [a] установить L2TP VPN соединение с вашим RRAS-серверу и получить доступ к вашему LAN-серверу по частным IP и FQDN (при условии, что ваш VPC был ранее настроен на разрешение связи между RRAS и вашим DC); установить соединение с вашего сервера локальной сети к общедоступным ресурсам. Tracert должен подтвердить, что трафик проходит через сервер RRAS.

Вот и все. Легко и просто, VPC...sy?

Последнее слово: ACLs и SG настройки довольно слабые на данный момент, как я уже говорил ранее. Цель здесь не в том, чтобы иметь полностью безопасной сети, а в доказательстве концепции. Я настоятельно рекомендую вам подкорректировать ваши ACL и настройки SG, чтобы усилить ваш VPC, тестируя ваши соединения по ходу дела. Другими словами, я не несу ответственности - это вы несете. ;)

0
ответ дан 24 April 2021 в 01:03

Ключом к проблеме является lcp_reqci: rcvd unknown option 13 - очевидно, это как-то связано с методами аутентификации, настроенными на обеих сторонах.

Возможно, этот ответ поможет: L2TP с PEAP аутентификацией из MacOS/iOS

0
ответ дан 24 April 2021 в 01:03

Теги

Похожие вопросы