GNU/Linux >> Linux の 問題 >  >> Cent OS

Centos7にSoftetherVPNサーバーをインストールする方法

独自の仮想プライベートネットワークサーバーを設定することは、ブロックを回避し、国でブロックされているサイトにアクセスできるようにするための良い方法です。オープンソースのVPNパッケージの選択は長いですが、今日は日本の筑波大学のSoftetherを試してみることにしました。 SoftetherはPacketXという名前で長い間独自の製品であり、ほんの数年前にオープンソース化されました。これが、Windows指向であり、構成GUIがWindowsのみであり、Linuxクライアントから接続するには追加の作業が必要な理由である可能性があります。ここではLinuxのみを使用し、GUIは使用しないので、始めましょう。最初に、システムを更新し、依存関係をインストールし、SElinuxを無効にします

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

この後、コンピューターを再起動して、更新に新しいカーネルがある場合はselinuxを停止し、新しいカーネルを開始します。サーバーの起動後、テストに干渉する可能性があるため、両方のファイアウォールを無効にします。ファイアウォールルールは、すべてが構成された後に設定されます

systemctl disable firewalld
systemctl stop firewalld
systemctl status firewalld

service iptables save
service iptables stop
chkconfig iptables off

これらの2つのコマンドのバッチのうち、2つのファイアウォールを実行していないため、1つはエラーになります。次に、/ usr / srcにcdし、Softetherをダウンロードし、解凍してコンパイルする必要があります。最新のrtmバージョンを書いている時点のSoftetherの4.20バージョンを使用します。 4.21もありますが、それはベータ版です。

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

コンパイルでは、最後に3つの質問があります。すべて、1で答える必要があります。

次に、インストールに含まれていないため、softetherのinitスクリプトを作成する必要があります。したがって、vi /etc/init.d/vpnserverを実行し、このスクリプトを貼り付けます。

#!/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

次に、実行可能ビットをinitスクリプトに追加し、古い方法で初めて起動してから、systemdで起動するたびに起動できるようにする必要があります。

chmod +x /etc/init.d/vpnserver

/etc/init.d/vpnserver start

systemctl enable vpnserver

タップインターフェイスについて不満があることを気にしないでください。これは、initスクリプトに追加し、softetherで開始するようにしたが、softether構成でタップインターフェイスをまだ作成していないためです。後者に行きます。

Softetherがインストールされたので、構成します

構成部分に移り、vpncmdユーティリティを起動する必要があります

/usr/local/vpnserver/vpncmd

1を押して[VPNサーバーまたはVPNブリッジの管理]を選択し、構成するサーバーを尋ねられたら、Enterキーを押すだけで、Softetherをインストールしたローカルホストが選択されます。もう一度Enterキーを押して、管理者としてサーバーにアクセスします。次のタイプ

ServerPasswordSet

サーバーの管理者パスワードを設定します。ソフトエーテルを使用するには、仮想ハブを作成する必要があります。次のコマンドでMOBという名前の1つを作成します

HubCreate MOB

VPNサーバー全体にアクセスせずに、ハブの管理に使用するパスワードを設定するように求められます。

次に、ローカルブリッジを作成する必要があります。これは、より効率的な方法です。セットアップが簡単なSecureNATもありますが、リソースを大量に消費します。ローカルブリッジとタップデバイスを使用します。ローカルブリッジでは、チュートリアルの最後にDHCPサーバーを構成してインストールする必要があることに注意してください。したがって、ローカルブリッジは次のコマンドで作成されます:

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

権限が不十分であるというメッセージが表示されてTAPデバイスの作成が失敗した場合は、ネットワークコントローラーが無差別モードに設定されているかどうかを確認することをお勧めします。 HyperVとVMwareは、デフォルトで無差別モードなしでVMを作成します。無差別モードを設定してから、タップデバイスの作成を再試行してください。

次に、作成したMOB仮想ハブのユーザーを作成する必要があります。ユーザーはコマンドUserCreateで作成され、コマンドUserListでユーザーのリストを表示できます。ユーザーをグループに追加したり、各グループに異なる認証モード(パスワード、証明書、RADIUS、NTLMなど)を設定したりできます。

仮想ハブの構成

次に、ハブMOBに切り替えます

Hub MOB

ユーザーを作成します

UserCreate test

シンプルに保ち、password authを使用するので、次のコマンドを使用します

UserPasswordSet test

次に、L2TP / IPsecをセットアップし、プロンプトを次のように操作します。太字は入力する必要があるものです:

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.

これでIPsecは終わりですが、他のプロトコルも必要です。たとえば、OpenVPNおよびMicrosoftプロトコル。 ServerCertRegenerateを使用します OpenVPNおよびMicrosoftクライアントで使用できるようにするために、サーバーのSSL証明書を生成して登録するコマンド。コマンドに渡される引数は、サーバーのIPアドレスまたはFQDINである必要があります:

ServerCertRegenerate <YOUR SERVER IP or FQDN>

新しいサーバー証明書が作成されました。ファイルに保存する必要があります:

ServerCertGet ~/cert.cer

これで、この証明書をクライアントに転送できます。これで、次のコマンドでSSTP機能を有効にできます。

SstpEnable yes

そしてOpenVPNを有効にするには:

OpenVpnEnable yes /PORTS:1194

OpenVPNのポートはお好みに合わせて変更できます。次に、このようなOpenVPNクライアントの構成を作成する必要があります

OpenVpnMakeConfig ~/openvpn_config.zip

VPNoverDNSおよびVPNoverICMP

Hubと入力して、MOBハブだけでなくVPNサーバー全体の管理に戻ります。

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

すべてのブロックを最大限に回避するには、VPNoverICMPとDNSを有効にする必要もあります。

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

vpnserverを停止してdnsmasqをセットアップする必要があるため、vpncmdを終了します

service vpnserver stop

DHCPサーバー、転送およびポストルーティング

Softetherが構成されましたが、SecureNATを使用しておらず、代わりにローカルブリッジを使用しているため、DHCPサーバーが必要になります。 dnsmasqは、依存関係をインストールしたチュートリアルの最初の段階ですでにインストールされているため、構成する必要があります。 /etc/dnsmasq.confを編集するか、echoコマンドを使用して必要な行を追加する必要があります。後者のオプトンを使用し、その間、ipv4_forwarding.confをエコーし​​ます

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

を実行してこの設定を適用します

sysctl -n -e --system

適用されているかどうかを確認します:

cat /proc/sys/net/ipv4/ip_forward

1と表示されるはずです。0と表示されている場合は、これを実行してください

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

NAT変換とポストルーティングを有効にする:

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

iptables-save > /etc/sysconfig/iptables

次のコマンドを使用してvpnサーバーとdhcpサーバーを再起動し、起動するたびに起動できるようにします。

service vpnserver start

systemctl start dnsmasq

systemctl enable dnsmasq

chkconfig vpnserver on

結論

これで、SoftetherVPNサーバーのインストールと構成は完了です。パフォーマンスを最大化するためにローカルブリッジで構成されているため、クライアントを接続するだけで済みます。 WindowsとAndroidは簡単です。Windowsの場合は、Softetherサイトにアクセスし、GUIクライアントをダウンロードして接続するだけです。 Androidの場合、それも必要ありません。VPNクライアントが組み込まれています。ただし、Linuxの場合、接続するには、サーバーの仮想レイヤー3スイッチが必要であり、クライアントGNU/の仮想インターフェイスでdhclientを実行する必要があります。 Linuxマシン。将来の記事では、このデスクトップGNU / Linuxクライアントに焦点を当てます。これは、筑波大学の人たちが何らかの理由で気に入らず、この追加の手順をすべて必要とします。


Cent OS
  1. CentOS7にMinecraftサーバーをインストールする方法

  2. CentOS8にTeamspeak3サーバーをインストールする方法

  3. CentOS7にProFTPDをインストールする方法

  1. CentOS8にNginxをインストールする方法

  2. CentOS8にPostgreSQLをインストールする方法

  3. CentOS8にMariaDBをインストールする方法

  1. CentOS7にFreeIPAサーバーをインストールする方法

  2. CentOS8にSambaサーバーをインストールする方法

  3. Centos7にCentreonをインストールする方法