ホスト名と割り当てられたIPアドレスでBind9ゾーンを更新するようにdhcp3サーバーを構成する方法を説明した記事を見つけました。
同じ効果を実現したいのですが、各VPNクライアントがIPアドレスを受け取り、そのホスト名/クライアント名がローカルドメインゾーンに追加されるVPNサブネット内にあります。
ただし、OpenVPNには独自のdhcpサーバーがあるようで、バインドするためにリンクすることについて何も見つかりません。
1つの解決策は、VPNをタップデバイスとして構成し、dhcp3サーバーを使用する仮想ネットワークインターフェイスにそれをブリッジすることです。しかし、これはやり過ぎのようです。
よりシンプルでクリーンなソリューションはありますか?
更新:
それでもうまくいきません。どういうわけか、dhcpサーバーは、tap0 MACアドレスからのDHCPDISCOVER要求を認識しているため、応答を送信しても、VPNクライアントはそれを取得しません。
Feb 7 00:41:22 vpn-server1 dhcpd[7601]: DHCPDISCOVER from fe:b4:3f:fe:9d:0e via tap0
Feb 7 00:41:23 vpn-server1 dhcpd[7601]: DHCPOFFER on 172.16.0.2 to fe:b4:3f:fe:9d:0e (vpn-server1) via tap0
ifconfig
tap0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.16.0.1 netmask 255.255.255.0 broadcast 0.0.0.0
inet6 fe80::5c70:cea0:5619:ac47 prefixlen 64 scopeid 0x20<link>
ether fe:b4:3f:fe:9d:0e txqueuelen 100 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 95 bytes 14590 (14.2 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
OpenVPNサーバーログ:
Fri Feb 7 00:41:21 2020 MULTI: no dynamic or static remote --ifconfig address is available for Client-1/192.168.1.105:39069
Fri Feb 7 00:41:23 2020 Client-1/192.168.1.105:39069 Push: Received control message: 'Push_REQUEST'
Fri Feb 7 00:41:23 2020 Client-1/192.168.1.105:39069 SENT CONTROL [Client-1]: 'Push_REPLY,peer-id 1' (status=1)
OpenVPNとBind9の構成についていくつかの前提を置きます。これにより、構成が簡単になります。
DC=com, DC=example, CN=client1.example.com
です。新しく接続したクライアントのアドレスを登録するには、簡単なスクリプトが必要です(/etc/openvpn/update-dns
と呼びましょう)。
#!/bin/bash
/usr/bin/nsupdate -l <<EOF
del $common_name
add $common_name. 300 IN A $ifconfig_pool_remote_ip
send
EOF
OpenVPN構成に追加します。
script-security 2
learn-address /etc/openvpn/update-dns
[〜#〜] ps [〜#〜]:tapインターフェースと実際のdhcpdを使用してクライアントアドレスを提供する最初の試みも、仕事、例えばサーバー構成:
server-bridge
dev tap0
ifconfig 172.16.0.2
# authentication options
およびクライアント構成:
client
dev tap0
# authentication options
およびBind9tap0
をリッスンすると、OpenVPNクライアントで呼び出されるdhclient -d tap0
がアドレスを取得します。観察するDHCP
パケットの[〜#〜] mac [〜#〜]の変化は、DHCPプロキシとして機能するOpenVPNが原因です。
– server-bridgeをパラメーターなしで使用した場合(my note:またはnogwパラメーター)を使用すると、 DHCPプロキシモード。接続しているOpenVPNクライアントは、OpenVPNサーバー側LANで実行されているDHCPサーバーからTAPアダプターのIPアドレスを受け取ります。
ソース: OpenVPNリファレンスマニュアル 。
しかし、私はOpenVPNのサーバー側LANの定義が何かを確認しています。