2025年版 最新VPN構築ガイド – 従来のVPNからZero Trust Network Accessまで
はじめに
2020年の記事から5年が経過し、VPN技術は大きく進化しました。本記事では、最新のVPN技術動向と、より安全で効率的なネットワークアクセス方法について、初心者の方にも分かりやすく解説します。
🔒 VPNの基本概念
(あなたのPC)
危険な公衆網
🚫 盗聴リスク
(会社・自宅)
2025年のVPN技術の現状
主要な変化点
- CentOS 7のサポート終了(2024年6月30日)
- Rocky Linux、AlmaLinux、Ubuntu LTSへの移行が推奨
- 新しいVPNプロトコルの台頭
- WireGuardの普及(OpenVPNの4倍の速度)
- QUIC-based VPNの登場
- Zero Trust Architectureの標準化
- 従来の境界型セキュリティからの脱却
- 継続的な認証と最小権限の原則
SoftEther VPN最新版のインストールと設定
動作環境(2025年推奨)
- OS: Rocky Linux 9、AlmaLinux 9、Ubuntu 24.04 LTS
- CPU: 64ビットプロセッサ(ARM64対応)
- メモリ: 2GB以上
- ストレージ: 20GB以上
🏗️ VPNネットワーク構成図
Rocky Linux 9 / AlmaLinux 9での構築手順
1. システムの準備
# システムの更新
sudo dnf update -y
# 必要なパッケージのインストール
sudo dnf groupinstall "Development Tools" -y
sudo dnf install wget curl gcc make cmake git \
openssl-devel readline-devel ncurses-devel \
zlib-devel libsodium-devel -y
# SELinuxの一時無効化(本番環境では適切に設定)
sudo setenforce 0
sudo sed -i 's/^SELINUX=enforcing/SELINUX=permissive/' /etc/selinux/config
# Firewalldの設定
sudo firewall-cmd --permanent --add-port=443/tcp
sudo firewall-cmd --permanent --add-port=5555/tcp
sudo firewall-cmd --permanent --add-port=1194/udp
sudo firewall-cmd --permanent --add-service=ipsec
sudo firewall-cmd --permanent --add-port=500/udp
sudo firewall-cmd --permanent --add-port=4500/udp
sudo firewall-cmd --permanent --add-port=1701/udp
sudo firewall-cmd --reload
2. SoftEther VPN Server v4.44のインストール
# 作業ディレクトリへ移動
cd /tmp
# 最新版のダウンロード(2025年4月リリース版)
wget https://github.com/SoftEtherVPN/SoftEtherVPN_Stable/releases/download/v4.44-9807-rtm/softether-vpnserver-v4.44-9807-rtm-2025.04.16-linux-x64-64bit.tar.gz
# 解凍
tar xzf softether-vpnserver-v4.44-9807-rtm-2025.04.16-linux-x64-64bit.tar.gz
# ビルド
cd vpnserver
make
# インストール
cd ..
sudo mv vpnserver /usr/local/
cd /usr/local/vpnserver
sudo chmod 600 *
sudo chmod 700 vpnserver vpncmd
3. Systemdサービスの設定(改良版)
sudo cat > /etc/systemd/system/softether-vpnserver.service << 'EOF'
[Unit]
Description=SoftEther VPN Server v4.44
After=network-online.target
Wants=network-online.target
[Service]
Type=forking
ExecStart=/usr/local/vpnserver/vpnserver start
ExecStop=/usr/local/vpnserver/vpnserver stop
ExecReload=/bin/kill -HUP $MAINPID
Restart=on-failure
RestartSec=3s
# セキュリティ強化設定
PrivateTmp=yes
ProtectSystem=full
ProtectHome=yes
NoNewPrivileges=yes
LimitNOFILE=65536
[Install]
WantedBy=multi-user.target
EOF
# サービスの有効化と起動
sudo systemctl daemon-reload
sudo systemctl enable softether-vpnserver
sudo systemctl start softether-vpnserver
4. 初期設定(コマンドライン版)
# vpncmdで初期設定
sudo /usr/local/vpnserver/vpncmd
# 以下、対話形式で設定
# 1. 管理パスワードの設定
ServerPasswordSet
# 2. 仮想HUBの作成
HubCreate MyVPN /PASSWORD:YourHubPassword
# 3. ユーザーの作成
Hub MyVPN
UserCreate testuser /GROUP:none /REALNAME:none /NOTE:none
UserPasswordSet testuser /PASSWORD:UserPassword123
# 4. SecureNATの有効化
SecureNatEnable
# 5. L2TP/IPSecの設定
IPsecEnable /L2TP:yes /L2TPRAW:no /ETHERIP:no \
/PSK:YourPreSharedKey123 /DEFAULTHUB:MyVPN
Ubuntu 24.04 LTSでの構築手順
# システムの更新
sudo apt update && sudo apt upgrade -y
# 必要なパッケージのインストール
sudo apt install -y build-essential wget curl gcc make \
libreadline-dev libncurses-dev libssl-dev zlib1g-dev
# SoftEther VPNのダウンロードとインストール
cd /tmp
wget https://github.com/SoftEtherVPN/SoftEtherVPN_Stable/releases/download/v4.44-9807-rtm/softether-vpnserver-v4.44-9807-rtm-2025.04.16-linux-x64-64bit.tar.gz
tar xzf softether-vpnserver-*.tar.gz
cd vpnserver
make
cd ..
sudo mv vpnserver /usr/local/
# 権限設定
cd /usr/local/vpnserver
sudo chmod 600 *
sudo chmod +x vpnserver vpncmd
# Systemdサービスファイルの作成(Rocky Linuxと同じ内容)
# UFWファイアウォールの設定
sudo ufw allow 443/tcp
sudo ufw allow 5555/tcp
sudo ufw allow 1194/udp
sudo ufw allow 500/udp
sudo ufw allow 4500/udp
sudo ufw allow 1701/udp
WireGuard – 次世代VPNプロトコル
WireGuardの特徴
- 超高速: OpenVPNの約4倍の速度
- シンプル: 約4,000行のコード(OpenVPNは60万行)
- 最新暗号化: ChaCha20、Poly1305、Curve25519、BLAKE2
- 低遅延: カーネルレベルで動作
WireGuardのインストールと設定
Rocky Linux 9 / AlmaLinux 9
# WireGuardのインストール
sudo dnf install -y wireguard-tools
# 鍵の生成
wg genkey | sudo tee /etc/wireguard/server_private.key
sudo chmod 600 /etc/wireguard/server_private.key
sudo cat /etc/wireguard/server_private.key | wg pubkey | sudo tee /etc/wireguard/server_public.key
# サーバー設定ファイルの作成
sudo cat > /etc/wireguard/wg0.conf << 'EOF'
[Interface]
Address = 10.0.0.1/24
ListenPort = 51820
PrivateKey = <サーバーの秘密鍵>
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
[Peer]
# クライアント1
PublicKey = <クライアント1の公開鍵>
AllowedIPs = 10.0.0.2/32
[Peer]
# クライアント2
PublicKey = <クライアント2の公開鍵>
AllowedIPs = 10.0.0.3/32
EOF
# WireGuardの起動
sudo systemctl enable --now wg-quick@wg0
WireGuard vs OpenVPN vs SoftEther 性能比較(2025年)
| プロトコル | スループット(平均) | レイテンシ | CPU使用率 | セットアップ難易度 |
|---|---|---|---|---|
| WireGuard | 950 Mbps | 5ms | 低 | 簡単 |
| OpenVPN | 250 Mbps | 20ms | 高 | 中程度 |
| SoftEther | 600 Mbps | 15ms | 中 | 簡単 |
📊 VPN技術比較チャート
| 項目 | WireGuard | SoftEther VPN | OpenVPN |
|---|---|---|---|
| 速度 | 950 Mbps | 600 Mbps | 250 Mbps |
| レイテンシ | 5ms | 15ms | 20ms |
| セットアップ難易度 | 簡単 | 簡単 | 中程度 |
| CPU使用率 | 低 | 中 | 高 |
| プラットフォーム対応 | 良好 | 優秀 | 優秀 |
| 機能豊富さ | シンプル | 豊富 | 標準 |
- 🚀超高速通信(4倍速)
- 🎯シンプルな設定
- 🔧カーネルレベル動作
- 🛡️最新暗号化技術
- 📱モバイル最適化
- 🌐豊富なプロトコル対応
- 💻GUI管理ツール
- 🔄NAT穿越機能
- 📊詳細な統計情報
- 🔧L2TP/IPSec統合
- 📈豊富な実績
- 🔐強固なセキュリティ
- 🌍幅広いOS対応
- 🔧細かい設定可能
- 👥大規模コミュニティ
🎯 用途別推奨VPN技術
Zero Trust Network Access (ZTNA)への移行
🔄 Zero Trust vs 従来型セキュリティ
特徴
- ネットワーク境界で防御
- 内部は暗黙的に信頼
- VPNで境界を拡張
- 一度認証すれば自由にアクセス
- 横移動攻撃に脆弱
特徴
- 「決して信頼せず、常に検証」
- 各リソースを個別に保護
- コンテキスト情報で判断
- 継続的な認証・認可
- 横移動攻撃を防止
Zero Trustの基本原則
- 決して信頼せず、常に検証する
- 最小権限の原則
- 継続的な検証
- マイクロセグメンテーション
Tailscaleによる簡単なZTNA実装
Tailscaleは、WireGuardベースのメッシュVPNで、Zero Trust原則を簡単に実装できます。
インストールと設定
# Tailscaleのインストール(Rocky Linux 9)
curl -fsSL https://tailscale.com/install.sh | sh
# 起動と認証
sudo systemctl enable --now tailscaled
sudo tailscale up
# ACL(アクセスコントロールリスト)の設定例
# tailscale.com/admin でWeb UIから設定
Tailscale ACLポリシー例
{
"acls": [
{
"action": "accept",
"src": ["group:developers"],
"dst": ["tag:production:*"]
},
{
"action": "accept",
"src": ["group:admins"],
"dst": ["*:*"]
}
],
"groups": {
"group:developers": ["user1@example.com", "user2@example.com"],
"group:admins": ["admin@example.com"]
},
"tagOwners": {
"tag:production": ["group:admins"]
}
}
他のZTNAソリューション
- Cloudflare Zero Trust
- クラウドベースのZTNA
- WAFとの統合
- 月額無料プラン(50ユーザーまで)
- Zscaler Private Access
- エンタープライズ向け
- 包括的なSASEプラットフォーム
- Pomerium
- オープンソース
- Identity-Aware Proxy
- Kubernetes対応
コンテナ化によるVPN構築
Dockerを使用したSoftEther VPNの展開
Docker Composeによる構築
# docker-compose.yml
version: '3.8'
services:
softether-vpn:
image: softethervpn/vpnserver:stable
container_name: softether-vpn-server
cap_add:
- NET_ADMIN
restart: unless-stopped
ports:
- "443:443/tcp" # HTTPS/Management
- "992:992/tcp" # Alternative HTTPS
- "5555:5555/tcp" # SoftEther Protocol
- "1194:1194/udp" # OpenVPN
- "500:500/udp" # IPSec IKE
- "4500:4500/udp" # IPSec NAT-T
- "1701:1701/udp" # L2TP
volumes:
- ./vpn_server.config:/usr/vpnserver/vpn_server.config
- ./server_log:/var/log/vpnserver
environment:
- SPW=ServerPassword123 # サーバー管理パスワード
- HPW=HubPassword123 # Hub管理パスワード
- PSK=PreSharedKey123 # L2TP/IPSec事前共有鍵
起動コマンド
# Docker Composeで起動
docker-compose up -d
# ログの確認
docker-compose logs -f
# 管理コマンドの実行
docker exec -it softether-vpn-server vpncmd
Kubernetesでの展開
# softether-deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: softether-vpn
namespace: vpn
spec:
replicas: 1
selector:
matchLabels:
app: softether-vpn
template:
metadata:
labels:
app: softether-vpn
spec:
containers:
- name: softether
image: softethervpn/vpnserver:stable
securityContext:
capabilities:
add:
- NET_ADMIN
ports:
- containerPort: 443
protocol: TCP
- containerPort: 1194
protocol: UDP
- containerPort: 500
protocol: UDP
- containerPort: 4500
protocol: UDP
volumeMounts:
- name: config
mountPath: /usr/vpnserver/vpn_server.config
subPath: vpn_server.config
- name: logs
mountPath: /var/log/vpnserver
volumes:
- name: config
configMap:
name: softether-config
- name: logs
emptyDir: {}
---
apiVersion: v1
kind: Service
metadata:
name: softether-vpn-service
namespace: vpn
spec:
type: LoadBalancer
selector:
app: softether-vpn
ports:
- name: https
port: 443
targetPort: 443
protocol: TCP
- name: openvpn
port: 1194
targetPort: 1194
protocol: UDP
- name: ipsec-ike
port: 500
targetPort: 500
protocol: UDP
- name: ipsec-nat
port: 4500
targetPort: 4500
protocol: UDP
セキュリティ強化のベストプラクティス
1. 多要素認証(MFA)の実装
# RADIUS認証サーバーとの連携
# FreeRADIUSのインストール
sudo dnf install -y freeradius freeradius-utils
# Google Authenticator PAMモジュールの設定
sudo dnf install -y google-authenticator
2. 証明書ベース認証の設定
# CA証明書の作成
openssl genrsa -out ca.key 4096
openssl req -new -x509 -days 3650 -key ca.key -out ca.crt
# サーバー証明書の作成
openssl genrsa -out server.key 4096
openssl req -new -key server.key -out server.csr
openssl x509 -req -days 365 -in server.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out server.crt
# クライアント証明書の作成
openssl genrsa -out client.key 4096
openssl req -new -key client.key -out client.csr
openssl x509 -req -days 365 -in client.csr -CA ca.crt -CAkey ca.key -set_serial 02 -out client.crt
3. ログ監視とアラート
# Fail2banの設定(ブルートフォース攻撃対策)
sudo dnf install -y fail2ban
# SoftEther VPN用のフィルター作成
sudo tee /etc/fail2ban/filter.d/softether.conf > /dev/null <<'EOF'
[Definition]
failregex = ^.*Connection ".*" from <HOST>:[0-9]+ failed.*$
^.*User authentication failed.*from <HOST>.*$
ignoreregex =
EOF
# Jail設定
sudo tee /etc/fail2ban/jail.d/softether.conf > /dev/null <<'EOF'
[softether]
enabled = true
port = 443,992,5555,1194
protocol = tcp
filter = softether
logpath = /usr/local/vpnserver/security_log/*.log
maxretry = 5
findtime = 600
bantime = 3600
EOF
# 設定後の確認
sudo systemctl enable --now fail2ban
sudo fail2ban-client reload
sudo fail2ban-client status
sudo fail2ban-client status softether
# ログに対してパターンが当たるか検証(任意)
sudo fail2ban-regex /usr/local/vpnserver/security_log/*.log /etc/fail2ban/filter.d/softether.conf -v4. ネットワークセグメンテーション
# 仮想HUBごとのアクセス制御
# vpncmdでの設定例
Hub MyVPN
AccessAdd pass 192.168.1.0/255.255.255.0 / /PRIORITY:100
AccessAdd deny 192.168.100.0/255.255.255.0 / /PRIORITY:90
5. 定期的なセキュリティ監査
# Nmapによるポートスキャン
nmap -sV -p- your-vpn-server.com
# Lyzによる脆弱性スキャン
lynis audit system
# OpenVASによる包括的セキュリティ評価
# (別途インストールが必要)
クライアント設定ガイド(2025年版)
Windows 11での設定
- SoftEther VPN Client最新版のダウンロード
- 公式サイトから
v4.44 Build 9807をダウンロード - Windows 11対応確認済み
- 公式サイトから
- 新機能: Windows Hello認証対応
- 生体認証(指紋・顔認識)での接続が可能
- 設定方法:
1. VPN接続設定を作成2. 「認証」タブで「Windows Hello」を選択3. Windows Helloの設定を完了
macOS Sonoma/Ventura での設定
# Homebrewでのインストール(推奨)
brew install softethervpn
# または、L2TP/IPSecネイティブ接続
# システム設定 > ネットワーク > VPN > 追加
# - タイプ: L2TP over IPSec
# - サーバーアドレス: your-server.com
# - アカウント名: HubName\Username
# - パスワード: YourPassword
# - 共有シークレット: PreSharedKey
iOS 17 / iPadOS 17での設定
- 設定アプリを開く
- 「一般」→「VPNとデバイス管理」→「VPN」
- 「VPN構成を追加」
- 以下を入力:
- タイプ: L2TP
- 説明: 任意の名前
- サーバー: サーバーのIPまたはドメイン
- アカウント: HubName\Username
- パスワード: 保存する
- シークレット: 事前共有鍵
Android 14での設定
- 設定 → ネットワークとインターネット → VPN
- 「+」をタップして新規作成
- 以下を設定:
- 名前: 任意
- タイプ: L2TP/IPSec PSK
- サーバーアドレス: your-server.com
- IPSec事前共有鍵: YourPSK
- ユーザー名: HubName\Username
- パスワード: YourPassword
- 転送ルート: 0.0.0.0/0(全トラフィック)
トラブルシューティング
よくある問題と解決方法
1. 接続できない
# ポートの確認
sudo ss -tunlp | grep vpnserver
# ファイアウォールの確認
sudo firewall-cmd --list-all
# SELinuxの確認(Rocky Linux/AlmaLinux)
sudo ausearch -m avc -ts recent
# ログの確認
sudo tail -f /usr/local/vpnserver/security_log/$(date +%Y%m%d).log
2. 速度が遅い
# MTUサイズの最適化
sudo ip link set dev vpn_vpn mtu 1400
# TCP最適化
sudo sysctl -w net.core.rmem_max=134217728
sudo sysctl -w net.core.wmem_max=134217728
sudo sysctl -w net.ipv4.tcp_rmem="4096 87380 134217728"
sudo sysctl -w net.ipv4.tcp_wmem="4096 65536 134217728"
3. DNS解決の問題
# SecureNATのDNS設定
Hub MyVPN
SecureNatHostSet /MAC:none /IP:192.168.30.1 /MASK:255.255.255.0
DhcpSet /START:192.168.30.10 /END:192.168.30.200 /MASK:255.255.255.0 /EXPIRE:7200 /GW:192.168.30.1 /DNS:8.8.8.8 /DNS2:1.1.1.1
パフォーマンスチューニング
1. カーネルパラメータの最適化
# /etc/sysctl.d/99-vpn-performance.conf
cat > /etc/sysctl.d/99-vpn-performance.conf << 'EOF'
# ネットワークバッファの拡大
net.core.rmem_max = 134217728
net.core.wmem_max = 134217728
net.core.netdev_max_backlog = 5000
net.ipv4.tcp_rmem = 4096 87380 134217728
net.ipv4.tcp_wmem = 4096 65536 134217728
# TCP最適化
net.ipv4.tcp_congestion_control = bbr
net.core.default_qdisc = fq
net.ipv4.tcp_notsent_lowat = 16384
# 接続数の増加
net.ipv4.ip_local_port_range = 1024 65535
net.core.somaxconn = 65535
net.ipv4.tcp_max_syn_backlog = 65535
# セキュリティ設定
net.ipv4.tcp_syncookies = 1
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.default.rp_filter = 1
EOF
sudo sysctl -p /etc/sysctl.d/99-vpn-performance.conf
2. CPU親和性の設定
# 特定のCPUコアにVPNプロセスを固定
sudo taskset -cp 0-3 $(pidof vpnserver)
監視とメトリクス
Prometheusでの監視設定
# docker-compose.monitoring.yml
version: '3.8'
services:
prometheus:
image: prom/prometheus:latest
volumes:
- ./prometheus.yml:/etc/prometheus/prometheus.yml
- prometheus_data:/prometheus
ports:
- "9090:9090"
command:
- '--config.file=/etc/prometheus/prometheus.yml'
- '--storage.tsdb.path=/prometheus'
grafana:
image: grafana/grafana:latest
ports:
- "3000:3000"
volumes:
- grafana_data:/var/lib/grafana
environment:
- GF_SECURITY_ADMIN_PASSWORD=admin123
node_exporter:
image: prom/node-exporter:latest
ports:
- "9100:9100"
volumes:
- /proc:/host/proc:ro
- /sys:/host/sys:ro
- /:/rootfs:ro
command:
- '--path.procfs=/host/proc'
- '--path.sysfs=/host/sys'
- '--collector.filesystem.mount-points-exclude=^/(sys|proc|dev|host|etc)($$|/)'
volumes:
prometheus_data:
grafana_data:
まとめと今後の展望
2025年のVPN選択指針
- 小規模・個人利用
- WireGuard: 最速・最もシンプル
- Tailscale: Zero Trust・簡単設定
- 中規模企業
- SoftEther VPN: 多機能・互換性重視
- OpenVPN + FreeRADIUS: 標準的構成
- 大規模企業
- ZTNA製品(Zscaler、Cloudflare等)
- SASE統合ソリューション
今後の技術トレンド(2025-2027)
- AI駆動型セキュリティ
- 異常検知の自動化
- 適応型アクセス制御
- 量子耐性暗号への移行
- Post-Quantum Cryptography対応
- ハイブリッド暗号方式
- 5G/6Gとの統合
- ネットワークスライシング
- エッジコンピューティング連携
推奨される移行パス
graph LR
A[従来VPN] --> B[WireGuard/最新VPN]
B --> C[ZTNA導入]
C --> D[完全Zero Trust]
A2[2020-2023] --> B2[2024-2025]
B2 --> C2[2025-2026]
C2 --> D2[2027以降]
参考資料とリソース
公式ドキュメント
- SoftEther VPN Project
- WireGuard Documentation
- NIST Zero Trust Architecture SP 800-207
- Tailscale Documentation
コミュニティとサポート
- SoftEther VPN User Forum
- r/VPN (Reddit)
- Stack Overflow – VPN Tags
セキュリティ情報
- CVE Database
- JPCERT/CC
- IPA セキュリティセンター
最後に
VPN技術は、単なるリモートアクセスツールから、包括的なセキュリティアーキテクチャの一部へと進化しています。2025年現在、従来のVPNからZero Trust Network Accessへの移行が加速しており、組織の規模や要件に応じて適切な技術を選択することが重要です。
本ガイドが、皆様の安全で効率的なネットワーク環境構築の一助となれば幸いです。
更新履歴
- 2025年9月: 初版作成
- SoftEther VPN v4.44対応
- Zero Trust Architecture解説追加
- コンテナ化手法の詳細化
著者注記: 本記事の内容は2025年9月時点の情報に基づいています。セキュリティ技術は日々進化しているため、実装時には最新の情報を確認することをお勧めします。
旧記事(2020年版)
以下は2020年当時の記事です。歴史的な参考として残しています。
ここ最近、急速にテレワークや在宅勤務などにシフトする企業が増え、いっきに環境が変化しています。
そこで、本日はパソコンにVPN環境を構築して社員がどこにいても社内のネットワークに参加できるようにします。簡単なイメージを作成したので参照してください。

詳しい説明は割愛しますが、インターネットから、どこにいても社内LANに参加できるというものです。IPアドレスをプライベートとすることにより、これを実現することが可能になります。ファイルの共有、プリンタへの印刷など便利なことを外出先からできるようになります。
今回はクラウドサービスにLinuxの仮想マシンが構築してあり、VPNの導入方法をいちから紹介したいと思います。使用するクラウドサービスはオラクルクラウドですがAWS、AZURE、GCPでも可能です。OSはCentOS7とします。
第一段階としてVPNを実現できるソフトを選びます。無料で高機能かつオープンソースであるSoftEther VPN Serverを使用いたします。
http://www.softether-download.com/ja.aspx?product=softether
にアクセスして目的にあったコンポーネント、プラットフォーム、CPUを選択します。するとダウンロードリンクが現れるので右クリックしてコピーしておきます。あとで使用します。

それではssh接続してVPN Serverに必要なソフトを事前にダウンロード、インストールしておきましょう。まずはDevelopment Tools、readlineなどをインストールします。私のマシンは32ビットだったのでそれ相応のものをインストールすることになりました。あとから説明いたします。下記のコマンドを入力します。
yum -y groupinstall "Development Tools"
yum -y install readline-devel ncurses-devel openssl-devel
yum install glibc-devel.i686 libgcc.i686 libstdc++-devel.i686 ncurses-devel.i686最初は3行目のコマンドを入力してなかったのでVPNのインストールでエラーが発生して苦労しましたが、通常は入力する必要はないと思います。
必要なプログラムの準備が完了したらVPN Serverをダウンロードして、インストールします。
cd /tmp
wget https://jp.softether-download.com/files/softether/v4.34-9745-rtm-2020.04.05-tree/Linux/SoftEther_VPN_Server/32bit_-_Intel_x86/softether-vpnserver-v4.34-9745-rtm-2020.04.05-linux-x86-32bit.tar.gz
tar zxvf softether-vpnserver-v4.34-9745-rtm-2020.04.05-linux-x86-32bit.tar.gztmpディレクトリに移動して、WGETでダウンロードします。WGETのあとのURLが先ほどコピーしたリンクアドレスとなります。そして解凍します。VPNSERVERというディレクトリが作成されそこにファイルが解凍されています。
cd vpnservervpnserverディレクトリに移動します。
makeこれにより、MakeFileに基づいて、アプリのコンパイルが行われます。

その前にライセンスに同意するか問われるので1を押して次に進みましょう。その後を1を2回押しましょう。
cd ..
mv vpnserver /usr/local
cd /usr/local/vpnserver
chmod 600 *
chmod 700 vpncmd
chmod 700 vpnserver
chown root:root *上のコマンドの説明です。
1行目:一つ上の階層であるtmpに移動する。
2行目:vpnserverディレクトリごと/usr/local直下に移動する。ここが推奨されています。
3行目:ファイルの移動先に移動。
4行目:セキュリティでroot以外アクセスできないようにする。
5,6行目:対象ファイルに実行権限を付与。
7行目:所有権をrootにする。
./vpncmd
3
check
exitvpncmdを実行して、3番のVPN Toolsコマンドを使用します。checkと入力してコマンドが成功するか確認します。成功したのでexitにてモードを抜けます。


cd
vi /etc/systemd/system/softvpn.serviceホームに戻りsoftvpn.serviceというファイルを作成します。記述する内容は下に示します。softvpnとしましたが自分でわかりやすいものを決めてください。
仮想マシン上でVPNサーバープロセスを常駐化させるため、Systemdでサービス化します。そのためにユニットファイルを作成します。
[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
上書き保存して動作確認をします。
systemctl daemon-reload
systemctl start softvpn
systemctl enable softvpn3行目でシステム再起動時に起動するようにします。
あともう少しです。次にSoftEther VPN Serverの使用するポート番号を確認してみましょう。実はあとでwindows版のvpnserverでもできます。こちらはGUIでわかりやすいですが、学習のためやっておきましょう。
systemctl stop softvpn
vi /usr/local/vpnserver/vpn_server.configプログラムを停止します。何らかの理由で、ウェブサーバーがあり443はSSL(https)で使用しているならFalseにして停止しておきましょう。

systemctl start softvpn設定が完了したので起動します。
次はOSにポート開放をします。開放するポートは5555及びスマホなどで使用するL2TP/IPsec用のポートです。UDPの500と4500となりますが、ipsecというサービス名で登録されています。
firewall-cmd --list-all
firewall-cmd --permanent --zone=public --add-port=5555/tcp
firewall-cmd --permanent --zone=public --add-service=ipsec
firewall-cmd --get-services
firewall-cmd --reload最初にどんなルールが設定されているか確認します。順に、TCP5555、UDP500、4500を登録します。4行目は登録されているものを確認することができます。反映も忘れずにおこないます。
オラクルクラウドのイングレスルールにもこれらのポート開放の設定を忘れずにしておきます。他のクラウドでも同様の設定項目があります。自宅サーバであればルーターの設定を見直す必要もあります。

次はVPN Serverにアクセスできるユーザーを作成しますがコマンドでは困難なこともあるのでwindows版をダウンロードしてきます。
http://www.softether-download.com/ja.aspx?product=softether
にてダウンロードしてインストールします。
サーバー管理マネージャーから新しい接続設定をクリックします。

次の画面で接続設定名を任意で、ホスト名、ポート番号は5555を選択します。管理パスワードは何もいれずに「OK」ボタンをクリックします。ホスト名はオラクルクラウドのインスタンスに使用している外部IPアドレスとなります。最初に限り次の画面でパスワードと再確認の2つを入力する必要があります。管理画面では5555以外停止中ですね。先ほどのSSH接続でおこなったコマンドの内容が反映されていることがわかります。


ウィザードにそって進めていきます。リモートアクセスVPNサーバーにチェックをいれて次に進みます。仮想HUB名の入力画面がでたらわかりやすいものを入力します。

ダイナミックDNS機能の画面がでたらいったん閉じます。この時点でXXXXX.softeher.netでもアクセスができますが独自ドメインを使用したい方は無効にしておきましょう。まだまだ続きます。VPN AZUREは今回は無効としました。ユーザー作成画面がでたら作成しますが、後からでもできます。ローカルブリッジの設定では必ず一覧から選択します。

先ほどコマンドでポート開放をしたのでIPsec、L2TPは設定しましょう。「L2TPサーバー機能を有効にする」にチェックをいれます。IPsec事前共有鍵は任意で設定しておきます。スマホで接続する時に必要です。

仮想HUBの管理画面で「仮想NATおよび仮想DHCPサーバー機能」ボタンをクリックして次の画面で「SecureNAT機能を有効にする」をクリックします。詳細な振り分けIPアドレスを指定したい方は「SecureNATの設定」ボタンにておこなえます。


ここまででサーバー側の設定は完了しました。ここら辺は管理者がおこなう業務となるでしょう。
次にようやくクライアントの設定を行います。パソコンとスマホの設定を見ていきます。
http://www.softether-download.com/ja.aspx?product=softether
でクライアントを選択してダウンロードしてインストールします。最初のインストールでは仮想ネットワーク関連のドライバのインストールもする必要があるかもしれません。

それではクライアントを起動して「新しい接続設定の作成」をダブルクリックしましょう。次の画面で入力すべきところは、接続設定名、ホスト名、ポート番号の選択、およびサーバーで追加したユーザー名とパスワードになります。「OK」をクリックすれば一覧に追加されています。

追加された接続設定名をダブルクリックします。接続がうまくいけばプライベートアドレスが割り当てられネットワークに参加できます。コマンドプロンプトで確認してみましょう。プライベートアドレスが割り当てられてます。

それではインターネットにアクセスしたときどんな外部IPが使用されているのでしょう。自分のIPアドレスが調査できるサイトにアクセスして確認します。これはまさにオラクルクラウドの外部IPとなっています。

最後にスマホの設定をしていきましょう。Androidを例に設定方法を説明していきます。
設定からVPNの項目を探します。名前を任意で、タイプは「L2TP/IPSec PSK」を選択します。

サーバーアドレス、IPSec事前共有鍵を入力します。IPSec事前共有鍵はデフォルトではVPNとなってましたが変更しておきましょう。

DNS検索ドメイン、DNSサーバーは空白のままで大丈夫ですが自分で用意していればその限りではありません。転送ルートは「0.0.0.0/0」と入力します。

最後にサーバーで追加したユーザー名とパスワードを入力して接続してみましょう。




コメント