GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

So installieren Sie den Softether-VPN-Server auf Centos 7

Das Einrichten Ihres eigenen virtuellen privaten Netzwerkservers ist eine gute Möglichkeit, Blockierungen zu umgehen und auf Websites zuzugreifen, die in Ihrem Land blockiert sind. Die Auswahl an Open-Source-VPN-Paketen ist lang, aber heute haben wir uns entschieden, Softether von der University of Tsukuba in Japan auszuprobieren. Softether ist seit langem ein proprietäres Produkt unter dem Namen PacketX und wurde erst vor einigen Jahren als Open Source veröffentlicht. Das mag der Grund sein, warum es so Windows-orientiert ist, die Konfigurations-GUI nur Windows ist und die Verbindung von Linux-Clients zusätzliche Arbeit erfordert. Wir werden hier nur Linux und keine GUIs verwenden, also fangen wir an. Lassen Sie uns am Anfang das System aktualisieren, Abhängigkeiten installieren und SElinux deaktivieren

yum update
yum -y groupinstall "Development Tools"
yum -y install gcc zlib-devel openssl-devel readline-devel ncurses-devel wget tar dnsmasq net-tools iptables-services system-config-firewall-tui nano iptables-services

sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

Nach diesem Neustart des Computers also selinux stoppen und neuen Kernel starten, wenn das Update einen neuen Kernel hatte. Deaktivieren Sie nach dem Hochfahren des Servers beide Firewalls, da sie das Testen beeinträchtigen können. Die Firewall-Regeln werden festgelegt, nachdem alles konfiguriert wurde

systemctl disable firewalld
systemctl stop firewalld
systemctl status firewalld

service iptables save
service iptables stop
chkconfig iptables off

Von diesen beiden Stapeln von Befehlen wird einer einen Fehler verursachen, da Sie nicht zwei Firewalls ausführen. Als nächstes müssen wir nach /usr/src cd, den Softether herunterladen, entpacken und kompilieren. Wir werden die Version 4.20 von Softether verwenden, die zum Zeitpunkt des Schreibens der neuesten RTM-Version ist. Es gibt auch 4.21, aber das ist Beta.

wget www.softether-download.com/files/softether/v4.20-9608-rtm-2016.04.17-tree/Linux/SoftEther_VPN_Server/64bit_-_Intel_x64_or_AMD64/softether-vpnserver-v4.20-9608-rtm-2016.04.17-linux-x64-64bit.tar.gz
tar xzvf softether-vpnserver-v4.20-9608-rtm-2016.04.17-linux-x64-64bit.tar.gz -C /usr/local

cd /usr/local/vpnserver
make

Compile stellt dir am Ende drei Fragen, die du alle mit 1 beantworten musst.

Als nächstes müssen wir ein Init-Skript für Softether erstellen, da eines nicht in der Installation enthalten ist. Führen Sie also vi /etc/init.d/vpnserver aus und fügen Sie dieses Skript ein.

#!/bin/sh
### BEGIN INIT INFO
# Provides: vpnserver
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start daemon at boot time
# Description: Enable Softether by daemon.
### END INIT INFO
DAEMON=/usr/local/vpnserver/vpnserver
LOCK=/var/lock/subsys/vpnserver
TAP_ADDR=192.168.7.1

test -x $DAEMON || exit 0
case "$1" in
start)
$DAEMON start
touch $LOCK
sleep 1
/sbin/ifconfig tap_soft $TAP_ADDR
;;
stop)
$DAEMON stop
rm $LOCK
;;
restart)
$DAEMON stop
sleep 3
$DAEMON start
sleep 1
/sbin/ifconfig tap_soft $TAP_ADDR
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
esac
exit 0

Als nächstes müssen Sie das ausführbare Bit zum Init-Skript hinzufügen und es zum ersten Mal auf die altmodische Weise starten und es dann mit systemd aktivieren, um es bei jedem Start zu starten.

chmod +x /etc/init.d/vpnserver

/etc/init.d/vpnserver start

systemctl enable vpnserver

Es macht nichts, dass es sich über die Tap-Schnittstelle beschwert, das liegt daran, dass wir es zum Init-Skript hinzugefügt und es mit Softether gestartet haben, aber die Tap-Schnittstelle noch nicht in der Softether-Konfiguration erstellt haben. Zu Letzterem kommen wir noch.

Softether ist installiert, jetzt konfigurieren wir

Um zum Konfigurationsteil überzugehen, müssen wir das Dienstprogramm vpncmd starten

/usr/local/vpnserver/vpncmd

Drücken Sie 1, um „Management of VPN Server or VPN Bridge“ auszuwählen, und wenn Sie dann gefragt werden, welcher Server konfiguriert werden soll, drücken Sie einfach die Eingabetaste und es wird der lokale Host ausgewählt, auf dem Sie gerade Softether installiert haben. Drücken Sie noch einmal die Eingabetaste, um als Administrator Zugriff auf den Server zu erhalten. Nächster Typ

ServerPasswordSet

um das Admin-Passwort für den Server festzulegen. Um Softether verwenden zu können, muss ein virtueller Hub erstellt werden. Wir werden einen namens MOB mit folgendem Befehl erstellen

HubCreate MOB

Sie werden aufgefordert, ein Passwort festzulegen, mit dem Sie einen Hub verwalten, ohne Zugriff auf den gesamten VPN-Server.

Jetzt müssen wir eine lokale Brücke erstellen. Das ist effizienter, es gibt auch SecureNAT, das einfacher einzurichten, aber ressourcenintensiv ist. Wir werden mit der lokalen Bridge und dem Tap-Gerät arbeiten, beachten Sie, dass mit der lokalen Bridge auch der DHCP-Server konfiguriert und installiert werden muss, was am Ende des Tutorials erledigt ist. Die lokale Brücke wird also mit folgendem Befehl erstellt:

BridgeCreate /DEVICE:"soft" /TAP:yes MOB

Wenn die TAP-Geräteerstellung mit einer Meldung über unzureichende Berechtigungen fehlschlägt, sollten Sie überprüfen, ob Ihr Netzwerkcontroller auf den Promiscuous-Modus eingestellt ist. HyperV und VMware erstellen standardmäßig VMs ohne Promiscuous-Modus. Stellen Sie den Promiscuous-Modus ein und versuchen Sie dann erneut, das Tap-Gerät zu erstellen.

Jetzt müssen wir einen Benutzer für den von uns erstellten virtuellen MOB-Hub erstellen. Benutzer werden mit dem Befehl UserCreate erstellt und Sie können die Liste der Benutzer mit dem Befehl UserList anzeigen. Benutzer können zu Gruppen hinzugefügt werden und jede Gruppe kann einen anderen Authentifizierungsmodus haben, zum Beispiel Passwort, Zertifikat, RADIUS, NTLM und andere.

Konfigurieren des virtuellen Hubs

Jetzt wechseln wir zu Hub MOB

Hub MOB

und Benutzer anlegen

UserCreate test

Wir werden es einfach halten und die Passwortauthentifizierung verwenden, also verwenden Sie den folgenden Befehl

UserPasswordSet test

Jetzt richten wir L2TP/IPSec ein, bearbeiten die Eingabeaufforderung wie folgt, fett ist das, was Sie eingeben müssen:

VPN Server/MOB>IPsecEnable
IPsecEnable command - Enable or Disable IPsec VPN Server Function
Enable L2TP over IPsec Server Function (yes / no): yes

Enable Raw L2TP Server Function (yes / no): yes

Enable EtherIP / L2TPv3 over IPsec Server Function (yes / no): yes

Pre Shared Key for IPsec (Recommended: 9 letters at maximum): linoxide

Default Virtual HUB in a case of omitting the HUB on the Username: MOB

The command completed successfully.

Das war es für IPsec, aber wir wollen auch andere Protokolle haben. Zum Beispiel OpenVPN und Microsoft-Protokolle. Wir verwenden ServerCertRegenerate Befehl, ein SSL-Zertifikat für den Server zu generieren und zu registrieren, um es für OpenVPN- und Microsoft-Clients verwenden zu können. Das an den Befehl übergebene Argument muss Ihre Server-IP-Adresse oder FQDIN sein:

ServerCertRegenerate <YOUR SERVER IP or FQDN>

Ein neues Serverzertifikat wurde erstellt, wir müssen es in der Datei speichern:

ServerCertGet ~/cert.cer

Dieses Zertifikat kann nun auf Ihre Kunden übertragen werden. Wir können jetzt die SSTP-Funktion mit diesem Befehl aktivieren:

SstpEnable yes

Und um OpenVPN zu aktivieren:

OpenVpnEnable yes /PORTS:1194

Der Port für OpenVPN kann nach Belieben geändert werden. Dann müssen wir eine Konfiguration für den OpenVPN-Client wie diese erstellen

OpenVpnMakeConfig ~/openvpn_config.zip

VPN über DNS und VPN über ICMP

Geben Sie Hub ein, um zur Verwaltung des gesamten VPN-Servers und nicht nur des MOB-Hubs zurückzukehren.

VPN Server/MOB>Hub
Hub command - Select Virtual Hub to Manage
The Virtual Hub selection has been unselected.
The command completed successfully.

Für eine maximale Umgehung aller Blockaden müssen wir auch VPN über ICMP und DNS aktivieren:

VpnOverIcmpDnsEnable /ICMP:yes /DNS:yes
VpnOverIcmpDnsEnable command - Enable / Disable the VPN over ICMP / VPN over DNS Server Function
The command completed successfully.

Beenden Sie nun den vpncmd, da wir den vpnserver stoppen und dnsmasq einrichten müssen

service vpnserver stop

DHCP-Server, Weiterleitung und Postrouting

Softether ist jetzt konfiguriert, aber da wir SecureNAT nicht verwenden und stattdessen mit lokaler Bridge arbeiten, benötigen wir einen DHCP-Server. Der dnsmasq ist bereits in der ersten Phase des Tutorials installiert, als wir Abhängigkeiten installiert haben, also müssen wir ihn jetzt konfigurieren. Wir müssen /etc/dnsmasq.conf bearbeiten oder den Befehl echo verwenden, um die erforderlichen Zeilen daran anzuhängen. Wir werden letzteres Opton verwenden und wenn wir schon dabei sind, werden wir auch die ipv4_forwarding.conf

echoen
echo interface=tap_soft >> /etc/dnsmasq.conf
echo dhcp-range=tap_soft,192.168.7.50,192.168.7.90,12h >> /etc/dnsmasq.conf
echo dhcp-option=tap_soft,3,192.168.7.1 >> /etc/dnsmasq.conf
echo port=0 >> /etc/dnsmasq.conf
echo dhcp-option=option:dns-server,8.8.8.8 >> /etc/dnsmasq.conf

echo net.ipv4.ip_forward = 1 >> /etc/sysctl.d/ipv4_forwarding.conf

Wenden Sie diese Einstellung an, indem Sie

ausführen
sysctl -n -e --system

Überprüfen Sie, ob es angewendet wird:

cat /proc/sys/net/ipv4/ip_forward

Es sollte 1 anzeigen. Wenn es 0 anzeigt, tun Sie dies

echo 1 > /proc/sys/net/ipv4/ip_forward

Aktivieren Sie nat und postrouting:

iptables -t nat -A POSTROUTING -s 192.168.7.0/24 -j SNAT --to-source [YOUR SERVER IP ADDRESS]

iptables-save > /etc/sysconfig/iptables

Starten Sie VPN- und DHCP-Server mit den folgenden Befehlen neu und ermöglichen Sie ihnen, bei jedem Start zu starten:

service vpnserver start

systemctl start dnsmasq

systemctl enable dnsmasq

chkconfig vpnserver on

Schlussfolgerung

Damit ist die Installation und Konfiguration des Softether VPN-Servers abgeschlossen. Es ist mit Local Bridge für maximale Leistung konfiguriert, wir müssen jetzt nur noch Clients verbinden. Die Windows- und Android-Versionen sind einfach, für Windows gehen Sie einfach zur Softether-Site, laden den GUI-Client herunter und stellen eine Verbindung her. Für Android brauchen Sie nicht einmal das, Sie haben einen VPN-Client eingebaut. Aber für Linux, um eine Verbindung herstellen zu können, benötigen Sie einen virtuellen Layer-3-Switch auf dem Server, und Sie müssen dhclient auf der virtuellen Schnittstelle auf dem Client GNU/ ausführen. Linux-Maschine. In einem zukünftigen Artikel werden wir uns auf diesen Desktop-GNU/Linux-Client konzentrieren, den die Leute von der Tsukuba-Universität aus irgendeinem Grund nicht mögen und all diese zusätzlichen Schritte benötigen.


Cent OS
  1. So installieren Sie Minecraft Server unter CentOS 7

  2. So installieren Sie Nginx unter CentOS 8

  3. So installieren Sie PostgreSQL unter CentOS 8

  4. So installieren Sie Teamspeak 3 Server auf CentOS 8

  5. So installieren Sie ProFTPD unter CentOS 7

So installieren Sie Shoutcast Server auf CentOS 8

So installieren Sie Lighttpd unter CentOS

So installieren Sie PPTP VPN auf CentOS 6

So installieren Sie VestaCP auf CentOS 6

So installieren Sie VNC-Server unter CentOS 7

So installieren Sie Minecraft Server auf CentOS 6