Настройка Linux в качестве клиента к PfSense (IPSEC)

    Общий рейтинг статьи: 0 (проголосовало 0 )
    Опубликовано:  [просмотров 241]


    Сегодня мы разберем один довольно специфичный практический кейс.

    У одного из клиентов в качестве FireWall и VPN-шлюза используется PfSense и мне пришлось реализовывать подключение с тестового и продакшн-серверов IPSEC подключение к их шлюзу. Задачка оказалась довольно специфичная, но выполнимая и последовательностью настройки и подводными камнями возникшими в процессе я сейчас с вами поделюсь.

    В качестве параметров подключения мне передали скриншоты настроек и pre-shared key, с моей стороны запросили адрес шлюза и внутреннюю подсеть. Подсеть я передал в виде ip-адреса сервера с которого будет осуществляться доступ с маской /32, а адрес шлюза в идеологии IPSEC это адрес интернет шлюза который вы можете узнать используя последовательность дествий описанную в моей заметке "Как узнать ip-адрес шлюза в Linux".

    Для Ubuntu сервер необходимо установить клиент IPSEC командой:

    # aptitude install strongswan

    Конфигурация для подключения находится в файле /etc/ipsec.conf и после ряда экспериментов удалось добиться работоспособной конфигурации следующего вида:

    version 2.0config setup
    protostack=auto
    nat_traversal=yes

    conn SASRTDM
    authby=psk
    ike=3des-sha1-modp1024!
    esp=3des-md5-modp768!

    leftfirewall=yes
    leftid=85.213.151.27
    leftsubnet=10.0.0.5/32

    right=81.224.14.150
    rightid=81.224.14.150
    rightsubnet=192.168.216.40/32

    keyexchange=ikev1
    auto=start

    Файл с ключами авторизации /etc/ipsec.secrets содержит следующую запись:

    10.0.0.5 81.224.14.150 : PSK "c7SECRETKEYG"

    В разных вариантах конфигурации с использованием NAT или без вариации записи общего ключа могут быть самыми разными, но что именно требуется написать вы сможете узнать из логов, например в моем случае получилось так:

    10[ENC] parsed ID_PROT response 0 [ KE No NAT-D NAT-D ]
    10[IKE] no shared key found for '85.213.151.27'[10.0.0.5] - '81.224.14.150'[81.224.14.150]

    Тестовый запуск в режиме отладки можно произвести выполнив команду:

    # ipsec starter --nofork --debug-all --conf /etc/ipsec.conf

    Так же возможно вам понадобится помощь админисрратора на их стороне в случае получения ошибки:

    12[IKE] received INVALID_ID_INFORMATION error notify

    Проверить текущий статус соенинения туннелей можно командой:

    # ipsec statusall

     


    Связанные записи в блоге

    Обсуждение статьи

    Ваш комментарий: