1、 安装DHCP服务
安装isc-dhcp-server:
sudo apt install isc-dhcp-server
2、配置DHCP服务
首先需要知道目标主机的网卡名称:
$ ifconfig
由下图可见,网卡名为ens33
接下来配置 /etc/default/isc-dhcp-server 文件,
$ sudo vi /etc/default/isc-dhcp-server
将INTERFACES的内容补充为目标主机的网卡名称enp33。
配置 /etc/dhcp/dhcpd.conf 文件:
$ sudo vi /etc/dhcp/dhcpd.conf
文件内容中需要配置的是域名和子网IP等信息,option domain-name “example.org” 不用修改,下一行的domain-name-server需要注释掉在第二文件片段中补充。
目标主机的子网IP为200.200.156.117/24,因此subnet为200.200.156.0,DHCP分配范围设置为119-120,
其余地址留给广播和静态IP。ntp-servers和netbios-name-servers设置与DNS一致,netbios-node-type默认为8
tip:特别注意:ens33网卡与dhcp配置文件配置分配的IP需要在同一网段中。
否则dhcp启动会出错。
配置完成之后重启DHCP服务:
$ sudo service isc-dhcp-server restart
查看dhcp是否正常运行:
$ sudo netstat -uap
当显示dhcpd的program name时表示dhcp服务安装配置启动成功
如果不成功,重启DHCP服务后,立即查看/var/log/syslog日志:tail -n 50 /var/log/syslog,查看最后50行日志即可。
3、验证服务
使用终端接入同二层,dhcp获取地址,看能否获取到分配的IP。
4、option43字段设置,(待测试)
配置 /etc/dhcp/dhcpd.conf 文件:
$ sudo vi /etc/dhcp/dhcpd.conf
option serverip code 43 = string;
subnet 192.168.100.0 netmask 255.255.255.0 {
range 192.168.100.2 192.168.100.254;
option routers 192.168.100.1;
option subnet-mask 255.255.255.0;
option serverip 03:0C:31:39:32:2E:31:36:38:2E:32:32:2E:31;
}
以WAC的IP地址为192.168.22.1为例,对应的Option 43字段应该填写为:03:0C: 31:39:32:2E:31:36:38:2E:32:32:2E:31。其中,03为固定值,代表子选项类型;十六 进制数0C(“0C”等于十进制数“12”)代表IP地址192.168.22.1的长度,包含小数 点“.”;十六进制数31对应“1”的ACCII值,32对应“2”的ASCII值,以此类 推,十六进制数2E对应小数点“.”的ASCII值,即值31:39:32:2E:31:36:38:2E: 32:32:2E:31表示AC的IP地址192.168.22.1。
ASCII表见http://www.asciima.com/
5、DHCP6
建一个文件/etc/dhcp/dhcpd6.conf,添加配置内容
default-lease-time 600;
max-lease-time 7200;
log-facility local7;
subnet6 2001:db8:0:1::/64 {
# Range for clients
range6 2001:db8:0:1::129 2001:db8:0:1::254;
# Range for clients requesting a temporary address
range6 2001:db8:0:1::/64 temporary;
# Additional options
option dhcp6.name-servers fec0:0:0:1::1;
option dhcp6.domain-search "domain.example";
# Prefix range for delegation to sub-routers
prefix6 2001:db8:0:100:: 2001:db8:0:f00:: /56;
# Example for a fixed host address
host specialclient {
host-identifier option dhcp6.client-id 00:01:00:01:4a:1f:ba:e3:60:b9:1f:01:23:45;
fixed-address6 2001:db8:0:1::127;
}
}
然后在 /var/db下添加一个空文件dhcpd6.leases
touch /var/db/dhcpd6.leases
在运行 ISC-DHCP之前,你需要把eth0接口地址设置成上面subnet6网段2001:db8:0:1::/64的信息,这样才可以分配地址给下面的设备,如下
sudo ifconfig eth0 add 2001:db8:0:1::1/64
然后启动dhcpv6服务器:
service isc-dhcp-server6 start
ps -aux| grep dhcp查看进程: -6表示IPV6
service isc-dhcp-server6 stop
查看日志同::tail -n 50 /var/log/syslog (如果获取不到IPV6地址,先将dhcp进程全部杀掉,包括IPv4的,然后 service isc-dhcp-server start service isc-dhcp-server6 start )