VPN は Virtual Private Network の略です。
仮想プライベート ネットワークにより、コンピューターは、あるプライベート ネットワークから、パブリック ネットワーク (インターネット) 経由で接続された別のプライベート ネットワークにデータを送受信できます。
これは、会社のイントラネットの外にいて、オフィス ネットワークに安全に接続して内部サーバーにアクセスしたい場合に役立ちます。 VPN は、複数の支社を一緒に接続する場合にも役立ちます。
複数の支社を一緒に接続していない場合でも、VPN セットアップを使用して、従業員がラップトップからリモートで接続できるようにすることができます。データセンターとシステムへのアクセス
![](https://m.unixlinux.online/article/uploadfiles/202211/2022110310430429.png)
場合によっては、企業が専用回線を購入して WAN ( ワイド エリア ネットワーク ) を形成し、支社と通信することがあります。専用線は安全で信頼性がありますが、高価です。
VPN は、パブリック ネットワークを介してポイント ツー ポイントの仮想接続を提供することで、ギャップを埋めます。 VPN は、地理的に異なる場所にまたがるより多くのユーザーに簡単に対応できるように拡張できます。
VPN の種類
大まかに言えば、次の 2 種類の VPN があります。
- リモート アクセス
- サイト間
リモート アクセスとは、VPN 経由で個々のコンピューターをネットワークに接続することです。 「サイト間」は、VPN を介して 2 つのネットワークを接続します。
OpenVPN とは
OpenVPN の男性から:
<ブロック引用>OpenVPN は、James Yonan によるオープン ソースの VPN デーモンです。 OpenVPN は、堅牢で柔軟性の高い VPN デーモンです。 OpenVPN は、SSL/TLS セキュリティ、イーサネット ブリッジング、プロキシまたは NAT を介した TCP または UDP トンネル トランスポート、動的 IP アドレスと DHCP のサポート、数百または数千のユーザーへのスケーラビリティ、およびほとんどの主要な OS プラットフォームへの移植性をサポートします。
このチュートリアルでは、リモート アクセス用に OpenVPN サーバーとクライアントをセットアップおよび構成するプロセスについて説明します。
I. OpenVPN の構成 – サーバー側
1. OpenVPN をインストール
サーバーとクライアント マシンの両方に openvpn パッケージをインストールします。
$ sudo apt-get install openvpn
作業しているディストリビューションのそれぞれのパッケージ マネージャーを使用します。 yum を使用している場合は、次の手順を実行してください
$ yum install openvpn
2.ディレクトリの作成と環境変数の設定
/etc/openvpn 内にディレクトリを作成します easy-rsa をコピーします それに内容。これは、パッケージがアップグレードされたときにスクリプトに加えられた変更が失われないようにするために行われます。現在のユーザーがファイルを作成する権限を持つように、所有者を現在のユーザーとして変更します。
$ sudo mkdir /etc/openvpn/easy-rsa $ sudo cp /usr/share/doc/openvpn/examples/easy-rsa/2.0/* /etc/openvpn/easy-rsa $ sudo chown -R $USER /etc/openvpn/easy-rsa/
次に、/etc/openvpn/easy-rsa/vars を編集します。 あなたの環境に適応するために。
export KEY_COUNTRY="IN" export KEY_PROVINCE="TN" export KEY_CITY="CHN" export KEY_ORG="tgs" export KEY_EMAIL="[email protected]"
3. CA の作成 – 認証局 (ルート証明書)
openvpn サーバーを構築するための次のステップは、サーバーとクライアントが相互に認証できるように公開鍵インフラストラクチャを確立することです。
$ cd /etc/openvpn/easy-rsa/ $ source vars $ ./clean-all $ ln -s openssl-1.0.0.cnf openssl.cnf $ ./build-ca Generating a 1024 bit RSA private key ........++++++ ......++++++ unable to write 'random state' writing new private key to 'ca.key' ----- You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [IN]: State or Province Name (full name) [TN]: Locality Name (eg, city) [CHN]: Organization Name (eg, company) [tgs]: Organizational Unit Name (eg, section) [changeme]: Common Name (eg, your name or your server's hostname) [changeme]: Name [changeme]:lakshmanan Email Address [[email protected]]:[email protected]
一度 ./build-ca 完了すると、「ca.key」という名前のファイルが表示されます 」および「ca.crt 」内 /etc/openvpn/easy-rsa/keys/
「.key 」 ファイルは機密に保つ必要があります。
4.サーバーの証明書を作成
次のステップは、Openvpn サーバーの証明書を作成することです。
$ /etc/openvpn/easy-rsa/build-key-server vpnserver ... ... Sign the certificate? [y/n]:y 1 out of 1 certificate requests certified, commit? [y/n]y
vpnserver はサーバーのホスト名であることに注意してください。このコマンドは、前のコマンドと同様に、ユーザーからの入力を受け取ります。このコマンドは、サーバーの証明書と鍵ファイルを作成します。
5.クライアントの証明書を作成
VPN クライアントには、サーバーで認証するための証明書も必要です。複数のクライアントを構成する場合は、クライアントごとに個別に証明書を作成する必要があります。
$ ./build-key vpnclient1 ... ... Sign the certificate? [y/n]:y 1 out of 1 certificate requests certified, commit? [y/n]y
vpnclient1 はクライアントのホスト名です。このコマンドは、クライアントの証明書とキー ファイルを作成します。
6. Diffie Hellman パラメータの作成
$ ./build-dh
上記のすべての手順が正常に完了すると、/etc/openvpn/easy-rsa/keys 内に多くのキーと証明書ファイルが作成されます。 .
7.証明書をそれぞれの場所にコピーします
ルート証明書、サーバー証明書、クライアント証明書を作成しました。それらを適切な場所にコピーする必要があります。
$ cd /etc/openvpn/easy-rsa/keys/ $ sudo cp ca.crt vpnserver.crt vpnserver.key dh1024.pem /etc/openvpn/ $ scp ca.crt vpnclient1.key vpnclient1.crt root@vpnclient1:/etc/openvpn
これで、クライアント証明書とキーがクライアント マシンにコピーされました。鍵ファイルをコピーするときは、scp などの安全なメディアを使用することを忘れないでください。
8.サーバーの構成
OpenVPN はデフォルトの server.conf を提供します。必要に応じて変更できます。
$ sudo cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn/ $ sudo gzip -d /etc/openvpn/server.conf.gz
「/etc/openvpn/server.conf を編集します。 「.
... ca ca.crt cert vpnserver.crt key vpnserver.key dh dh1024.pem ...
OpenVPN サーバーを起動します:
$ sudo /etc/init.d/openvpn start * Starting virtual private network daemon(s)... * Autostarting VPN 'server' $ ifconfig tun0 tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 inet addr:10.8.0.1 P-t-P:10.8.0.2 Mask:255.255.255.255
デフォルトでは、openVPN は syslog ファイルにエラーを記録します。
II. OpenVPN の構成 – クライアント側
9.クライアント構成ファイルのセットアップ
次に、クライアントとして機能するように openVPN を構成します。すでにクライアントに openvpn パッケージがインストールされており、/etc/openvpn/ に「ca.crt」、「vpnclient1.key」、vpnclient1.crt があることを思い出してください。
サンプル client.conf を /etc/openvpn にコピーします .
$ sudo cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf /etc/openvpn/
/etc/openvpn/client.conf を編集します .
... # Specify that this is openvpn client client remote vpnserver 1194 ca ca.crt cert vpnclient1.crt key vpnclient1.key ...
クライアントで OpenVPN を開始します
$ /etc/init.d/openvpn start * Starting virtual private network daemon(s)... * Autostarting VPN 'client' $ ifconfig tun0 tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 inet addr:10.8.0.6 P-t-P:10.8.0.5 Mask:255.255.255.255
10. VPN 設定をテストする
クライアント マシンから vpnserver に ping を実行して、VPN が機能しているかどうかを確認します。
$ ping 10.8.0.1 PING 10.8.0.1 (10.8.0.1) 56(84) bytes of data. 64 bytes from 10.8.0.1: icmp_req=1 ttl=64 time=2.14 ms
ping を実行できる場合は、正しいセットアップが行われています。
次の点に注意してください:
<オール>