ubuntu dhcp服务器如何设置域名解析
导读:Ubuntu DHCP服务器域名解析设置 一 基本思路 在 DHCP 服务器上通过 isc-dhcp-server 下发 DNS 服务器地址 与 搜索域(search domain),客户端即可自动获得域名解析能力。 若需要本地解析内网主...
Ubuntu DHCP服务器域名解析设置
一 基本思路
- 在 DHCP 服务器上通过 isc-dhcp-server 下发 DNS 服务器地址 与 搜索域(search domain),客户端即可自动获得域名解析能力。
- 若需要本地解析内网主机名,可同时部署 BIND9 作为 DNS 服务器,DHCP 将域名与 DNS 一并下发给客户端。
- 如需自动把主机名写入 DNS,可启用 DHCP 动态更新 DNS(DDNS),用密钥保障安全。
二 快速配置步骤
- 安装组件
- 仅下发 DNS:sudo apt update & & sudo apt install isc-dhcp-server
- 本地解析内网域名:sudo apt install isc-dhcp-server bind9
- 配置 DHCP 下发域名与 DNS
- 编辑 /etc/dhcp/dhcpd.conf,在全局或子网段中设置:
- option domain-name “example.com”;
- option domain-name-servers 8.8.8.8, 8.8.4.4; (或指向本机 127.0.0.1 使用 BIND9)
- subnet 段中配置地址池、网关等,例如:
- subnet 192.168.1.0 netmask 255.255.255.0 {
- range 192.168.1.10 192.168.1.100;
- option routers 192.168.1.1;
- default-lease-time 600; max-lease-time 7200;
- }
- 编辑 /etc/dhcp/dhcpd.conf,在全局或子网段中设置:
- 指定监听接口
- 编辑 /etc/default/isc-dhcp-server,设置:INTERFACESv4=“eth0”(替换为你的内网接口)
- 启动服务
- sudo systemctl start isc-dhcp-server & & sudo systemctl enable isc-dhcp-server
- 客户端验证
- 释放/续租:sudo dhclient -r < 接口> & & sudo dhclient < 接口>
- 查看租约与 DNS:cat /var/lib/dhcp/dhclient.leases;或 ip a、resolvectl status
- 解析测试:nslookup www.example.com 或 dig @< DNS_IP> example.com
- 服务日志:tail -f /var/log/syslog | grep dhcpd
三 使用 BIND9 提供本地解析
- 安装:sudo apt install bind9 bind9utils bind9-doc
- 配置转发(/etc/bind/named.conf.options)
- options {
- directory “/var/cache/bind”;
- forwarders { 8.8.8.8; 8.8.4.4; } ;
- dnssec-validation auto;
- listen-on { any; } ;
- } ;
- options {
- 可选:添加内网区域(/etc/bind/named.conf.local)
- zone “example.com” { type master; file “/etc/bind/zones/db.example.com”; } ;
- 区域文件示例(/etc/bind/zones/db.example.com):
- $TTL 604800
- @ IN SOA ns1.example.com. admin.example.com. ( 3 604800 86400 2419200 604800 )
- @ IN NS ns1.example.com.
- ns1 IN A 192.168.1.2
- www IN A 192.168.1.10
- 检查与重启
- sudo named-checkconf & & sudo named-checkzone example.com /etc/bind/zones/db.example.com
- sudo systemctl restart bind9
- DHCP 指向本机 DNS
- 在 /etc/dhcp/dhcpd.conf 中设置:option domain-name-servers 127.0.0.1;
四 启用 DHCP 动态更新 DNS(DDNS)
- 在 DHCP 配置(/etc/dhcp/dhcpd.conf)中启用:
- ddns-update-style interim;
- update-static-leases on;
- 生成并配置密钥
- 生成密钥:sudo rndc-confgen -a -c /etc/bind/rndc.key(或手动创建)
- 在 /etc/bind/named.conf 或 named.conf.options 中包含密钥并允许更新:
- key “dhcp_dns_update” { algorithm hmac-sha256; secret “your-secret-key”; } ;
- zone “example.com” { type master; file “…”; allow-update { key dhcp_dns_update; } ; } ;
- 重启服务
- sudo systemctl restart isc-dhcp-server & & sudo systemctl restart bind9
- 验证
- 观察客户端获取地址后,nslookup/host 查询对应主机名是否已自动写入 DNS。
五 常见问题与排查
- 服务未启动或接口不对:检查 /etc/default/isc-dhcp-server 的 INTERFACESv4,查看 /var/log/syslog 中 dhcpd 启动与绑定接口错误。
- 客户端未拿到 DNS:确认子网段内包含 option domain-name-servers 与 option domain-name,并重启客户端网络或续租。
- 内网域名无法解析:确认 BIND9 区域配置、文件权限与 named-checkzone 通过;必要时检查防火墙/转发规则。
- 需要跨网段分配地址:在网关或三层设备上配置 DHCP 中继,指向 DHCP 服务器地址。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: ubuntu dhcp服务器如何设置域名解析
本文地址: https://pptw.com/jishu/787070.html
