DHCP原理与配置
DHCP是什么
动态主机配置协议
服务器配置好了地址池192.168.233.10 192.168.233.20
客户端从地址池当中随机获取了一个ip地址,ip地址会发生变化,使用服务端提供的ip地址,时间限制,重启之后也会更换.
优点:
1.不用手动配置,降低了配置和部署的时间
2.同时也降低了发生了配置错误的可能性
3.ip地址可以进行集中化管理
4.提高了ip地址的利用率
在某些工作中,是局域网,DHCP,动态写死的ip地址(获取是动态获取,使用过程中是一直不变的)
服务端和客户端
服务端:提供某种特定的服务
客户端:使用服务端的特定服务
c/s clent servers 客户端 服务端
应用程序之间,通过端口进行通信,实现这种c/s
b/s browser servers 浏览器 服务端
DHCP的分配方式
自动分配:自动分配到一个ip地址后永久使用
动态分配:核心还是自动分配,但不是永久使用了,有时间限制和重启更换
手动分配:由DHCP服务器管理员专门指定ip地址(很少使用)
租约过程
初始化过程:
第一步:在整个局域网中发送广播寻找dhcp的服务器(discover报文)
第二步:服务器向客户端响应,发送offer报文(华为设备是单播,其他都是广播)
第三步:客户端向服务端发送服务请求request报文,请求服务端分配我一个ip地址
第四步:服务端收到了请求,在地址池中选一个ip地址,然后标记为已用,设定这个租期
第五步:客户端收到了这个信息,然后开始使用,回复ack报文
使用的过程:
租约到期和重启:
重新从服务端获取ip地址(不需要再广播了),客户端发送一个renew request,服务端收到请求,从地址池中获取一个ip地址,标记为已用,设置租约,回复ack报文
特殊情况:
地址池用完时怎么办:
等待,但是这种情况很少出现,因为地址池是由人工配置的,可以自由加减.
DHCP服务端的端口是67
客户端的端口是68
test1 服务端 dhcp服务 192.168.233.100-192.168.233.110
test2 客户端 修改获取ip地址的方式.
关闭两个防火墙和安全机制
test1:
yum -y install dhcp
cd /etc/dhcp/
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
cp /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.bakup.2024.6.4
vim /etc/dhcp/dhcpd.conf
# This is a very basic subnet declaration.
subnet 192.168.118.0 netmask 255.255.255.0 {
range 192.168.118.51 192.168.118.101;
option routers 192.168.118.2;
}
systemctl restart dhcpd
systemctl restart network
test2:
vim /etc/sysconfig/network-scirpts/ifcfg-ens33
BOOTPROTO=dhcp
systemctl restart network
DHCP实验作业
要求:#host主机声明(给单机分配固定的 IP 地址)
host hostname { #指定需要分配固定 IP地址的客户机名称
hardware ethernet 00:c0:c3:22:46:81; #指定该主机的 MAC地址
fixed-address 192.168.4.100; #指定保留给该主机的 IP地址
}
第一步:启动两个虚拟机,为了方便,将第一个虚拟机和第二个虚拟机的主机名改为test1和test2
虚拟机1:
虚拟机2:
第二步:关闭防火墙,关闭安全机制
虚拟机1
虚拟机2
第三步:查询虚拟机1是否安装了dhcpd,如果没有,yum -y install dhcp 安装一下
第四步:查询虚拟机2上的mac地址
第五步:test1操作,将/usr/share/doc/dhcp-4.2.5/dhcpd.conf.example文件复制到/etc/dhcp/下,改名成dhcpd.conf,再顺手备份一下
第六步:根据test2的mac地址vim编辑dhcpd.conf,完事后重启dhcpd服务,如果重启不了,要先设置地址池
第七步:去test2,重启网卡再ifconfig查看ip地址是否已经改变,如果没变,检查一下网卡设置里的BOOTPROTO是否改成了dhcp
旧的
新的
ftp
ftp file transfer protocol 文件传输协议,在网络上用于双向进行传输,也是一个应用程序,也是一个c/s架构
不同的操作系统有不同的ftp软件,但是使用的协议都是一样的
FTP基于tcp协议,两个端口
20端口 建立数据连接,传输数据
21端口 连接控制,传输ftp的控制命令
ftp服务端和客户端,建立连接之后,双向进行文件的传输
ftp建立数据连接的模式:
主动模式:服务器主动向端口发起数据连接
被动模式:服务器等待客户端发起连接
被动模式更容易穿越火线,默认就是被动模式
上传是put 本地文件上传到服务器
下载是get 把服务器的文件下载到本地
匿名用户权限太高,一般不用
匿名用户登录ftp
关防火墙,关安全机制
yum -y install vsftpd
cd /etc/vsftpd
cp vsftpd.conf vsftpd.con.bak.20240604
vim vsftpd.conf
#anon_upload_enable=YES 取消注释允许匿名用户上传文件
#anon_mkdir_write_enable=YES 取消注释允许匿名用户创建目录上传目录
手动添加anon_other_write_enable=yes 允许匿名用户删除,重名名,覆盖等等操作,松手添加的
wq 保存退出
systemctl restart vsftpd 重启vsftpd服务
var/ftp/pub 匿名用户默认根目录
echo "hello" > /var/ftp/pub/test.txt
chmod 777 vat/ftp/pub
真机 win r
ftp ip地址
cd pub
get test.txt
重命名
put test1.txt
系统用户登录ftp
禁止匿名用户登录,系统用户登录
vim /etc/dhcp/dhcpd.conf
anonymous_enable=no yes改成no,禁止匿名用户登录,不能注释,注释是默认
systemctl restart vsftpd
真机 win r
ftp test1
123
系统用户登录锁定权限
只要是系统用户登录,都禁锢在家目录
vim /etc/dhcp/dhcpd.conf
#chroot_local_user=YES 取消注释
allow_writeable_chroot=yes 手动添加家目录读写权限
systemctl restart vsftpd
黑名单白名单
黑名单:在名单上的不允许登录 允许所有拒绝个别
白名单:只有在名单上的才允许登录 允许个别拒绝所有
etc/vsftp/ftpusers 白名单的黑名单:root用户和程序用户也登不上
如何实现黑白名单
黑名单默认开启
vim /etc/vsftpd/vsftpd.conf
userlist_enable=YES
userlist_deny=yes
wq保存,重启vsftpd服务
vim /etc/vsftpd/user_list
test1
wq
真机 win r
ftp ip地址
登录被拒绝
如何实现白名单
vim /etc/vsftpd/vsftpd.conf
userlist_deny=no
wq
systemctl restart vsftpd
真机 win r
ftp ip地址
登陆成功