Windows に OpenVPN サーバーをインストールして構成する方法 | Windows OSハブ (2024)

OpenVPNは、安全な VPN を実装するための最も人気があり、最も簡単なソリューションの 1 つであるオープンソース ソフトウェア スイートです。 OpenVPN を使用すると、サーバーとクライアント (NAT やファイアウォールの背後にある場合でも) を単一のネットワークに結合したり、リモート オフィスのネットワークに接続したりできます。 OpenVPN のサーバー部分は、Linux、Windows、MacOS、*BSD など、ほぼすべての利用可能なオペレーティング システムに導入できます。 OpenVPN サーバーは、Windows Server 2022/20119/2016/2012R2、またはデスクトップ Windows エディション (Windows 10 または 11) を実行しているコンピューターにもインストールできます。

この記事では、Windows 10 を実行しているコンピューターに OpenVPN サーバーをインストールして構成し、別の Windows デバイスに OpenVPN クライアントをセットアップして、安全な VPN 接続を確立する方法を示します。

コンテンツ:

  • Windows に OpenVPN サーバー サービスをインストールする方法
  • OpenVPN 暗号化キーと証明書を作成する
  • Windows 用 OpenVPN サーバー構成ファイル
  • Windows での OpenVPN クライアントの構成

OpenVPN は、リモートの従業員にアクセスを提供するために SOHO セグメントで非常に人気があります。Windows Server に基づいて VPN サーバーを構築するための特別なハードウェアやライセンスを購入する必要はありません。RDPポートインターネットへの接続を簡単に保護できます。RDP ブルート フォース攻撃

Windows に OpenVPN サーバー サービスをインストールする方法

公式 Web サイト (https://openvpn.net/community-downloads/)。私たちの場合、これはOpenVPN-2.5.7-I602-amd64.msi(https://swupdate.openvpn.org/community/releases/OpenVPN-2.5.7-I602-amd64.msi)。

セットアップを実行して選択しますOpenVPN サービスインストールします。 OpenVPN サーバーを自動的に起動したい場合は、OpenVPN GUI をインストールしなくても構いません。

Windows に OpenVPN サーバーをインストールして構成する方法 | Windows OSハブ (1)

OpenVPN 2.5 (およびそれ以降) は、ウィンタンWireGuard 開発者からのドライバー。このドライバーは、デフォルトの TAP OpenVPN ドライバーよりも高速です。 TAP-Windows6 の代わりに Wintun ドライバーをインストールすることをお勧めします。

をインストールしますEasyRSA 証明書管理スクリプトOpenSSL ユーティリティ。

Windows に OpenVPN サーバーをインストールして構成する方法 | Windows OSハブ (2)

インストールを完了します。

デフォルトでは、OpenVPN は C:\Program Files\OpenVPN にインストールされます。

インストールが完了すると、新しいネットワーク アダプターが表示されます。Wintun ユーザースペース トンネル。 OpenVPN サービスが実行されていない場合、このアダプターは無効になります。

Windows に OpenVPN サーバーをインストールして構成する方法 | Windows OSハブ (3)

OpenVPN 暗号化キーと証明書を作成する

OpenVPN は OpenSSL 暗号化に基づいています。これは、クライアントと VPN サーバー間のネットワーク接続を確立するために RSA3 キーと証明書を使用する必要があることを意味します。

コマンド プロンプトを開き、easy-rsa ディレクトリに移動します。

cd "C:\Program Files\OpenVPN\easy-rsa"

ファイルのコピーを作成します。

vars.example vars をコピー

を開きます変数任意のテキストエディタでファイルを作成します。 OpenVPN および EaseRSA 作業フォルダーへのパスを確認します。

以下に示すように、必ず EASYRSA_TEMP_DIR 変数を編集してください。

set_var EASYRSA_TEMP_DIR "$EASYRSA_PKI/temp"

Windows に OpenVPN サーバーをインストールして構成する方法 | Windows OSハブ (4)

証明書フィールドに入力できます (オプション)。

set_var EASYRSA_REQ_COUNTRY "DE"set_var EASYRSA_REQ_PROVINCE "BY"set_var EASYRSA_REQ_CITY "MUN"set_var EASYRSA_REQ_ORG "WOSHUB-Com"set_var EASYRSA_REQ_EMAIL "[emailprotected]"set_var EASYRSA_REQ_OU "IT 部門"

証明書の有効期限を設定します。

set_var EASYRSA_CA_EXPIRE 3650 set_var EASYRSA_CERT_EXPIRE 825

ファイルを保存し、次のコマンドを実行します。

EasyRSA-Start.bat

次のコマンドはすべて EasyRSA シェルで実行する必要があります。

PKI を初期化します。

./easyrsa init-pki

次のメッセージが表示されるはずです。

init-pki が完了しました。これで、CA またはリクエストを作成できます。新しく作成した PKI ディレクトリは、C:/Program Files/OpenVPN/easy-rsa/pki です。

次に、ルート CA を生成します。

./easyrsa build-ca

CA パスワードを 2 回入力します。

CA の作成が完了したので、証明書リクエストをインポートして署名できるようになります。

上記のコマンドにより以下が作成されました。

  • 証明機関のルート証明書:C:\Program Files\OpenVPN\easy-rsa\pki\ca.crt
  • 認証局キー: C:\Program Files\OpenVPN\easy-rsa\pki\private\ca.key

次に、OpenVPN サーバーの証明書リクエストとキーを生成します。

./easyrsa gen-req サーバー nopass

このツールは次の 2 つのファイルを生成します。

要求:C:/プログラム ファイル/OpenVPN/easy-rsa/pki/reqs/server.req
:C:/プログラム ファイル/OpenVPN/easy-rsa/pki/private/server.key

CA を使用してサーバー証明書を発行するリクエストに署名します。

./easyrsa 署名要求サーバー サーバー

入力してデータを確認しますはい

次に、ルート CA の CA パスワードを入力します。

server.crt ファイルが次の場所に表示されます。発行済みフォルダー (C:\Program Files\OpenVPN\easy-rsa\pki\issued\server.crt)。

Windows に OpenVPN サーバーをインストールして構成する方法 | Windows OSハブ (5)

次に、Diffie-Hellman キーを生成できます (時間がかかります)。
./easyrsa gen-dh

Windows に OpenVPN サーバーをインストールして構成する方法 | Windows OSハブ (6)

VPN サーバーに追加の保護を提供するには、有効にすることをお勧めします。TLS認証。この機能により、SSL/TLS ハンドシェイクで HMAC 署名を使用できるようになり、追加の整合性チェックが開始されます。このような署名のないパケットは、VPN サーバーによってドロップされます。これにより、VPN サーバーのポート スキャン、DoS 攻撃、SSL/TLS バッファ オーバーフローなどから保護されます。

tls-auth キーを生成します。

cd C:\Program Files\OpenVPN\bin
openvpn --genkey シークレット ta.key

C:\Program Files\OpenVPN\bin\ta.keyファイルが表示されます。に移動しますC:\Program Files\OpenVPN\easy-rsa\pkiフォルダ。

その後、OpenVPN クライアントのキーを生成できます。 VPN サーバーに接続する各クライアントには、独自のキー ペアが必要です。

OpenVPN キーを生成してクライアントに配布するには、いくつかの方法があります。

以下の例では、サーバー上にクライアント キーを作成し、パスワード (PEM パス フレーズ) で保護します。

./easyrsa gen-req testuser1
./easyrsa 署名要求クライアント testuser1

Windows に OpenVPN サーバーをインストールして構成する方法 | Windows OSハブ (7)

キーファイルをコピーします(C:\Program Files\OpenVPN\easy-rsa\pki\private\testuser1.key) クライアント コンピュータにパスワード (音声、電子メール、SMS) を伝えます。クライアントはキーのパスワード保護を無効にできます。

openssl rsa -in "C:\Program Files\OpenVPN\easy-rsa\pki\private\testuser1.key"-out "C:\Program Files\OpenVPN\easy-rsa\pki\private\testuser1_use.key"

Windows に OpenVPN サーバーをインストールして構成する方法 | Windows OSハブ (8)

パスワードで保護されていないキーを生成したい場合は、次のコマンドを実行する必要があります。

./easyrsa gen-req testuser2 nopass

VPN サーバー上でユーザー用に任意の数のキーと証明書を作成できます。他のクライアントのキーと証明書も同様に生成します。

侵害されたクライアント証明書を取り消すことができます。
cd C:\Program Files\OpenVPN\easy-rsa
EasyRSA-Start.bat
./easyrsa は testuser2 を取り消します

したがって、OpenVPN サーバー用のキーと証明書のセットを生成しました。これで、VPN サービスを構成して実行できるようになりました。

Windows 用 OpenVPN サーバー構成ファイル

OpenVPN サーバーの構成ファイル テンプレートをコピーします。

コピー "C:\Program Files\OpenVPN\sample-config\server.ovpn" "C:\Program Files\OpenVPN\config-auto\server.ovpn"

任意のテキストエディタでserver.ovpnを開き、設定を行います。次の OpenVPN 構成を使用しています。

# ポート、プロトコル、デバイスの種類を指定しますport 1194proto udpdev tun# サーバー証明書へのパスを指定しますca "C:\\Program Files\\OpenVPN\\easy-rsa\\pki\\ca.crt"cert "C:\\ Program Files\\OpenVPN\\easy-rsa\\pki\\issued\\server.crt"key "C:\\Program Files\\OpenVPN\\easy-rsa\\pki\\private\\server.key" dh "C:\\Program Files\\OpenVPN\\easy-rsa\\pki\\dh.pem"# VPN クライアントがサーバー 10.24.1.0 255.255.255.0# から IP アドレスを取得する IP ネットワークの設定を指定します。クライアントが同じキーを使用して接続できるようにするには、duplicate-cn オプションを有効にします (推奨されません)# Duplicate-cn# TLS protectiontls-auth "C:\\Program Files\\OpenVPN\\easy-rsa\\pki \\ta.key" 0cipher AES-256-GCM# その他のオプションkeepalive 20 60persist-keypersist-tunstatus "C:\\Program Files\\OpenVPN\\log\\status.log"log "C:\\Program Files\\ OpenVPN\\log\\openvpn.log"verb 3mute 20windows-driver wintun

ファイルを保存します。

OpenVPN を使用すると、TCP プロトコルと UDP プロトコルの両方を使用できます。この例では、UDP ポート 1194 で OpenVPN を実行しています。UDPパフォーマンスとセキュリティの両方の点で最適であるためです。

クライアントとサーバーで指定した OpenVPN ポート番号のポートをファイアウォールで開くことを忘れないでください。あなたはできるPowerShell を使用して Windows Defender でポートを開く
OpenVPN サーバーのファイアウォール ルール:

New-NetFirewallRule -DisplayName "AllowOpenVPN-In" -方向 受信 -プロトコル UDP -LocalPort 1194 -アクション 許可

クライアントのルール:

New-NetFirewallRule -DisplayName "AllowOpenVPN-Out" -方向 アウトバウンド -プロトコル UDP -LocalPort 1194 -アクション 許可

次に、OpenVPN サービスを実行し、スタートアップの種類を自動に変更します。 PowerShell を使用してサービスを有効にします。

Set-Service OpenVPNService –startuptypeautomatic –passthru
Get-Service OpenVPNService|サービス開始

Windows に OpenVPN サーバーをインストールして構成する方法 | Windows OSハブ (9)

ネットワーク接続ダイアログを開きます(ncpa.cpl)、OpenVPN Wintun 仮想アダプターが有効になっていることを確認します。そうでない場合は、ログ ファイルを確認してくださいC:\Program Files\OpenVPN\log\server.log

Windows に OpenVPN サーバーをインストールして構成する方法 | Windows OSハブ (10)

OpenVPN の起動時にログに次のエラーが表示される場合:

オプション エラー: C:\Program Files\OpenVPN\config-auto\server.ovpn:1: オプション行の最大長 (256) を超えています。行は次で始まります…

改行文字を次のように変更しますWindows CRLF(Notepad++ で、[編集] -> [EOL 変換] -> [Windows CR LF] を選択します)。ファイルを保存し、OpenVPNService を再起動します。

この OpenVPN 構成では、リモート クライアントがサーバー リソースにのみアクセスできるようになります。サーバーのローカル ネットワーク内の他のコンピューターとサービスは、リモート クライアントからは利用できません。 OpenVPN クライアントが内部 LAN にアクセスできるようにするには、IPEnableRouterレジストリのオプション (Windows で IP ルーティングを有効にするHyper-V ネットワーク間のルーティング、そしてあなたが使用することができますポートフォワーディング):

reg add "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" /v IPEnableRouter /t REG_DWORD /d 1 /f

ローカル IP ネットワークへのルートをサーバー構成ファイルに追加します。

「ルート 10.24.1.0 255.255.255.0」をプッシュ「ルート 192.168.31.0 255.255.255.0」をプッシュ

必要に応じて、DNS サーバーのアドレスをクライアントに割り当てます。

プッシュ「dhcp-option DNS 192.168.31.10」push「dhcp-option DNS 192.168.31.11」

すべてのクライアント要求 (インターネット トラフィックを含む) を OpenVPN サーバーにリダイレクトする場合は、次のオプションを追加します。

「リダイレクトゲートウェイdef1」をプッシュ

これらのオプションは、前に検討したケースについて説明しています。VPN に接続した後にインターネット接続が失われるそしてVPN接続時にDNS解決ができない

Windows での OpenVPN クライアントの構成

次の設定を使用して、サーバー上に VPN クライアント用のテンプレート構成ファイル (client.ovpn テンプレートに基づく) を作成します (ファイル名はテストユーザー1.ovpn):

clientdev tunproto udpremote your_vpn_server_address 1194resolv-retryfinitynobindpersist-keypersist-tunca ca.crtcert testuser1.crtkey testuser1.keyremote-cert-tls servertls-auth ta.key 1cipher AES-256-GCMconnect-retry-max 25verb 3

OpenVPN サーバーのパブリック IP アドレスまたは DNS 名を指定します。リモート指令。

ダウンロードとインストールWindows 用 OpenVPN Connect(https://openvpn.net/downloads/openvpn-connect-v3-windows.msi)。

Windows に OpenVPN サーバーをインストールして構成する方法 | Windows OSハブ (11)

次に、次のファイルをサーバーから、OpenVPN クライアントがインストールされているコンピューターにコピーします。

  • ca.crt
  • テストユーザー1.crt
  • testuser1.key
  • dh.pem
  • タキー
  • テストユーザー1.ovpn

Windows に OpenVPN サーバーをインストールして構成する方法 | Windows OSハブ (12)

輸入*.ovpnプロファイル ファイルを作成し、VPN サーバーへの接続を試みます。

正しく設定されている場合は、次の画像が表示されます。

Windows に OpenVPN サーバーをインストールして構成する方法 | Windows OSハブ (13)

クライアント上の OpenVPN 接続ログを確認します。C:\Program Files\OpenVPN Connect\agent.log

Mon Jul 17 08:09:30 2022 proxy_auto_config_urlMon Jul 17 08:09:31 2022 TUN SETUPTAP ADAPTERS:guid='{25EE4A55-BE90-45A0-88A1-8FA8FEF24C42}'index=22 name='ローカル エリア接続'TAP デバイスを開く"ローカル エリア接続" PATH="\\.\Global\{25EE4A55-BE90-45A0-88A1-8FA8FEF24C42}.tap" SUCCEEDEDTAP-Windows ドライバー バージョン 9.24ActionDeleteAllRoutesOnInterface iface_index=22netsh インターフェイス ip セット インターフェイス 22 metric=1Ok.netsh インターフェイス ipアドレスを設定 22 静的 10.24.1.10 255.255.255.252 ゲートウェイ = 10.24.1.5 ストア = activeIPHelper: ルートを追加 10.24.1.1/32 22 10.24.1.5 メトリック = -1

クライアントは VPN サーバーに正常に接続し、IP アドレス 10.24.1.10 を受け取りました。

次に、サーバー側の OpenVpn ログを確認します (C:\Program Files\OpenVPN\log\openvpn.log)。ここでは、クライアントがテストユーザー1証明書がサーバーに正常に接続されました。

2022-07-17 08:09:35 192.168.13.20:55648 [tesuser1] [AF_INET6]::ffff:192.168.13.20:556482022-07-17 08:09:35 tesuser1/192.168.13.20:556 でピア接続が開始されました。 48 MULTI_sva: プールが返されました IPv4=10.24.1.10、IPv6=(無効)2022-07-17 08:09:35 tesuser1/192.168.13.20:55648 MULTI: 学習: 10.24.1.10 -> testuser1/192.168.13.20:556482022- 07-17 08:09:35 tesuser1/192.168.13.20:55648 MULTI: tesuser1/192.168.13.20:55648 のプライマリ仮想 IP: 10.24.1.10
Windows に OpenVPN サーバーをインストールして構成する方法 | Windows OSハブ (2024)
Top Articles
Latest Posts
Article information

Author: Tish Haag

Last Updated:

Views: 6649

Rating: 4.7 / 5 (47 voted)

Reviews: 86% of readers found this page helpful

Author information

Name: Tish Haag

Birthday: 1999-11-18

Address: 30256 Tara Expressway, Kutchburgh, VT 92892-0078

Phone: +4215847628708

Job: Internal Consulting Engineer

Hobby: Roller skating, Roller skating, Kayaking, Flying, Graffiti, Ghost hunting, scrapbook

Introduction: My name is Tish Haag, I am a excited, delightful, curious, beautiful, agreeable, enchanting, fancy person who loves writing and wants to share my knowledge and understanding with you.