web-dev-qa-db-ja.com

ローカルドメインのBind9エントリを更新するようにOpenVPNを構成する方法

ホスト名と割り当てられた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)
1
Radu Marinescu

OpenVPNBind9の構成についていくつかの前提を置きます。これにより、構成が簡単になります。

  1. 両方のサーバーが同じホストで実行されている、
  2. Bind9のゾーンは 動的更新 を許可します。これは、あなたのdhcpdサーバーもゾーンを更新している場合には確かに当てはまります。
  3. OpenVPNクライアントは[〜#〜] cn [〜#〜]が登録するDNS名と等しいTLS証明書を使用して認証します。証明書のDNは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の定義が何かを確認しています。

1