在Ubuntu上配置DHCP和DNS服务器,通常需要使用isc-dhcp-server
和bind9
(Berkeley Internet Name Domain)这两个软件包。以下是配置步骤:
首先,更新你的包列表并安装所需的软件包:
sudo apt update
sudo apt install isc-dhcp-server bind9
编辑/etc/dhcp/dhcpd.conf
文件,添加或修改以下内容:
sudo nano /etc/dhcp/dhcpd.conf
在文件中添加以下内容:
option domain-name "example.com";
option domain-name-servers ns1.example.com, ns2.example.com;
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;
option broadcast-address 192.168.1.255;
default-lease-time 600;
max-lease-time 7200;
}
option domain-name
:设置域名。option domain-name-servers
:设置DNS服务器地址。subnet
:定义子网信息。range
:定义IP地址范围。option routers
:设置默认网关。option broadcast-address
:设置广播地址。编辑/etc/default/isc-dhcp-server
文件,指定DHCP服务器监听的网络接口:
sudo nano /etc/default/isc-dhcp-server
找到INTERFACESv4
行并修改为:
INTERFACESv4="eth0"
将eth0
替换为你希望DHCP服务器监听的网络接口名称。
编辑/etc/bind/named.conf.local
文件,添加区域配置:
sudo nano /etc/bind/named.conf.local
在文件末尾添加以下内容:
zone "example.com" {
type master;
file "/etc/bind/zones/db.example.com";
};
创建区域文件/etc/bind/zones/db.example.com
:
sudo nano /etc/bind/zones/db.example.com
在文件中添加以下内容:
$TTL 604800
@ IN SOA ns1.example.com. admin.example.com. (
3 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS ns1.example.com.
@ IN A 192.168.1.1
ns1 IN A 192.168.1.2
$TTL
:设置TTL(Time to Live)值。SOA
:设置起始授权机构记录。NS
:设置名称服务器记录。A
:设置A记录(IP地址)。重启bind9
服务以应用配置更改:
sudo systemctl restart bind9
启动并启用DHCP和DNS服务:
sudo systemctl start isc-dhcp-server
sudo systemctl enable isc-dhcp-server
sudo systemctl start bind9
sudo systemctl enable bind9
使用dig
或nslookup
命令验证DNS解析是否正常:
dig @localhost example.com
或者:
nslookup example.com
如果一切配置正确,你应该能够看到解析结果。
通过以上步骤,你就可以在Ubuntu上成功配置DHCP和DNS服务器了。