Ваш колега на Windows імпортує профіль майстра FortiGate і за хвилину вже в мережі. Ви ставите той самий пакет постачальника на Ubuntu, шукаєте вкладку IPsec і знаходите клієнт, який уміє лише відкривати SSL VPN портал. Висновок, що зазвичай робиться, хибний двічі: шлюз вас не відхиляє, і збірка Linux не зламана. Fortinet постачає цей клієнт лише з підтримкою SSL VPN, тому мобільному профілю IPsec ніде жити, і його треба перебудовувати там, де говорять IKEv1.

Спершу визначте, який протокол вам насправді дали

Ця перебудова механічна, щойно ви перестанете вважати клієнт постачальника еталонною реалізацією.

Пристрої FortiGate публікують і SSL VPN, і IPsec, а лист про передачу рідко каже, що саме вам видали. URL порталу плюс сторінка входу в стилі браузера означають SSL VPN, і в Linux відповідь там — openfortivpn, а не зіставлення полів нижче. Ідентифікатор групи плюс заздалегідь спільний ключ означають мобільний IPsec, з яким дають раду vpnc і strongSwan.

Помилка тут — найчастіша причина, чому спроба в Linux помирає до завершення першої фази: клієнт пропонує IKEv1 порталу HTTPS або навпаки. Попросіть в адміністратора назву протоколу письмово, перш ніж щось встановлювати.

Чотири секрети подорожують у чотирьох різних полях

Слово password у більшості передач трапляється двічі й означає дві різні речі. Заздалегідь спільний ключ автентифікує сам вузол, і це машинний секрет, який адміністратор читає з конфігурації шлюзу. Пароль вашого облікового запису — окремий секрет, що доводить, яка людина стоїть за цим вузлом.

Решту два значення проґавити легше. Ідентифікатор групи — це рядок, який майстер записав в об'єкт групи IPsec, а 0 є припустимим значенням, а не порожнім полем. Пропозиція охоплює шифрування, хешування й групу Diffie-Hellman для кожної фази, а також параметр PFS, і кожен її пункт має збігатися зі шлюзом. Коли з'єднання зривається на фазі 1, майже завжди винний один із цих чотирьох, тож записуйте їх окремо, а не звалюйте в одне вікно.

Що має містити кожне поле vpnc

Встановіть клієнт разом з інтерфейсом редактора, потім створіть з'єднання VPNC:

sudo apt install vpnc network-manager-vpnc network-manager-vpnc-gnome

Вкажіть у шлюзі публічну адресу FortiGate, а в назві групи — точно ідентифікатор зі шлюзу, включно з голим нулем. Group password приймає заздалегідь спільний ключ, а ім'я користувача й пароль — ваш обліковий запис, з будь-яким токеном, доданим так, як очікує шлюз. У розширеному вікні виберіть групу Diffie-Hellman, яку називає пропозиція, узгодьте PFS із тією ж групою, увімкніть проходження NAT, коли клієнт за домашнім маршрутизатором, і залиште виявлення мертвого вузла в одному кроці зі шлюзом.

Назва групи — те поле, яке пропускають, бо воно здається необов'язковим, а типове значення нуль скидається на заповнювач. Надішліть його порожнім, і клієнт передасть не той ідентифікатор, який перевіряє шлюз. Якщо профіль усе ще не працює, порівняйте розширені значення з робочим клієнтом Windows, а не з повідомленням на форумі для іншого сайту.

Той самий профіль, написаний для strongSwan

strongSwan — кращий довгостроковий контейнер для цих значень, оскільки конфігурація є текстовим файлом, який можна переглянути й зберегти:

conn office-fw
    keyexchange=ikev1
    aggressive=yes
    left=%any
    leftauth=psk
    leftauth2=xauth
    xauth_identity=YOUR_USER
    right=GATEWAY_ADDRESS
    rightauth=psk
    rightsubnet=OFFICE_SUBNET
    ike=aes128-sha1-modp1536!
    esp=aes128-sha1-modp1536!

Прочитайте рядки пропозиції перед блоком, бо знак оклику в кінці змінює їхній сенс: він закріплює саме цю пропозицію й прибирає альтернативи, які клієнт інакше запропонував би. Шлюз, налаштований на одну пару перетворень, відхилить клієнт, що відкривається списком, тож саме закріплення перетворює переговори на збіг. Візьміть точні назви алгоритмів із робочого профілю шлюзу й замініть заповнювачі своїми значеннями.

Два рядки автентифікації не зайві. PSK доводить вузол, блок XAuth доводить користувача, і вилучення будь-якого з них залишає фазу, яку шлюз не завершить.

Прочитайте збій, перш ніж змінювати ще одне поле

Працюйте від симптому назад, а не перемішуйте вікно наново. IKE SA, що піднімається без призначеної адреси, означає, що обмін автентифікацією користувача не вдався або взагалі не запускався, тож перевірте обліковий запис і обробку токена. Фаза 1, яка ніколи не завершується, вказує на пропозицію, ідентифікатор групи або агресивний режим, і кожен із них порівнюється зі шлюзом, а не лише з клієнтом Windows.

Тунель, який встановлюється й потім помирає кожні кілька хвилин, — це розбіжність у виявленні мертвого вузла між двома кінцями; узгодьте таймер шлюзу, а не вимикайте keepalive всюди. Встановлений тунель, у якому офісні хости залишаються недоступними, зазвичай означає, що проштовхнута підмережа так і не потрапила до локальної таблиці маршрутизації, чого сторонній клієнт може сам і не зробити.

Поверніть робочі значення власнику шлюзу, коли завершите: протокол, ідентифікатор групи, заздалегідь спільний ключ, пропозиція, PFS і рішення щодо DPD. Тоді наступна машина з Linux витратить хвилини замість вечора, і нікому не доведеться знову виявляти, що назва групи була нулем.

Схожі статті