2 - Linux的DHCP原理与配置

目录

一、了解DHCP服务

1.定义

2.使用DHCP的好处

3.DHCP的分配方式

4.DHCP可分配的地址信息

二、DCHP的租约过程

1.租约过程

1.1 客户机请求IP地址

1.2 服务器响应

1.3 客户机选择IP地址

1.4 服务器确定租约

1.5 重新登录

1.6 更新租约

三、DHCP场景应用实验

1.实验环境

2.操作步骤

四、vsftp场景应用实验

1.实验环境

2.操作步骤

2.1 配置匿名访问

2.2 配置本地用户访问ftp,禁止匿名用户登录

2.3 对本地用户访问切换目录进行限制

2.4 修改匿名用户、本地登录的默认目录

2.5 黑名单、白名单的使用


一、了解DHCP服务

1.定义

  • DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)
  • 由Internet工作任务小组设计开发。
  • 专门用于为TCP/IP网络中的计算机自动分配TCP/IP参数的协议。

2.使用DHCP的好处

  • 减少管理员的工作量
  • 避免输入错误的可能
  • 避免IP地址冲突
  • 当更改IP地址段时,不需要重新配置每个用户的IP地址
  • 提高了IP地址的利用率
  • 方便客户端的配置

3.DHCP的分配方式

  • 自动分配:分配到一个IP地址后永久使用
  • 手动分配:由DHCP服务器管理员专门指定IP地址
  • 动态分配:使用完后释放该IP,供其他客户机使用

4.DHCP可分配的地址信息

可分配的地址信息主要包括:

  • 网卡的IP地址、子网掩码
  • 对应的网络地址、广播地址
  • 默认网关地址
  • DNS服务器

二、DCHP的租约过程

1.租约过程

客户机从DHCP服务器获得IP地址的过程称为DHCP的租约过程

分为四个步骤:

  1. 客户端在网络中搜索服务器
  2. 服务器向客户端响应服务
  3. 客户端向目标服务器发出服务请求
  4. 服务器向客户端提供服务

1.1 客户机请求IP地址

  • 当一个DHCP客户机启动时,客户机还没有IP地址,所以客户机要通过DHCP获取一个合法地址
  • 此时DHCP客户机以广播方式发送DHCP Discover发现信息来寻找DHCP服务器

1.2 服务器响应

  • DHCP服务器收到来自客户机请求IP地址的信息时,在自己的IP地址池中查找是否有合法的IP地址提供给客户机
  • 如果有,DHCP服务器将此IP地址做上标记,加入到DHCP Offer的消息中,然后广播一则DHCP Offer消息

1.3 客户机选择IP地址

  • DHCP客户机从接受到的第一个DHCP Offer消息中提取IP地址,并且回复一个DHCP Request报文,发出IP地址的DHCP服务器将该地址保留,这样该地址就不能再分配给另一个DHCP客户机

1.4 服务器确定租约

  • DHCP服务器接收到DHCP Request消息后,以DHCP ACK消息的形式向客户机广播成功确认,该消息包含有IP地址的有效租约和其他可配置的信息
  • 当客户机收到DHCP ACK消息时,配置IP地址,完成TCP/IP的初始化

1.5 重新登录

  • DHCP客户机每次重新登录网络是,不需要再发送DHCP Discover信息,而是直接发送包含前一次所分配的IP地址的DHCP Discover请求信息

1.6 更新租约

  • 当DHCP服务器向客户机出租的IP地址租期达到50%时,就需要更新租约
  • 客户机直接向提供租约的服务器发送DHCP Request包,要求更新现有的地址租约

三、DHCP场景应用实验

1.实验环境

3台机器:

  • CentOS 7-1 :DHCP服务端 (为了实验方便,将此IP定义为该网段的网关)
  • CentOS 7-2 :DHCP客户端
  • Windows 10 :DHCP客户端

网络环境

  • 均VMnet2(仅主机)模式
  • 关闭虚拟编辑中的DHCP
  • 确定VMnet2的IP地址段

系统环境:

  • 安装dhcp软件包
  • 机器均关闭防火墙与核心服务

2.操作步骤

1.修改CentOS 7-1 服务端的网卡配置文件

vi /etc/sysconfig/network-scripts/ifcfg-ens33

...
BOOTPROTO=static     #静态IP
......
IPADDR=192.168.10.2     #VMnet2网段的网关地址,此处拟定网段为192.168.10.0/24
NETMASK=255.255.255.0


systemctl restart network     #重启网卡

2.编辑dhcp全局配置文件,设置好对应的网络池

cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
vi /etc/dhcp/dhcpd.conf

......
subnet 192.168.10.0 netmask 255.255.255.0{     #DHCP网段
 range 192.168.10.10  192.168.10.30;     #DHCP地址池
  option routers 192.168.10.2;     #服务端地址
}
......

3.重启网卡,启用dhcp服务

systemctl restart network
systemctl restart dhcpd
systemctl status dhcpd

4.打开CentOS 7-2 客户端,并修改网卡配置

vi /etc/sysconfig/network-scripts/ifcfg-ens33
......
BOOTPROTO=dhcp     #改为动态获取IP
......

5.刷新网卡,通过DHCP获取IP

systemctl restart network
ifconfig ens33
 ......
ens33......
inet:192.168.10.10......     #查看是否自动获取了IP地址
......

6.在CentOS 7-1 服务端中查看租约

less /var/lib/dhcpd/dhcpd.lease

四、vsftp场景应用实验

1.实验环境

2台机器(均为同一网段):

  • CentOS 7-1
  • Windows 10 

网络环境

  • 均VMnet2(仅主机)模式
  • 关闭虚拟编辑中的DHCP
  • 均为同一网段

系统环境:

  • 安装vsftpd软件包
  • 机器均关闭防火墙与核心服务

2.操作步骤

2.1 配置匿名访问

1.配置vsftpd.conf配置文件

vim /etc/vsftpd/vsftpd.conf

......
#初始化全局配置
anonymous_enable=YES     #开放匿名用户访问(默认已开启)
local_enable=YES     #允许系统用户进行访问
write_enable=YES     #开放服务器的写权限(默认已开启)
anon_unmak=022     #设置匿名用户的反掩码

#让匿名用户访问本机并拥有各种权限
anon_umask=022                  #设置匿名用户所上传数据的权限掩码(反掩码)
anon_upload_enable=YES          #允许匿名用户上传文件
anon_mkdir_write_enable=YES     #允许匿名用户创建(上传)目录
anon_other_write_enable=YES     #允许删除、重命名、覆盖等操作
......

systemctl restart vsftpd     #重启vsftpd服务
chmod 777 /var/ftp/pub     #设置ftp共享文件的权限

2.匿名访问测试

cd /var/ftp/pub
echo 'hello world!' > test.txt
  • 在Windows 10 系统打开开始菜单,输入cmd 命令打开命令提示符:
#建立ftp连接
ftp 192.168.10.2
#匿名访问,用户名为ftp,密码为空,直接回车即可完成登录
ftp> pwd     #匿名访问ftp的根目录为Linux系统的/var/ftp/目录
ftp> ls     #查看当前目录
ftp> cd pub     #切换到pub目录
250 Directory successfully changed.
ftp> ls
ftp> get test.txt     #获取目录中的文件下载到电脑
ftp> ls
ftp> put test2.txt     #上传文件到CentOS 7-1

2.2 配置本地用户访问ftp,禁止匿名用户登录

1.配置vsftpd.conf配置文件

useradd zhangsan     #添加用户
echo '123' | passwd --stdin zhangsan     #修改密码
useradd lisi
echo '123' | passwd --stdin lisi

vim /etc/vsftpd/vsftpd.conf

......
local_enable=Yes     #启用本地用户
anonymous_enable=NO     #关闭匿名用户访问
write_enable=YES     #开放服务器的写权限(若要上传,必须开启)
local_umask=077     #可设置仅宿主用户拥有被上传的文件的权限

systemctl restart vsftpd     #重启vsftpd服务

2.测试

  • Window10 cmd输入:
ftp 192.168.10.2
name:ftp    #匿名用户
#访问拒绝

ftp 192.168.10.2
name:zhangsan
passwd:123
#访问成功

2.3 对本地用户访问切换目录进行限制

vim /etc/vsftpd/vsftpd.conf
chroot_local_user=YES     #将访问禁锢在用户的宿主目录中
allow_writeable_chroot=YES     #允许被限制的用户主目录具有写权限

systemctl restart vsftpd

2.4 修改匿名用户、本地登录的默认目录

anon_root=/var/www/html     #修改匿名用户的默认目录
local_root=/var/www/html     #修改本地用户的默认目录

2.5 黑名单、白名单的使用

  • 在安装vsftpd服务后,官方贴心的为我们在服务目录中提供了user_list   (其中就是为了我们更好利用黑名单和白名单的手册)
  • 黑名单:在黑名单上标记的用户,是我们禁止访问的对象。
  • 白名单:在白名单上标记的用户是我们允许访问的对象,白名单比黑名单的制定更为严格和安全

名单文件:/etc/vsftpd/user_list

若欲修改名单,在user_list中增删用户名即可

vim /etc/vsftpd/vsftpd.conf

......
#黑名单
userlist_enable=YES				#启用user_list用户列表文件
userlist_deny=YES				#默认为YES,为黑名单,禁止user_list名单里的用户进行访问


白名单
userlist_enable=YES				#启用user_list用户列表文件
userlist_deny=NO				#NO为白名单,仅允许user_list名单里的用户访问。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值