CentOS 8で立てるSoftether VPN Server
最近、Re:ステージのモチベーションが爆上がりしています。
2ndライブのあとくらいから段々とモチベーションが上がってきて、「INTERSECT」のツアーライブに参戦した時に完全にハマりました。
アニメを昨日、全話イッキ見をして良さみに浸っておりました。
柊かえちゃんかわいい。
今回の記事はリステの話ではないので、本題に入ります。
9/26にリリースされたばかりのCentOS 8を使ってSoftether VPN Serverを作っていきます。
注意
CentOS8は先日公開されたばかりです。
安定動作しない、見たことないエラーが出るなどなどまだ不安定なことがあるかもしれません。
何があっても自己責任です。
実際の工程
1. CentOSのインストール
とくに難しいことはないです。
実マシンだったり、ESXiなどの仮想基盤にインストールします。特に7のインストールと大きな違いはないです。
構成は「最小の構成」でインストールします。
一つ注意するべきところはboot.iso(サイズが小さいISO)を使う場合、まだリポジトリミラーのサイトが整備されてなくて、リポジトリの設定や、パッケージの設定ができないので、自分でリポジトリの設定するのが面倒な場合はdvd.iso(大きいサイズのISO)をオススメします。
2. OSの設定
2-1. とりあえずSELinuxを切ります。(あまりやりたくないけど)
次のファイルを編集して、SELinuxの設定を変更します。
/etc/selinux/config
6行目のenforcing
をpermissive
にします。
# This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. SELINUX=permissive # SELINUXTYPE= can take one of these three values: # targeted - Targeted processes are protected, # minimum - Modification of targeted policy. Only selected processes are protected. # mls - Multi Level Security protection. SELINUXTYPE=targeted
そして、現在のSELinuxの状態を変更するために、次のコマンドを実行します。
sudo setenforce permissive
2-2. SSHを有効化
SSHはないといろいろつらいので、有効化します。
# SSHサービスを有効化 sudo systemctl enable sshd # SSHサービスを開始 sudo systemctl start sshd
2-3. 必要なパッケージをインストール
Softether VPNをビルドするのに必要なパッケージをインストールします。
– wget
– make
– gcc
– readline-devel
– openssl-devel
sudo dnf install wget make gcc readline-devel openssl-devel
3. SoftEther VPN Serverのインストール
3-1. softether VPNをビルドして設置
Softether VPNをビルドしていきます。
# まず、softether vpnのソースを落としてきます。 $ wget https://jp.softether-download.com/files/softether/v4.30-9700-beta-2019.07.13-tree/Source_Code/softether-src-v4.30-9700-beta.tar.gz # 解凍します。 $ tar -xf softether-src-v4.30-9700-beta.tar.gz # ディレクトリの移動 $ cd v4.30-9700 # configureする $ ./configure # makeする $ make -j$(nproc) # 設置する $ sudo cp -r bin/vpnserver /opt/
3-2. systemd周りの設定
VPNサーバのサービスをsystemdで管理したいので、serviceファイルを書いていきます。
私は以下のように書きました。
/etc/systemd/system/softether-vpnserver.service
serviceファイルが書けたら、/etc/systemd/system/
に設置して、systemdを再読込します。
sudo systemctl daemon-reload
3-3. フィアウォールのルール設定
CentOS 8ではfirewalldをiptablesのラッパーに使ってるので、firewalldのサービスルールを書きます。
私は以下のように書きました。
/etc/firewalld/services/softether-vpn.xml
サービスルールが書けたら、/etc/firewalld/services/
に設置して、サービスを有効化します。
# SSL-VPNで使うポートを開放 $ sudo firewall-cmd --permanent --zone=public --add-service=softether-vpn # IPSecで使うポートを開放 $ sudo firewall-cmd --permanent --zone=public --add-service=ipsec # firewalldを再読込 $ firewall-cmd --reload
4. Softether VPN Serverの起動
4-1. サービスの有効化と起動
sudo systemctl enable softether-vpnserver sudo systemctl start softether-vpnserver
ここまでくればあとはGUIポチポチでできるので、簡単ですね!
お疲れ様でした
みんなRe:ステージ!推していこう