Skip to content

Instantly share code, notes, and snippets.

@Nerahikada
Last active June 27, 2022 00:27
Show Gist options
  • Save Nerahikada/a156dee48fdfe6f2aaf3bff0f28c32c2 to your computer and use it in GitHub Desktop.
Save Nerahikada/a156dee48fdfe6f2aaf3bff0f28c32c2 to your computer and use it in GitHub Desktop.
Oracle Cloud Infrastructure の仮想インスタンスに SoftEther VPN Server をインストールする

Oracle Cloud Infrastructure の仮想インスタンスに SoftEther VPN Server をインストールする

  • OCIで無料で使えるサーバーに、SoftEther VPN Serverを入れてみる
  • OS: Ubuntu 20.04.4 LTS

SoftEter VPN Server のダウンロード

SoftEther VPN のダウンロード から「SoftEther VPN (Freeware)」→「SoftEther VPN Server」→「Linux」→「CPU(インスタンスに合わせて選択)」と進み、最新のファイルをダウンロードして解凍する

wget https://github.com/SoftEtherVPN/SoftEtherVPN_Stable/releases/download/v4.39-9772-beta/softether-vpnserver-v4.39-9772-beta-2022.04.26-linux-x64-64bit.tar.gz
tar zxvf softether-vpnserver-v*.tar.gz
ls -la vpnserver/ #解凍されているか確認

ビルド

cd vpnserver
make
cd ../

インストールとか設定とか

[オプション] 言語を編集 (vpncmd などの言語が変わるっぽい)

lang.config を開き編集

nano vpnserver/lang.config

vpnserver ディレクトリを移動

sudo mv vpnserver /usr/local/
sudo chown -R root:root /usr/local/vpnserver
sudo chmod -R g-w /usr/local/vpnserver

サービスとして登録

sudo nano /etc/systemd/system/vpnserver.service
[Unit]
Description=SoftEther VPN Server
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/vpnserver/vpnserver start
ExecStop=/usr/local/vpnserver/vpnserver stop

[Install]
WantedBy=multi-user.target
sudo systemctl enable vpnserver
sudo systemctl start vpnserver

ポートを開ける

TCP 443 を開ける
OCIの仮想クラウド・ネットワークからと、インスタンスのiptablesの両方開けないといけない

Windowsに SoftEther VPN Client, SoftEther VPN サーバー管理マネージャ をインストール

SoftEther VPN Server のダウンロードと同じページに進み、それぞれ「SoftEther VPN Client」と「SoftEther VPN Server Manager for Windows」をダウンロード
二つダウンロードしてインストールしなければならないので若干めんどくさい

サーバー管理マネージャで設定する

接続する

  1. 接続設定名とホスト名 を指定して接続設定を作成する (管理パスワードは後に設定するので空欄にする)
  2. 接続したら、新しい管理者パスワードを設定するように言われるので設定する
  3. 「高度な機能を用いた VPN(O)」を選択して、「閉じる(C)」を押す
  4. IPsec/L2TP 設定のダイアログが出てくるが、設定は今回は設定せずに「いいえ(N)」を押す

ユーザーを作成する

  1. 「仮想 HUB の管理(A)」→「ユーザーの管理(U)」と進み、「新規作成(C)」を押す
  2. ユーザー名と認証方法を指定し、ユーザーを作成する

仮想NATの設定をする

  1. 「仮想 HUB の管理(A)」→「仮想 NAT および仮想 DHCP サーバー機能(V)」と進み、「SecureNAT 機能を有効にする(E)」を押す
  2. 「SecureNAT 機能を本当に有効にしますか?」と聞かれるので、「OK」を押す

ローカルブリッジの設定をする

  1. 「VPN Server "XXX.XXX.XXX.XXX" の管理」画面まで戻り、「ローカルブリッジ設定(B)」を押す
  2. 「新しいローカルブリッジの定義(N)」で仮想HUB「DEFAULT」を選択する
  3. 「作成する種類(Y)」は「新しい tap デバイスとのブリッジ接続(T)」を選択し、任意のtapデバイス名を指定する
  4. 「ローカルブリッジを追加(A)」を押す
  5. 「これが意図した操作であるかどうか、もう一度確認してください。本当に続行しますか?」というダイアログが出てくるので「はい(Y)」を押す
  6. 「VM 内でローカルブリッジを使用する場合の注意事項」というダイアログが出てくるが、気にせずそのまま「OK」を押す

[オプション] さらに設定を変更する

  1. VPNサーバーを止めて、設定ファイルを開く
sudo systemctl stop vpnserver
sudo nano /usr/local/vpnserver/vpn_server.config
  1. ダイナミックDNSを無効にする declare DDnsClientbool Disabled true へ変更
  2. リッスンするポートを 443 のみにする declare ListenerListdeclare Listener1~3bool Enabled false へ変更
  3. NATトラバーサル(ポート開放しなくても接続できる機能)を無効にする declare ServerConfigurationbool DisableNatTraversal true へ変更
  4. IPv6をリッスンしないようにする declare ServerConfigurationbool DisableIPv6Listener true へ変更
  5. その他よくわからんけど無効にしてみる bool DisableJsonRpcWebApi true, bool DisableOpenVPNServer true, bool DisableSSTPServer true

参考

https://ja.softether.org/4-docs/1-manual/7
https://kakao.hateblo.jp/entry/2019/06/27/235946

追記

証明書認証 を使えるようにする (SoftEther VPN Server をソースコードからビルドする)

https://qiita.com/rimksky/items/ea62876bc154b9bfca76

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment