Openfortivpn ist Kunde für PPP+TLS VPN -Tunneldienste. Es erzeugt einen PPPD -Prozess und betreibt die Kommunikation zwischen dem Gateway und diesem Prozess.
Es ist mit Fortinet VPNs kompatibel.
man openfortivpn
Stellen Sie einfach eine Verbindung zu einem VPN her:
openfortivpn vpn-gateway:8443 --username=foo
Verbindung zu einem VPN mit einem Authentifizierungsbereich herstellen:
openfortivpn vpn-gateway:8443 --username=foo --realm=bar
Speichern Sie das Passwort sicher mit einem Pinentry -Programm:
openfortivpn vpn-gateway:8443 --username=foo --pinentry=pinentry-mac
Verbinden Sie eine Verbindung mit einem Benutzerzertifikat und ohne Passwort:
openfortivpn vpn-gateway:8443 --username= --password= --user-cert=cert.pem --user-key=key.pem
Setzen Sie keine IP -Routen und fügen Sie keine VPN -Namenserver zu /etc/resolv.conf
hinzu:
openfortivpn vpn-gateway:8443 -u foo --no-routes --no-dns --pppd-no-peerdns
Verwenden einer Konfigurationsdatei:
openfortivpn -c /etc/openfortivpn/my-config
Mit /etc/openfortivpn/my-config
, der::
host = vpn-gateway
port = 8443
username = foo
set-dns = 0
pppd-use-peerdns = 0
# X509 certificate sha256 sum, trust only this one!
trusted-cert = e46d4aff08ba6914e64daa85bc6112a422fa7ce16631bff0b592a28556f993db
Die vollständige Liste der Konfigurationsoptionen finden Sie im Abschnitt CONFIGURATION
von
man openfortivpn
SmartCard Support Anforderungen openssl pkcs engine
und opensc
zu installieren. Der PKCS11-Engine von LIBP11 muss mit dem installierten P11-Kit-Devel kompiliert werden. Überprüfen Sie Nr. 464 für eine Diskussion bekannter Themen in diesem Bereich.
Um Ihre SmartCard zu verwenden, geben Sie mindestens pkcs11:
an die Option User-Cert-Konfiguration oder Befehlszeilen. Es dauert die volle oder ein teilweise PKCS#11 -Token -URI.
user-cert = pkcs11:
user-cert = pkcs11: token =someuser
user-cert = pkcs11: model =PKCS%2315%20emulated ; manufacturer=piv_II;serial=012345678;token=someuser
username =
password =
In den user-cert = pkcs11:
Fällen können Sie das Token-URI mit p11tool --list-token-urls
erhalten.
Derzeit werden mehrere Leser nicht unterstützt.
Die Support in SmartCard wurde mit Yubikey unter Linux getestet, aber auch andere PIV -fähige SmartCards funktionieren möglicherweise. Unter Mac OS X Mojave ist bekannt, dass die PKCS-Motor-by-ID nicht gefunden wird.
Einige Linux -Verteilungen bieten openfortivpn
-Pakete:
Auf macOS bieten sowohl Homebrew als auch MacPorts ein openfortivpn
-Paket. Entweder installieren Sie Homebrew und installieren Sie dann Openfortivpn:
# Install 'Homebrew'
/usr/bin/ruby -e " $( curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install ) "
# Install 'openfortivpn'
brew install openfortivpn
oder installieren Sie MacPorts und installieren Sie dann Openfortivpn:
# Install 'openfortivpn'
sudo port install openfortivpn
Eine umfassendere Übersicht kann von Repology erhalten werden.
Für andere Distributiere müssen Sie aus Quelle erstellen und installieren:
Installieren Sie Build -Abhängigkeiten.
gcc
automake
autoconf
openssl-devel
make
pkg-config
gcc
automake
autoconf
libssl-dev
make
pkg-config
gcc
automake
autoconf
openssl
pkg-config
net-dialup/ppp
pkg-config
gcc
automake
autoconf
libopenssl-devel
pkg-config
automake
autoconf
[email protected]
pkg-config
automake
autoconf
libressl
pkgconf
Wenn Sie Ihren Kernel selbst verwalten, stellen Sie sicher, dass Sie diese Module zusammenstellen:
CONFIG_PPP=m
CONFIG_PPP_ASYNC=m
Installieren Sie bei MacOS 'Homebrew', um die Build -Abhängigkeiten zu installieren:
# Install 'Homebrew'
/usr/bin/ruby -e " $( curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install ) "
# Install Dependencies
brew install automake autoconf [email protected] pkg-config
# You may need to make this openssl available to compilers and pkg-config
export LDFLAGS= " -L/usr/local/opt/openssl/lib $LDFLAGS "
export CPPFLAGS= " -I/usr/local/opt/openssl/include $CPPFLAGS "
export PKG_CONFIG_PATH= " /usr/local/opt/openssl/lib/pkgconfig: $PKG_CONFIG_PATH "
Bauen und installieren.
./autogen.sh
./configure --prefix=/usr/local --sysconfdir=/etc
make
sudo make install
Wenn Sie Plattformen mit PPPD <2.5.0 wie der aktuellen Version von macOS abzielen, empfehlen wir Ihnen, mit der Option zu konfigurieren-Verabstandung von Legacy-PPPD:
./autogen.sh
./configure --prefix=/usr/local --sysconfdir=/etc --enable-legacy-pppd
make
sudo make install
Wenn Sie den OpenSSL -Speicherort angeben müssen, können Sie die Umgebungsvariable $PKG_CONFIG_PATH
festlegen. Für Feinabstimmungen überprüfen Sie die verfügbaren Konfigurieren von Argumenten mit ./configure --help
insbesondere wenn Sie Kreuzkompilien sind.
Installieren Sie zum Schluss die Laufzeit -Abhängigkeit ppp
oder pppd
.
Openfortivpn benötigt während des Tunnels erhöhte Privilegien bei drei Schritten:
/usr/sbin/pppd
-Prozess;/etc/resolv.conf
(wenn der Tunnel abgelaufen ist). Aus diesen Gründen müssen Sie sudo openfortivpn
verwenden. Wenn Sie von Nicht-Sudoer-Benutzern verwendet werden müssen, können Sie einen Eintrag in /etc/sudoers
oder eine Datei unter /etc/sudoers.d
hinzufügen.
Zum Beispiel:
visudo -f /etc/sudoers.d/openfortivpn
Cmnd_Alias OPENFORTIVPN = /usr/bin/openfortivpn
%adm ALL = (ALL) OPENFORTIVPN
Passen Sie das obige Beispiel an, indem Sie den openfortivpn
-Pfad ändern oder eine adm
Gruppe auswählen, die sich als eine dedizierte openfortivpn
-Gruppe unterscheidet.
WARNUNG : Stellen Sie sicher, dass nur vertrauenswürdige Benutzer OpenForfortivpn als Root ausführen können! Wie in Nr. 54 beschrieben, könnte ein böswilliger Benutzer --pppd-plugin
und --pppd-log
Optionen verwenden, um das Verhalten des Programms abzulenken.
In einigen Fällen verlangt der Server möglicherweise, dass der VPN -Client eine Webseite mit JavaScript lädt und interagiert. Abhängig von der Komplexität der Webseite kann die Interpretation der Webseite über die Reichweite eines Befehlszeilenprogramms wie OpenForfortivpn hinausgehen.
In solchen Fällen können Sie ein externes Programm verwenden, das einen vollwertigen Webbrowser wie Openfortivpn-WebView hervorbringt, um ein Session-Cookie zu authentifizieren und abzurufen. Dieser Cookie kann mithilfe von Option --cookie-on-stdin
an Openfortivpn zugeführt werden. Offensichtlich erfordert eine solche Lösung eine grafische Sitzung.
Fühlen Sie sich frei, Pull -Anfragen zu stellen!
C Codierungsstil sollte dem Linux -Kernel -Codierungsstil folgen.