笔者使用的是ubuntu 16.04.5 LTS
dhcp4
原地址链接:https://blog.csdn.net/u010177634/article/details/53044777?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522161614006616780274147599%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=161614006616780274147599&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduend~default-2-53044777.pc_search_result_hbase_insert&utm_term=ubuntu%E5%AE%89%E8%A3%85dhcp%E6%9C%8D%E5%8A%A1%E5%99%A8
DHCP服务器是为客户端机器分配IP地址的,所有分配的IP地址都保存在DHCP服务器的数据库中。为了在子网中实现DHCP分配IP地址,需要在目标主机上安装配置DHCP服务
1、安装DHCP服务
安装isc-dhcp-server:
$ sudo apt install isc-dhcp-server
#DHCP的主要配置文件有两个,分别位于 /etc/default/isc-dhcp-server 和 /etc/dhcp/dhcpd.conf。下面要做的就是对这两个文件进行配置。
2.配置DHCP服务
首先需要知道目标主机的网卡名称:
$ ifconfig
#得到以下信息:
可以看到,目标主机的两张网卡名称分别为enp5s0f0和enp5s0f1,其中enp5s0f0可用。接下来配置 /etc/default/isc-dhcp-server 文件,
这里网卡名字使用的是enp5s0f0,ipv4地址是192.168.19.20,所以接下来配置都是19网段的,但是每个虚拟机ipv4和网卡名字是不同的,我的就是77网段,所以我在配置时全部换成了77网段
$ sudo vim /etc/default/isc-dhcp-server
将INTERFACES的内容补充为目标主机的网卡名称enp5s0f0。(要与自己的网卡名称一致)
配置 /etc/dhcp/dhcpd.conf 文件:
$ sudo vim /etc/dhcp/dhcpd.conf
文件内容中需要配置的是域名和子网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
查看dhcp是否正常运行:
$ sudo netstat -uap
当显示dhcpd的program name时表示dhcp服务安装配置启动成功
3.配置过程中的调试
第一次配置过程中很有可能出现配置失败无法启动dhcp的情况,笔者第一次配置时也是遇到了很多问题,后来发现查看日志是最可靠的方法。
查看系统日志:
$ vim /var/log/syslog
上面记录了失败的具体原因,定位到行,能比较有效地减少 花在配置错误上面的分析时间。
另外,官方的guidebook和Q&A也是比较有效工具。
dhcp6
原地址链接:https://blog.csdn.net/rainforest_c/article/details/71172738?utm_medium=distribute.pc_relevant_download.none-task-blog-BlogCommendFromBaidu-1.nonecase&depth_1-utm_source=distribute.pc_relevant_download.none-task-blog-BlogCommendFromBaidu-1.nonecas
下载安装dhcp-4.3.5.tar.gz(某个版本就行)
https://www.isc.org/downloads/
tar -xvf dhcp-4.3.5.tar.gz/sudo apt install isc-dhcp-server
cd dhcp4.3.5
./configure
make
sudo make install
配置文件/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;
#这里命名空间还是陪一样的2001:db8: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
查看当前网卡信息ifconfig,然后为网卡ens33添加dhcp服务器地址
ifconfig ens33 inet6 add 2001:db8:0:1::1/64
启动server,这样一般成功
dhcpd -6 -cf /etc/dhcp/dhcpd6.conf
查看连接,安装成功后会出现dhcpd字样的接口
netstat -uap
常见问题
dhcp启动后获取不了ip可尝试关闭防火墙
ufw disable
客户机可以获取ipv6但是无法ping通dhcp server
dhcp没有想客户机下发默认网关,手动添加默认网关
非物理连接(桥接)情况,主机虚拟机dhcp配置是否成功检验方式
https://blog.csdn.net/gao_zhennan/article/details/72231438
1、禁用除虚拟机网卡(你开启的dhcp服务器的虚拟机使用哪个网卡就不能禁用哪个,一般都用vm8)外其他无关网卡,防止虚拟机网卡从其他地方获取ip。
2、记得关闭虚拟机防火墙 ufw disable
3、开启你的虚拟机网卡的dhcp服务(ipv6/ipv4),
4、进入主机cmd 界面,
ipconfig/release #释放当前网卡获取ip
ipconfig/renew#网卡重新获取ip(dhcp已开启情况下)
5、查看网卡信息配置
ipconfig/all
#或者直接打开适配器自己去看网卡详细配置信息
上面这张图,我检查完6,在虚拟机快照回退到4配置成功状态后,重新获取了网卡ip,所以会有6服务器的暂存