FortiGate IPsec на Linux: які кліент сапраўды падключаецца
Кліент пастаўшчыка для Linux разумее толькі SSL VPN. Мабільны профіль IPsec даводзіцца перабудоўваць у vpnc або strongSwan, і чатыры поля павінны супадаць са шлюзам.
Ваш калега на 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 сустракаецца ў большасці перадач двойчы і азначае дзве розныя рэчы. Агульны сакрэт (PSK) аўтэнтыфікуе сам вузел, і гэта машынны сакрэт, які адміністратар чытае з канфігурацыі шлюза. Пароль вашага ўліковага запісу — асобны сакрэт, які даказвае, які чалавек стаіць за гэтым вузлом.
Дзве іншыя ўласцівасці прапусціць лягчэй. Ідэнтыфікатар групы — гэта радок, які майстар запісаў у аб'ект групы 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 зойме хвіліны замест вечара, і нікому не давядзецца зноў выяўляць, што імя групы было нулём.