1. 背景
本人是一位刚入坑Linux driver开发的萌新,最近有一个测试要使用ping验证板子芯片的功能。请教前辈,得到的是轻描淡写的几句话,只能靠强大的百度了,但是也遇到了许多坑…
2.环境
Ubuntu20.04版本
两台电脑,网线,
3.DHCP简述
动态主机配置协议(DHCP)是一种网络管理协议,用于为进入网络的任何新节点动态分配 IP 地址。DHCP 允许自动配置节点,从而避免了网络管理员参与的必要性。
4.DHCP的部署
1.安装DHCP服务器
sudo apt install isc-dhcp-server
2.ifconfig查看网卡
因为自己要测enp2s0,所以选择的是它,请有自行选择
2.配置文件位置 /etc/netplan/xxxxxx.yaml
注:早期版本如:Ubuntu 18.04等等,它们的配置文件在/etc/network/interface文件中,把我坑惨了,所以要注意版本的不同。
# Let NetworkManager manage all devices on this system
network:
version: 2
renderer: NetworkManager
配置方法如下
# Let NetworkManager manage all devices on this system
network:
version: 2
renderer: NetworkManager
ethernets:
enp2s0:
dhcp4: true
addresses: [192.168.10.20/11]
gateway4: 192.168.0.1
nameservers:
addresses: [221.7.92.98]
dhcp4: false 配置表示静态IP,我是要使用DHCP的动态配置功能的所以为true
3.配置 /etc/default/isc-dhcp-server 文件:
sudo vim /etc/default/isc-dhcp-server
将INTERFACES的内容补充为目标主机的网卡名称enp2s0:
4.配置 /etc/dhcp/dhcpd.conf 文件:
sudo vim /etc/dhcp/dhcpd.conf
红框那一条语句请注释掉
然后在文件中加入一段配置代码(随便在那个地方)
subnet 192.168.10.0 netmask 255.255.255.0 {
range 192.168.10.130 192.168.10.253;
option routers 192.168.10.1;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.10.255;
option domain-name-servers 192.168.10.1;
option ntp-servers 192.168.10.1;
option netbios-name-servers 192.168.10.1;
option netbios-node-type 8;
}
如下图
5.重启系统
然后使用ifconfig 查看enp2s0的IP设置的IP是否生效
6.运行DHCP服务
6.1重启DHCP服务:
sudo service isc-dhcp-server restart
6.2查看dhcp是否正常运行:
sudo service isc-dhcp-server status
可以看见已经在运行了。
5.ping实验
1.使用网线将两台电脑连接起来,注:enp2s0是那个网孔,你使用的是哪一个网卡就用那个位网口,不要乱接。(这句话是说给纯小白听的),然后ifconfig查看enp2s0的IP等等
然后在另一台电脑
gateway的值在/etc/netplan/xxxxxx.yaml文件中,前面配置过的。Address和Netmask 的值就在上图的ifconfig图中。
2.设置完成后输入ping指令验证一下
ping 192.168.10.20
完事下班回家咯!