GNU/Linux >> Linux の 問題 >  >> Panels >> OpenVPN

OpenVPNクライアントに静的IPアドレスを割り当てる

このガイドでは、OpenVPNクライアントに静的IPアドレスを割り当てる方法を学習します。ほとんどの場合、たとえば、環境にコントロールがあり、そのようなコントロールを管理しやすくするためにホストに静的IPアドレスが必要な場合は、特定のクライアントに静的IPアドレスを割り当てる必要があります。 OpenVPNは静的IPアドレスの割り当てをサポートしています。

OpenVPNクライアントに静的IPアドレスを割り当てる

OpenVPNには、定義されたIPプールからクライアントに特定のIPアドレスを割り当てる機能があります。これを実現するために、3種類のクライアントIPアドレス選択アルゴリズムを使用します。これらには、使用される順序で含まれます。

  1. --client-connect script 。これには、クライアントが接続したときにサーバー上に静的IPアドレスを含むファイルを生成する指定されたスクリプトの実行が含まれます。この方法は通常、最初の選択肢です 考慮されます。
  2. --client-config-dir 。これには、クライアント証明書の共通名(CN)に従ってクライアントの静的IPアドレスを含むファイルの使用が含まれます(2番目の選択肢 )。
  3. --ifconfig-pool 動的IPの割り当て用(最後の選択

詳細については、 man openvpnを参照してください。

このガイドでは、2番目のオプションを使用します。このオプションでは、クライアントの共通名とマップされたIPアドレスを含む特定のファイルを読み取るようにOpenVPNサーバーを構成します。これにより、接続しているクライアントには、クライアント証明書で定義されている共通名に基づいて静的IPアドレスが割り当てられます。

以前のガイドでは、CentOS8システムでのOpenVPNサーバーのインストールと構成について説明しました。

静的IPアドレスを保存するファイルを作成する

client-config-dirの使用 オプションでは、接続しているクライアントに割り当てられる静的IPアドレスが、OpenVPNサーバーで読み取ることができるファイルに保存されている必要があります。

したがって、OpenVPNサーバー構成ファイル/etc/openvpn/server/server.conf 、静的IP割り当てファイルへのパスをclient-config-dir パラメータ。

vim /etc/openvpn/server/server.conf
...
# EXAMPLE: Suppose you want to give
# Thelonious a fixed VPN IP address of 10.9.0.1.
# First uncomment out these lines:
client-config-dir /etc/openvpn/ccd
...

このデモでは、静的/固定IPアドレス割り当てファイルを保存するパスを /etc/openvpn/ccdに設定します。 。さて、私はデフォルトの/ etc / openvpn / server / ccdパスを使用しようとしましたが、以下のエラーが発生しました;

Could not access file 'ccd/koromicha': Permission denied (errno=13)
Could not access file 'ccd/DEFAULT': Permission denied (errno=13)

そのため、回避策として、上記のように別のパスを使用することを選択しました。

OpenVPNクライアントへの静的IPアドレスの割り当て

静的IPアドレスを割り当てるすべてのOpenVPNクライアントについて、その特定のクライアント証明書から共通名を抽出する必要があります。

このデモでは、2つのOpenVPNクライアント koromichaを作成しています。 およびjohndoe 。クライアント証明書から共通名を抽出するには、 opensslを使用します 以下に示すようなコマンド。 必ずクライアント証明書を交換してください

openssl x509 -subject -noout -in /etc/openvpn/client/koromicha/koromicha.crt
subject=CN = koromicha
openssl x509 -subject -noout -in /etc/openvpn/client/johndoe/johndoe.crt
subject=CN = johndoe

クライアントの共通名を取得したら、ifconfig-push オプション。たとえば、koromicha 一般名としてIPアドレス、10.8.0.50 およびクライアントがjohndoe CNとして10.8.0.60 、これが割り当ての実行方法です。

echo "ifconfig-push 10.8.0.50 255.255.255.0" > /etc/openvpn/ccd/koromicha
echo "ifconfig-push 10.8.0.60 255.255.255.0" > /etc/openvpn/ccd/johndoe

静的IPアドレスの割り当て方法は、OpenVPNサーバーを構成したトポロジによって異なることに注意してください。この場合、トポロジをサブネットに設定します;

# Network topology
...
topology subnet

OpenVPNアドレッシングの概念の詳細をご覧ください。

OpenVPNサーバーを再起動します;

systemctl restart [email protected]

必ずログを確認してください;

tail -f /var/log/openvpn/openvpn.log

OpenVPNクライアントでの静的IPアドレスの割り当てを確認する

クライアントにそれぞれのクライアントOpenVPN構成ファイルがすでにあると仮定して、接続を開始し、IPアドレスの割り当てを確認します。

sudo openvpn johndoe.ovpn

割り当てられたIPアドレスを確認します;

ip add show tun0
8: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 100
    link/none 
    inet 10.8.0.60/24 brd 10.8.0.255 scope global tun0
       valid_lft forever preferred_lft forever
    inet6 fe80::ea62:fbae:5b45:2d78/64 scope link stable-privacy 
       valid_lft forever preferred_lft forever

他のクライアントの場合;

ip add show tun0
12: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 100
    link/none 
    inet 10.8.0.50/24 brd 10.8.0.255 scope global tun0
       valid_lft forever preferred_lft forever
    inet6 fe80::c928:c76d:fbd4:6c6a/64 scope link stable-privacy 
       valid_lft forever preferred_lft forever

2つのクライアント間の接続を確認します;

ping 10.8.0.60 -c 3
PING 10.8.0.60 (10.8.0.60) 56(84) bytes of data.
64 bytes from 10.8.0.60: icmp_seq=1 ttl=64 time=4.67 ms
64 bytes from 10.8.0.60: icmp_seq=2 ttl=64 time=3.86 ms
64 bytes from 10.8.0.60: icmp_seq=3 ttl=64 time=4.05 ms

--- 10.8.0.60 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 3.864/4.196/4.670/0.351 ms

それだ。 OpenVPNクライアントに静的IPアドレスを割り当てる方法に関するガイドは終了しました。

関連チュートリアル

CentOS 8 /Ubuntu18.04のネットワークマネージャーを使用してOpenVPNに接続します

CentOS 8 /Ubuntu18.04にOpenVPNクライアントをインストールして構成する

Ubuntu 18.04 /CentOS8でstrongSwanVPNクライアントを構成する

OpenVPN
  1. WindowsおよびLinux用のOPENVPNクライアント

  2. Dockerコンテナに静的IPを割り当てる方法

  3. Windowsシステムでのログオン時に資格情報の入力を求めるようにOpenVPNを構成する

  1. Linux用のトップ5Googleドライブクライアント

  2. OS に応じて同じマシンに異なる静的 IP アドレスを割り当てる方法は?

  3. ブリッジ インターフェイスに MAC アドレスと IP アドレスを割り当てる理由

  1. OpenVPNConnect用のVPNキルスイッチが利用可能になりました

  2. 特定のDNSサーバーを使用するようにOpenVPNクライアントを構成する

  3. 2021年のLinux用の7つの最高のBitTorrentクライアント