RHEL 9にOpenVPNサーバーをインストールして構成する方法
バーチャルプライベートネットワークは、ネットワーク間接続のプライバシーとセキュリティを提供するために使用される技術的解決策です。最もよく知られているケースは、人々がパブリックまたは安全でないネットワーク(インターネットなど)を介してリモートサーバーに接続することです。
次のシナリオを想像してください:
この記事では、OpenSSLライブラリの暗号化、認証、および認証機能を使用する堅牢で非常に柔軟なトンネリングアプリケーションであるOpenVPNを使用して、RHEL 9サーバーにVPNサーバーを設定する方法を説明します。
簡単のため、OpenVPNサーバーがクライアントのための安全なインターネットゲートウェイとして機能するケースのみを考慮します。
このセットアップでは、3台のマシンを使用し、最初の1台がOpenVPNサーバーとして機能し、残りの2台(LinuxとWindows)がリモートOpenVPNサーバーに接続するクライアントとして機能します。
style="color: red;">注意: 同じ指示は、AlmaLinux、Rocky Linux、およびFedoraなどのRHELベースのディストリビューションでも機能します。
RHEL 9にOpenVPNサーバーをインストールする方法
1. RHELサーバーにOpenVPNをインストールするには、まずEPELリポジトリを有効にし、その後、OpenVPNパッケージをインストールするために必要なすべての依存関係が含まれているパッケージをインストールする必要があります。
sudo dnf update
sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
2. 次に、OpenVPNのインストールスクリプトをダウンロードし、VPNを設定します。スクリプトをダウンロードして実行する前に、OpenVPNサーバーを設定する際に役立つため、サーバーのパブリックIPアドレスを見つけることが重要です。
それを行う簡単な方法は、次のようにcurlコマンドを使用することです。
curl ifconfig.me
あるいは、次のようにdigコマンドを呼び出すこともできます。
dig +short myip.opendns.com @resolver1.opendns.com
エラー「dig: command not found」が表示された場合は、次のコマンドを実行してdigユーティリティをインストールしてください:
sudo dnf install bind-utils
これで問題が解決するはずです。
パブリックIPアドレスについての注意
クラウドサーバーには通常、2種類のIPアドレスがあります:
- 単一のパブリックIPアドレス: LinodeやDigital Oceanなどのクラウドプラットフォーム上でVPSを持っている場合、通常はそれに付随する単一のパブリックIPアドレスが見つかります。
- NATの背後にあるプライベートIPアドレスとパブリックIP: これは、AWSのEC2インスタンスやGoogle Cloudのコンピュートインスタンスの場合です。
どのIPアドレッシングスキームであっても、OpenVPNスクリプトは自動的にあなたのVPSネットワーク設定を検出し、関連するパブリックまたはプライベートIPアドレスを提供するだけで済みます。
3. では、OpenVPNのインストールスクリプトをダウンロードし、表示されたコマンドを実行しましょう。
wget https://raw.githubusercontent.com/Angristan/openvpn-install/master/openvpn-install.sh
ダウンロードが完了したら、実行権限を割り当て、以下のようにシェルスクリプトを実行します。
sudo chmod +x openvpn-install.sh
sudo ./openvpn-install.sh
インストーラーは、一連のプロンプトを通じて案内します。
5. まず、サーバーのパブリックIPアドレスを提供するように求められます。その後、デフォルトのオプション、例えばデフォルトのポート番号(1194)や使用するプロトコル(UDP)を選択することをお勧めします。
6. 次に、デフォルトのDNSリゾルバーを選択し、圧縮と暗号化設定の両方に対して「いいえ」オプション( n )
を選択します。
7. 完了すると、スクリプトはOpenVPNサーバーのセットアップを初期化し、他のソフトウェアパッケージと依存関係のインストールを行います。
8. 最後に、セキュリティ証明書を管理するために使用されるコマンドラインツールであるeasy-RSAパッケージを使用して、クライアント構成ファイルが生成されます。
クライアントの名前を入力し、デフォルトの選択肢で進んでください。クライアントファイルは、ホームディレクトリに.ovpnファイル拡張子で保存されます。
9. スクリプトがOpenVPNサーバーの設定を完了し、クライアント構成ファイルを作成すると、トンネルインターフェースtun0
が生成されます。これは、クライアントPCからのすべてのトラフィックがサーバーにトンネルされる仮想インターフェースです。
10. これで、表示されたようにOpenVPNサーバーの状態を開始して確認できます。
sudo systemctl start [email
sudo systemctl status [email
LinuxでOpenVPNクライアントを設定する方法
11. では、クライアントシステムに移動し、EPEL リポジトリとOpenVPN ソフトウェアパッケージをインストールします。
dnf install epel-release -y
dnf install openvpn -y
12. インストールが完了したら、OpenVPNサーバーからクライアントシステムにクライアント設定ファイルをコピーする必要があります。これは、示されているようにscpコマンドを使用して行うことができます。
scp -r [email :/home/ravi/tecmint01.ovpn .
13. クライアントファイルがLinuxシステムにダウンロードされたら、次に以下のコマンドを使用してVPNサーバーへの接続を初期化できます。
sudo openvpn --config tecmint01.ovpn
以下のような出力が得られます。
14. 新しいルーティングテーブルが作成され、VPNサーバーとの接続が確立されます。再び、クライアントシステム上に仮想インターフェーストンネルインターフェースtun0
が作成されます。
前述のように、これはすべてのトラフィックをOpenVPNサーバーにSSLトンネルを介して安全にトンネルするインターフェースです。
インターフェースはVPNサーバーによって動的にIPアドレスが割り当てられます。ご覧の通り、私たちのクライアントLinuxシステムにはOpenVPNサーバーによって10.8.0.2のIPアドレスが割り当てられています。
ifconfig
15. OpenVPNサーバーに接続されていることを確認するために、パブリックIPを確認します。
curl ifconfig.me
さあ!私たちのクライアントシステムはVPNのパブリックIPを取得し、実際にOpenVPNサーバーに接続されていることを確認しました。
または、ブラウザを起動して「私のIPアドレスは何ですか」とGoogle検索することで、あなたのパブリックIPがOpenVPNサーバーのものに変更されたことを確認できます。
WindowsでOpenVPNクライアントを設定する方法
16. Windowsでは、GUIが付属した公式のOpenVPN Community Editionバイナリをダウンロードする必要があります。
次に、.ovpn
構成ファイルをC:\Program Files\OpenVPN\config
ディレクトリにダウンロードし、管理者としてスタート → すべてのプログラム → OpenVPNからOpenVPN GUIを起動すると、バックグラウンドで起動します。
18. 今、ブラウザを起動して http:&47;&47;whatismyip.org&47; を開くと、あなたのOpenVPNサーバーのIPが、あなたのISPによって提供されたパブリックIPの代わりに表示されるはずです。
要約
この記事では、OpenVPNを使用してVPNサーバーを設定および構成する方法と、LinuxボックスとWindowsマシンの2つのリモートクライアントを設定する方法について説明しました。
このサーバーをVPNゲートウェイとして使用して、ウェブブラウジング活動を安全にすることができます。少しの追加の努力(および別のリモートサーバーが利用可能であれば)で、安全なファイルやデータベースサーバーを設定することもできます。
推奨VPNサービス
既製のソリューションを好む場合や、自分のサーバーを管理したくない場合は、以下のようなプロフェッショナルなVPNサービスの利用を検討してください。
- ExpressVPN:高速サーバーと強力な暗号化で知られています。
- NordVPN:堅牢なセキュリティ機能とノーログポリシーを提供します。
- ProtonVPN:プライバシーに重点を置き、無料プランがあります。
ご連絡をお待ちしておりますので、下のフォームを使ってお気軽にメッセージをお寄せください。この文章に関するコメント、提案、質問は大歓迎です。