Arch Linux上にSoftEther VPNサーバを簡単に構築
今までxl2tpとOpenSwanでL2TP/IPsec VPNサーバを構築していましたが、SoftEther VPNで簡単に構築することができました。
L2TP/IPsecだけでなく、SSTP、OpenVPNでの接続にも対応しています。
現在の環境は、LAN用NICとhostapdまとめてbr0にブリッジ接続しています。
このbr0にSoftEther VPNサーバをブリッジさせます。
まずSoftEther VPNをインストール
$ yaourt -S softethervpn-git
SoftEther VPNの起動
$ sudo systemctl start softethervpn-server
ここからはWindows等GUIが使えるPCからリモートで設定します。
まずSoftEther VPN Server Managerを公式サイトからダウンロード
http://www.softether-download.com/ja.aspx?product=softether
起動し、 新しい接続設定の作成 からホスト名を入力保存。
接続しようとするとSoftEther VPNサーバのパスワードを訊かれるので設定します。
まず仮想HUBを作成します。
"仮想HUBの管理"→"ユーザーの管理"→"新規作成"
ユーザー名とパスワードを設定して保存。
IPsec/L2TPの有効化
"IPsec / L2TP 設定"→ "L2TP サーバー昨日を有効にする (L2TP over IPsec)"にチェック
ブリッジ設定
今回はVPN通信用のtapデバイスを作成し、これをbr0に追加させます。
"ローカルブリッジ設定"を開き、
"仮想HUB"にさっき作成した仮想HUBを選択。
"新しい tap デバイスとのブリッジ接続"を選択。
"新しい tap デバイス名"に分かりやすいように名前を付ける。今回はvpn0としました。
tapデバイス名で設定した名前は"tap_デバイス名"としてネットワークに追加されます。
br0にtapデバイスを追加する
$ sudo brctl addif br0 tap_vpn0
500、4500、1701ポートを開放する
$ sudo iptables -A INPUT -p udp --dport 500 -j ACCEPT
$ sudo iptables -A INPUT -p udp --dport 4500 -j ACCEPT
L2TP/IPsecだけでなく、SSTP、OpenVPNでの接続にも対応しています。
現在の環境は、LAN用NICとhostapdまとめてbr0にブリッジ接続しています。
このbr0にSoftEther VPNサーバをブリッジさせます。
まずSoftEther VPNをインストール
$ yaourt -S softethervpn-git
SoftEther VPNの起動
$ sudo systemctl start softethervpn-server
ここからはWindows等GUIが使えるPCからリモートで設定します。
まずSoftEther VPN Server Managerを公式サイトからダウンロード
http://www.softether-download.com/ja.aspx?product=softether
起動し、 新しい接続設定の作成 からホスト名を入力保存。
接続しようとするとSoftEther VPNサーバのパスワードを訊かれるので設定します。
まず仮想HUBを作成します。
"仮想HUBの管理"→"ユーザーの管理"→"新規作成"
ユーザー名とパスワードを設定して保存。
IPsec/L2TPの有効化
"IPsec / L2TP 設定"→ "L2TP サーバー昨日を有効にする (L2TP over IPsec)"にチェック
ブリッジ設定
今回はVPN通信用のtapデバイスを作成し、これをbr0に追加させます。
"ローカルブリッジ設定"を開き、
"仮想HUB"にさっき作成した仮想HUBを選択。
"新しい tap デバイスとのブリッジ接続"を選択。
"新しい tap デバイス名"に分かりやすいように名前を付ける。今回はvpn0としました。
tapデバイス名で設定した名前は"tap_デバイス名"としてネットワークに追加されます。
br0にtapデバイスを追加する
$ sudo brctl addif br0 tap_vpn0
500、4500、1701ポートを開放する
$ sudo iptables -A INPUT -p udp --dport 500 -j ACCEPT
$ sudo iptables -A INPUT -p udp --dport 4500 -j ACCEPT
$ sudo iptables -A INPUT -p udp --dport 1701 -j ACCEPT
これでVPN接続が可能になります。
接続できたら設定の永続化
ブリッジの設定(systemd-networkdの場合)
$ sudo vim /etc/systemd/network/tap_vpn0.netdev
[NetDev]
Name=tap_vpn0
Kind=tap
$ sudo vim /etc/systemd/network/tap_vpn0.network
[Match]
Name=tap_vpn0
[Network]
Bridge=br0
$ sudo iptables-save > /etc/iptables/iptables.rules
$ sudo systemctl enable softethervpn-server.service
ブリッジ周りの設定はそのままSystemdに任せてしまうと、VPNサーバ起動前にブリッジの設定が始まってしまうので先にtapデバイスを作成しています。
WindowsからSSTP接続する場合、証明書のインストールが必要になります。
mmc → 証明書(ローカルコンピュータ) → 信頼されたルート証明機関 → 証明書 にインストールすることで認証が可能になります。
接続できたら設定の永続化
ブリッジの設定(systemd-networkdの場合)
$ sudo vim /etc/systemd/network/tap_vpn0.netdev
[NetDev]
Name=tap_vpn0
Kind=tap
$ sudo vim /etc/systemd/network/tap_vpn0.network
[Match]
Name=tap_vpn0
[Network]
Bridge=br0
$ sudo iptables-save > /etc/iptables/iptables.rules
$ sudo systemctl enable softethervpn-server.service
ブリッジ周りの設定はそのままSystemdに任せてしまうと、VPNサーバ起動前にブリッジの設定が始まってしまうので先にtapデバイスを作成しています。
WindowsからSSTP接続する場合、証明書のインストールが必要になります。
mmc → 証明書(ローカルコンピュータ) → 信頼されたルート証明機関 → 証明書 にインストールすることで認証が可能になります。
コメント
コメントを投稿