Pracuję w firmie, która korzysta z VPNa postawionego na fortigate, abym mógł cokolwiek zrobić muszę się połączyć z ich siecią. Pod Windowsem i macem nie ma z tym problemu bo jest FortiClient, odpalam, wpisuję IP, username, hasło i pre-shared key klikam connect i działa. Jednak bardzo mi zależy, żebym mógł pracować na linuksie, tylko za nic nie mogę skonfigurować VPNa pod linuxem. Pomożecie?
To co próbowałem to:
openforti VPN - niestety nie działa bo nie obsługuje uwierzytelniania po pre-shared-key tylko poprzez klucz certyfikatu
Strongswan + network-manager-strongswan ale co dziwne jak wybiorę metodę autoryzacji jako pre-shared-key to nie mam gdzie go wpisać w GUI ani nie mogę zatwierdzić konfiguracji - znalazłem informację na ten temat tu https://bugs.launchpad.net/ubuntu/+source/network-manager-strongswan/+bug/1697536 ale wynika z niej tylko tyle, że pre-shared-key jest tylko do IKE V2 a to połączenie to IKE V1
znalazłem taki opis https://lorenzo.mile.si/forticlient-ipsec-vpn-on-ubuntu-linux/1103/ który opisuje instalację połączenia do fortigate z wykorzystaniem linuxa i oprogramowania ShrewSoft VPN client ale kompilacja wywala się na make z takim błędem
error: aggregate ‘EVP_CIPHER_CTX ctx_cipher’ has incomplete type and
cannot be defined i z tego co znalazłem chodzi o zbyt nowe ssl dla tego pakietu.
Jak widać spędziłem masę czasu szukając rozwiązań i naprawdę już pomysły mi się kończą - może ktoś coś podpowie?
Zechcesz rozwinąć? To, że pojawia się coś od fortigate nie znaczy, że będzie działać. Jeśli czytałeś posta wiesz, że już dużą część z tego testowałem. Oficjalny fortinet na przykład w ogóle nie obsługuje VPN po IPSEC, podobnie openfortiVPN
Może spróbuj skonfigurować połączenie networkmanagerem z linii komend albo nmtui. Pre-shared-key powinien być dostępny dla obu wersji IKE. Możesz też spróbować ręcznie skonfigurować strongswan, będzie to trudniejsze, ale powinno być możliwe. Sam używam czystego strongswana do zestawienia IPSec z routerem od Cisco.
W tej chwili dystrybucja to ubuntu ale docelowo bez znaczenia, chcę kupić oddzielny PC do pracy więc postawię na nim cokolwiek. Co do oficjalnego klienta - próbowałem - ale on nie obsługuje IPSEC - patrz tutaj: https://www.forticlient.com/techspec
Strongswan też konfigurowałem na czysto i to i do innego VPNa po ipsec się łączy, do tego fortigate nie chce
FortiClient jest również dostepny na Linux. Zajrzyj na stronę producenta. Opcjonalnie wtyczka do NetworkManager. Nie strongswan, lecz dedykowana dla forti. Fortigate ma jakąś swoją modyfikacje IPSec i swój ssl vpn, bo innym klientem się nie połączysz, tak samo w drugą stronę, FortiClient nie połączy się z innymi urzadzeniami, np. Mikrotik (FoetiClient ma problem z wynegocjowaniem fazy 1).
Dlatego właśnie unikam rozwiązań Fortigate i innych typu vendor locked in. Więcej z nimi problemów jak pożytku. I jeszcze na wszystko trzeba mieć subskrypcje za grube hajsy
Nie wiem o jakim oprogramowaniu fortigate mówisz ale to co znalazłem oficjalnie na stronie fortigate nie obsługuje IPSec o czym pisałem już tutaj z kolei Open Ford i obsługuje tylko SSL VPN od nich nie ipek nie wiem czy mówimy o tym samym Sorry za ewentualne błędy Piszę z telefonu
W każdym razie IPSec na Forti jest tak skonfigurowany, że zwykłym klientem VPN się nie połączysz. Jeśli korzystasz SSL-VPN, to potrzebujesz wtyczkę do NetworkManager. W moim Gentoo nazywa się tak.
net-vpn/networkmanager-fortisslvpn [ Masked ]
Latest version available: 1.2.8
Latest version installed: [ Not Installed ]
Size of files: 318 KiB
Homepage: https://wiki.gnome.org/Projects/NetworkManager
Description: NetworkManager Fortinet SSLVPN compatible plugin
License: GPL-2+
net-vpn/openfortivpn
Latest version available: 1.10.0
Latest version installed: [ Not Installed ]
Size of files: 74 KiB
Homepage: https://github.com/adrienverge/openfortivpn
Description: Fortinet compatible VPN client
License: GPL-3-with-openssl-exception openssl
Pisałeś o StrongSWan, więc wynikało, że szukasz czegoś do IPSec.
Do tego:
StrongSWan obsługuje tylko IKEv2. Do IKE potrzebujesz OpenSWan. Jeśli chcesz mieć obsługę IKE i IKEv2, to Libreswan. Ja pod Gentoo używam Libreswan i wszystkie IPSeci śmigają bez problemu.
Na stronie producenta masz FortiClient dla Linux (Ubuntu, RedHat, CentOS) dla innych pewnie da się wyciągnąć binarki z paczki.
Może źle się wyraziłem napiszę to jeszcze raz nie korzystam z ssl-vpn w forticlient pod Windows wybieram typ połączenia jako IPsec więc zakładam że takiego połączenia trzeba użyć A klient który jest na stronie fortigate nie obsługuje ipsec stop Mam nadzieję że teraz nie ma wątpliwości co miałem na myśli
Jak pisałem, unikam Fortigate. Dla mnie to gówniane rozwiązanie jak ASA od Cisco. Dlaczego kondonisz się z plikami tekstowymi skoro NetworkManager ma wtyczkę do Libreswan. Szkoda tylko, że Canonical nie dołączył jej do repo.
Do adminiki wybierz lepszy system, np. Gentoo. Pod tym systemem jest wszystko bez kondonienia się z jakimiś PPA, albo innymi AUR. I wszystko działa jak należy.
Jak pisałem, u mnie IPSeci śmigają na Libreswan. Tyle, że ja IPSeci zapinam na Mikrotiku, który przynajmniej nie gerneruje taki problemów jak Forti (Vendor lock-in). Hajs, hajs, hajs i hajs za dziadostwo jakie oferuje ten producent.
Myślę, że zapięcie IPSeca na Openswan czy Libreswan będzie trudnym wyzwaniem. Opcje są 2: albo producent ma własną iplementację IPSec kompatybilną tylko z Forticlient, albo została tak skonfigurowane po stronie serwera VPN, że i tak się nie zapniesz. Forticlient jako klient IPSec powinien zapinać się nie tylko z Fortiguardem, a z Mikrotikiem się nie zapina (nie przechodzi faza 1), chyba że wyłączysz uwierzytelnianie, wtedy powiedzmy, że działa. Do IPSec powinien łączyć się każdy klient, więc coś tu jest nie tak.
Nie mam wpływu na to co stosuje pracodawca, niby mówi, że wystawi dla mnie VPNa po OpenVPN no ale zobaczymy - wiadomo - w firmie są procedury i tak szybko się nie zrobi. Ogólnie to człowiek “mac style” użyczył mi nawet macbooka jakiegoś tam ale ma to coś 13’’ i dla mnie zdecydowanie za małe, mam do do tego nawet przejściówkę z USB-C na HDMI ale działa to jak chce więc dlatego chciałem linuksa.Dlaczego się bawię z plikami konfiguracyjnymi? W sumie to nawet nie wiem jak zainstalować ten plugin, tutaj https://github.com/NetworkManager/NetworkManager-libreswan nie widzę pakietów, później spróbuję zainstalować chociaż jak coś wyklepię ręcznie to wiadomo jak i ewentualnie gdzie szukać błędu.
Zgadza się - z pewnością wybiorę inny system jak pisałem docelowo będę chciał kupić oddzielny PC do pracy i na nim postawię coś bardziej się do tego nadające.
W Ubu niestety nie ma tego pluginu, co mnie dziwi. Może Manjaro.
Da się to fajnie wyklikać i nie trzeba grzebać w plikach.
Skoro gość jest mac style, to nie dziwi mnie forti. Pewnie Cisco też nie umie, a Mikrotiki uważa za zło, bo tez nie umie. W forti, klik klik i gotowe. No cóż.
Z tego co się orientuję, Forti nie wspiera OVPN, ale mogę się mylić.
Sprobuj na Manjaro, ewentualnie Sabayon (oparty na Gentoo), w tym drugim bez problemu zainstalujesz libreswan i wtyczkę do NM.
Podejrzewam, że dla Ubu jest jakieś PPA z tą wtyczką.
Z ciekawości chyba zainstaluje FortiClient dla Ubu.
Na Debianie trzeba tylko zmienić konfiguracje i prosto. Na Ubuntu pewnie podobnie, to jest konfiguracja dla 64bitowego systemu. Musisz zainstalować trochę zależności i pakietów potrzebnych do kompilacji. (Dodam sudo dla Ubuntu, będziesz miał wszystko)
I prostu już z oficjalnego gitlab-a. (skopiuj całość ustawień z linii ./configure… )
git clone https://gitlab.gnome.org/GNOME/NetworkManager-libreswan.git
cd NetworkManager-libreswan
./autogen.sh
./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu --libexecdir=/usr/lib/NetworkManager
make -j
sudo make install
I tyle na Debianie, może sprawdzę na Ubuntu (live, bo nie używam), jak byś miął jakieś problemy, ale chyba nie powinno być problemu. Można też zbudować paczki deb, zobaczymy.
Dzięki za pomoc, niestety dalej nie działa tzn. nie łączy się z VPNem, w syslogu mam takie coś:
Feb 16 16:01:29 Marek-PC NetworkManager[1235]: [1581865289.5719] audit: op=“connection-activate” uuid=“84d04eb2-2cbd-4411-ba2f-e1a8a9ff36c7” name=“vpntest” pid=12655 uid=1000 result=“success”
Feb 16 16:01:29 Marek-PC NetworkManager[1235]: [1581865289.5760] vpn-connection[0x55fd15652730,84d04eb2-2cbd-4411-ba2f-e1a8a9ff36c7,“vpntest”,0]: Started the VPN service, PID 12903
Feb 16 16:01:34 Marek-PC NetworkManager[1235]: [1581865294.5698] vpn-connection[0x55fd15652730,84d04eb2-2cbd-4411-ba2f-e1a8a9ff36c7,“vpntest”,0]: Timed out waiting for the service to start
Feb 16 16:01:52 Marek-PC systemd[1]: Starting Cleanup of Temporary Directories…
Pozostaje mi chyba liczyć na tego OpenVPNa, inna sprawa, że nie wiem co wpisać w nazwa grupy, zapewne musi być gdzieś ona zdefiniowana w konfiguracji fortigate, co prawda mogę podpytać ale nie sądzę aby to było to, podejżewam, że wtedy w syslogu widziałbym jakąś ifnormację o niewłaściwej grupie a nie po prostu timeout.
Tak, nazwę grupy musisz podać, a przynajmniej przy standardowym IPSec. Polityki IPSec przypisywane są do grupy.
W FortiClient nie widziałem takiej opcji, więc albo firewall ma to predefiniowane, albo jej nie używa.
Jak pisałem, zwyklymi klientami IPSec nie połączysz się z forti. Musi to być dedykowany klient, tak samo jak do Ciscowego IPSec używa się wtyczki VPNC. Choć przy Cisco są większe szanse, że zestawisz tunel przez Libreswan lub innego klienta IPSec, np. Shrew VPN Client.
Zdefiniowałeś zdalną sieć w libreswan? Dobrze podajesz algorytmy i hash fazy 1 i 2?
Na domyślnych ustawieniach Forti używa.
Faza 1 sha1, aes-128 oraz sha1, aes-256
Faza 2 sha1, aes-128 oraz sha1, aes-256
DH jeśli dobrze pamiętam Group2 i chyba bez PFS.
Te informacje lub plik konfiguracyjny musi podać Ci admin.
Małe sprostowanie @roobal. Strongswan umie zarówno IKEv1 i IKEv2. Używam obu i oba działają i oboma można zestawić połączenie z Cisco i nie trzeba używać vpnc/shrew. Z Fortigate nie próbowałem.