آموزش نصب و راه‌اندازی OpenConnect VPN Server بر روی اوبونتو 22.04 با Let's Encrypt
Ubuntu 22.04 に OpenConnect VPN Server (ocserv) をインストールし、Let's Encrypt 証明書を取得するためのステップバイステップ ガイド。.

Let's Encrypt を使って Ubuntu 22.04 に OpenConnect Server (ocserv) をインストールして設定する方法

この記事では、Let's Encrypt証明書を使用してUbuntu 22.04にOpenConnect VPNサーバー(ocserv)を設定する方法を説明します。このガイドでは、VPNサービスのインストール、設定、セキュリティのヒント、最適化について説明します。.
0 株式
0
0
0
0

 

この技術ガイドでは何が説明されていますか?

このステップバイステップの技術ガイドでは、サービスを設定する方法を説明します。 オープンコネクト(ocserv) の上 ウブントゥ 22.04 証明書の受け取りと管理に加えて レッツ・エンクリプト安全な構成、ファイアウォールと NAT の設定、ユーザー認証、クライアントの接続と証明書の更新の自動化に関するヒントについて説明します。.

取引、ゲーム、企業アクセスなどの機密性の高い環境では、適切なロケーションを選択し、DDoS対策機能を備えたサーバーを利用することが不可欠です。当社は、世界85か所以上の拠点、DDoS対策サーバー、BGPネットワークを提供しています。.

 

前提条件と場所の選択

始める前に、次の点を確認してください。

  • サーバー ウブントゥ 22.04 root または sudo アクセス権があります。.
  • ドメイン (例: vpn.example.com) はサーバーの IP を指します。.
  • ポート 80 そして 443 これらは、Let's Encrypt 証明書を受信するためにファイアウォール上で開かれています。.

場所はなぜ重要なのでしょうか?

  • トレーダーやゲーマーにとって、ping の低い場所 (ロンドン、フランクフルト、東京など) を選択することが優先されます。.
  • 組織では、安定性を高めるために、BGP と CDN を備えた複数の場所が必要になる場合があります。.
  • 保護と安定性を確保するため、DDoS 対策機能を備えたサーバーが推奨されます。.

 

ocservと必要なパッケージのインストール

まず、システムを更新し、基本パッケージをインストールします。

sudo apt update && sudo apt upgrade -y
sudo apt install ocserv certbot libnss3-tools -y

運用環境に推奨されるパッケージ:

  • ファイアウォール管理用の ufw または nftables
  • ブルートフォース攻撃から保護するためのfail2ban
  • TLSをテストする必要がある場合は、opensslまたはgnutls-binを使用します。

 

Let's Encrypt 証明書を取得する方法

認定を受ける一般的な 2 つの方法:

方法A - nginxを使用する(Webサーバーがある場合)

nginx をお持ちの場合は、仮想ホストを有効にして、nginx プラグインで certbot を使用できます。

sudo apt install nginx
sudo certbot --nginx -d vpn.example.com

次に、ocserv 構成ファイルで、証明書パスを次のように指定します。

server-cert = /etc/letsencrypt/live/vpn.example.com/fullchain.pem
server-key = /etc/letsencrypt/live/vpn.example.com/privkey.pem

方法B - スタンドアロン(nginxがない場合)

ocserv はデフォルトでポート 443 をリッスンするため、certbot スタンドアロンを実行する前に、ocserv を一時的に停止するか、DNS チャレンジを使用する必要があります。

sudo systemctl stop ocserv
sudo certbot certonly --standalone -d vpn.example.com
sudo systemctl start ocserv

 

ocserv 設定 — サンプル ocserv.conf

メイン設定ファイル: /etc/ocserv/ocserv.conf. 主要セクションの例:

# ports
tcp-port = 443
udp-port = 443

# certificates
server-cert = /etc/letsencrypt/live/vpn.example.com/fullchain.pem
server-key = /etc/letsencrypt/live/vpn.example.com/privkey.pem

# network
default-domain = vpn.example.com
dns = 1.1.1.1
dns = 1.0.0.1
route = 0.0.0.0/0
no-route = 192.168.0.0/16

# limits
max-clients = 250
max-same-clients = 2

# security and performance
keepalive = 60
auth = "plain[passwd=/etc/ocserv/ocpasswd]"
compression = false
tls-priorities = "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.2"
allow-roaming = true

重要な注意事項: ルート = 0.0.0.0/0 フルトンネルの場合。スプリットトンネルの場合は、必要なネットワークのみを追加してください。セキュリティ上の理由から 圧縮 = 偽 推奨。.

 

ファイアウォールとNAT(IP転送)の設定

IP 転送を有効にする:

sudo sysctl -w net.ipv4.ip_forward=1
echo "net.ipv4.ip_forward=1" | sudo tee -a /etc/sysctl.conf

NAT の iptables ルールの例 (送信インターフェイス eth0、内部ネットワーク 10.10.10.0/24 を想定):

sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo iptables -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -s 10.10.10.0/24 -j ACCEPT

再起動後もルールを保持するには、iptables-persistent を使用するか、nftables に設定を保存します。.

UFW コマンドの例:

sudo ufw allow 443/tcp
sudo ufw allow 443/udp
sudo ufw allow 80/tcp
sudo ufw enable

 

認証とユーザー管理

ローカルのパスワードファイルに基づく簡単な方法:

sudo ocpasswd -c /etc/ocserv/ocpasswd alice

あなたはから パム LDAP/AD統合(構成)に使用 認証 = "pam"" ocserv.conf 内)。.

証明書ベースの認証 (x.509) の場合は、クライアント キー/証明書を生成します。

sudo certtool --generate-privkey --outfile client-key.pem
sudo certtool --generate-certificate --load-privkey client-key.pem --outfile client-cert.pem --template client.tmpl

2FAを追加するには、 libpam-google-authenticator PAMの設定 /etc/pam.d/ocserv 使用。.

 

セキュリティ、強化、最適化

  • TLSバージョンの制限 使用 TLS優先度.
  • 圧縮を無効にする セキュリティ上の理由(犯罪など).
  • 同時接続数を制限する(最大同一クライアント数).
  • ログ記録とリソース監視を有効にします。.
  • 繰り返しログインを試行することを防ぐには、fail2ban をインストールして設定します。.

簡単な fail2ban 設定例:

[ocserv]
enabled = true
port = 443
filter = ocserv
logpath = /var/log/syslog
maxretry = 5

ocserv ログに応じて適切なフィルター (正規表現) を作成する必要があります。.

 

クライアントのテストと接続

Linuxコマンドラインクライアント オープンコネクト:

sudo apt install openconnect
sudo openconnect vpn.example.com

Linuxデスクトップでは ネットワークマネージャー-OpenConnect Windows/macOS では、OpenConnect GUI または Cisco AnyConnect 互換クライアントを使用します。.

サービスのステータスを確認するには:

sudo systemctl status ocserv
sudo journalctl -u ocserv -f

 

証明書の更新とメンテナンスの自動化

リバース プロキシとして nginx または apache を使用している場合、certbot は通常、サービスを停止せずに証明書を更新し、更新後に ocserv をリロードできます。

sudo certbot renew --deploy-hook "systemctl reload ocserv"

スタンドアロンを使用しており、ocserv が 443 で有効になっている場合、オプションは DNS チャレンジまたは事前/事後フックの使用です。

sudo certbot renew --pre-hook "systemctl stop ocserv" --post-hook "systemctl start ocserv"

 

実用的なヒントとアプリケーションの特殊なケース

  • 貿易: 待ち時間を最小限に抑えるには、最も近い場所にあるサーバーを選択してください。ポート 443 と UDP/DTLS を備えた取引専用の VPS が便利です。.
  • ゲーム: スプリット トンネリングを使用して、必要なトラフィックのみを VPN 経由で送信し、ゲームの ping を削減します。.
  • 人工知能とレンダリング: 同じリージョン内の GPU サーバーを使用すると、ネットワーク負荷とレイテンシを削減できます。.
  • 組織のセキュリティ: LDAP/AD、2FA、監視、および DDoS 対策サーバーの組み合わせが推奨されます。.

当社は、高性能クラウドサービス、グラフィックサーバー(GPU)、トレーディング/ゲーミングVPS、ドメイン登録、CDN、BGPネットワークを提供しています。 世界85か所以上の拠点 VPN をユーザーの近くに配置して、DDoS 保護のメリットを享受できるようになります。.

 

結論

このガイドでは、インストールから Let's Encrypt 証明書の取得、安全な構成、ファイアウォールと NAT、認証、最適化、更新の自動化まで、Ubuntu 22.04 で OpenConnect (ocserv) を設定する手順を実際に説明しました。.

次のような安全上の注意事項を守ってください。 最新のTLS圧縮を無効にする接続制限、2FA アクティベーション、fail2ban などの機能により、チーム、ゲーマー、トレーダーに安全で信頼性の高い VPN サービスを提供できます。.

あなたも気に入るかもしれない