Я нашел статью, описывающую, как настроить сервер dhcp3 для обновления зоны Bind9 с именами хостов и назначенными IP-адресами.
Я хочу добиться того же эффекта, но внутри подсети VPN, где каждый VPN-клиент получит IP-адрес, а его имя хоста / имя клиента будет добавлено в зону локального домена.
Однако у OpenVPN, похоже, есть собственный DHCP-сервер, и я не могу найти ничего о его привязке для привязки.
Одним из решений было бы настроить VPN как устройство с ответвлением и связать его с виртуальным сетевым интерфейсом, на котором будет использоваться сервер dhcp3. Но это кажется излишеством.
Есть ли более простое и чистое решение?
ОБНОВИТЬ:
Даже это не работает. Каким-то образом dhcp-сервер видит запрос DHCPDISCOVER как поступающий с MAC-адреса tap0, поэтому, когда он отправляет ответ, 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 Server:
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: Ваша первая попытка использования нажмите интерфейс и настоящий dhcpd для предоставления адресов клиентов также должно работать, например с конфигурацией сервера:
server-bridge
dev tap0
ifconfig 172.16.0.2
# authentication options
и конфигурация клиента:
client
dev tap0
# authentication options
и Bind9 слушая tap0
, а dhclient -d tap0
вызываемый клиентом OpenVPN получит адрес. Изменение MAC в DHCP
наблюдаемые вами пакеты вызваны OpenVPN действующий как прокси DHCP:
Если –Сервер-мост используется без параметров (моя заметка: или с ногв параметр), он включит режим DHCP-прокси, в котором подключающиеся клиенты OpenVPN будут получать IP-адрес для своего адаптера TAP от DHCP-сервера, работающего в локальной сети на стороне сервера OpenVPN.
Источник: Справочное руководство OpenVPN.
Однако я уверен, что OpenVPNопределение серверной локальной сети.