DHCP服务器是为客户端机器分配IP地址的,所有分配的IP地址都保存在DHCP服务器的数据库中。为了在子网中实现DHCP分配IP地址,需要在目标主机上安装配置DHCP服务
1. 安装DHCP服务
安装isc-dhcp-server:
$ sudo apt install isc-dhcp-server
- 1
DHCP的主要配置文件有两个,分别位于 /etc/default/isc-dhcp-server 和 /etc/dhcp/dhcpd.conf。下面要做的就是对这两个文件进行配置。
2.配置DHCP服务
首先需要知道目标主机的网卡名称:
$ ifconfig
- 1
得到以下信息:
可以看到,目标主机的两张网卡名称分别为enp5s0f0和enp5s0f1,其中enp5s0f0可用。接下来配置 /etc/default/isc-dhcp-server 文件,
$ sudo vim /etc/default/isc-dhcp-server
- 1
将INTERFACES的内容补充为目标主机的网卡名称enp5s0f0。
配置 /etc/dhcp/dhcpd.conf 文件:
$ sudo vim /etc/dhcp/dhcpd.conf
- 1
文件内容中需要配置的是域名和子网IP等信息,对于第一文件片段中的
option domain-name “example.org” 不用修改,下一行的domain-name-server需要注释掉在第二文件片段中补充。对于第二文件片段中的白色部分,全是新添加的信息。目标主机的子网IP为192.168.19.20,因此subnet为192.168.19.0,DHCP分配范围设置为150-253,其余地址留给广播和静态IP。网关和DNS均设置为192.168.19.1,广播地址为192.168.19.255,ntp-servers和netbios-name-servers设置与DNS一致,netbios-node-type默认为8
配置完成之后重启DHCP服务:
$ sudo service isc-dhcp-server restart
- 1
查看dhcp是否正常运行:
$ sudo netstat -uap
- 1
当显示dhcpd的program name时表示dhcp服务安装配置启动成功
3.配置过程中的调试
第一次配置过程中很有可能出现配置失败无法启动dhcp的情况,笔者第一次配置时也是遇到了很多问题,后来发现查看日志是最可靠的方法。
查看系统日志:
$ vim /var/log/syslog
- 1
上面记录了失败的具体原因,定位到行,能比较有效地减少 花在配置错误上面的分析时间。
另外,官方的guidebook和Q&A也是比较有效工具。
参考链接:
isc-dhcp-server
Ubuntu 16.04 安装配置DHCP服务
How do I install and configure a DHCP server?