DHCP和FTP
一、DHCP
1.概述
DHCP:动态主机配置协议,应用在大型的局域网环境中。
服务端: 提供ip地址 某种特定功能的提供者
客户端: 请求ip地址 请求对应功能的使用者
DHCP的作用:集中地址管理(地址池,可用ip地址的范围),自动分配客户端的ip地址,gateway(网关),dns服务信息等等。
客户端的端口:68 服务端的端口:67
DHCP的优点:
- 降低配置和部署设备的时间
- 降低了配置发生错误的可能
- 集中化管理ip地址的分配
- 提高了ip地址的利用率
2.DHCP的工作原理
- 客户端初始化时,向整个网络中发送广播(discover报文)
- 服务端向客户端响应,发送offer报文(华为的设备是单播,其他的都是广播方式)
- 客户端向服务端发送服务请求(request报文的形式),请求报文只会发给第一个响应自己的服务端
- 服务端收到客户端的请求,从地址池中选择一个未被占用的ip地址以及租期信息,发送给客户端,发送ack报文(确认响应)。 租期信息:默认情况下,服务端提供的ip地址使用期限是7200秒,到期之后要重新向客户端请求新的ip地址(ip地址可能发生变化)。
- 客户端收到服务端发送的ack报文之后,使用服务端提供的ip地址等服务。
客户端下线
客户端进行重新登录,发送一个包含之前dhcp服务端分配的ip信息的renew request的报文;服务端收到请求之后,尝试让客户端继续使用该地址,如果地址不可用才会分配一个新的,回复客户端ack报文
租约到期
租约到期之后,服务端会把ip地址收回,客户端如果想要继续使用该ip地址,必须要更新租约。更新的方式:租约的时间的一半,客户端发送renew报文来续约租期。服务端收到请求之后,尝试让客户端继续使用该地址,如果地址不可用,租期到期之后才会分配一个新的,回复客户端ack报文
实验
- 实现ubuntu和centos的dhcp的地址分配
服务端 ubuntu1 192.168.206.20
客户端 ubuntu2 192.168.206.30
客户端的操作:
apt -y install isc-dhcp-server #安装依赖环境
cd /etc/dhcp
cp dhcpd.conf dhcpd.conf.bak.2024.11.12 #改配置文件前先备份,方便修改
vim dhcpd.conf
subnet 192.168.206.0 netmask 255.255.255.0 {
range 192.168.206.60 192.168.206.65; #60 61 62 62 63 64 65
option routers 192.168.206.2; #网关}
systemctl restart isc-dhcp-server
另开一个ubuntu1的终端, 用tail -f /var/log/syslog 看dhcp工作过程
服务端的操作:
vim /etc/netplan/01-network-manager-all.yaml
修改 dhcp4: true
把ipaddress注释掉
dhclient -r
dhclient #刷新客户端
centos的操作和ubuntu差不多,但是它的/etc/dhcpd.conf没有内容,真正的内容在 /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
添加的内容同上
systemctl stop firewalld
setenforce 0
systemctl restart network
- mac地址绑定固定ip地址
host hostname {
hardware ether 00:0c:29:ba:77:1e; #设备的mac地址
fixed-address 192.168.206.100; #提供给目标mac地址的ip地址
}
二、FTP
1.概述
ftp: file transfer protocal 文件传输协议。网络上控制文件的双向传输,虽然说市面有很多类似ftp的工具,但是协议都是基于ftp的协议。
端口号 20 建立数据连接,并传输文件数据;21 建立连接控制,传输ftp的控制命令
ftp数据连接的方式:
- 主动模式:服务端对客户端主动发起数据连接(一般不用)
- 被动模式:客户端对服务端发起连接(主要模式)
SFTP 加密的文件传输协议
2.vsftp
以ubuntu为例
apt -y install vsftpd
vim /etc/vsftpd.conf
修改的内容为
listen=yes
#listen_ipv6=yes
local_enable=YES
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
chmod 777 -R /srv/ftp #修改匿名用户的默认家目录的权限
systemctl restart vsftpd
3.黑白名单
黑名单:在这个名单上的用户才会拒绝连接 允许所有,拒绝个别
白名单:只有这个名单上的用户才可以连接 拒绝所有,允许个别
vim /etc/vsftpd.conf
chroot_local_user=YES #访问用户只能在用户的家目录,禁止切换
allow_writeable_chroot=yes #让用户在用户的主目录拥有写权限
userlist_file=/etc/vsftpd.userlist #设定用户名单的文件
userlist_deny=yes #拒绝这个用户列表上的用户,开启的是黑名单
userlist_enable=yes #开启用户列表的使用vim /etc/vsftpd.userlist
zhang #此时黑名单上的zhang不被允许登录
反之:
userlist_deny=no #开启的是白名单
此时名单上的zhang允许登录
即使把root添加到白名单的userlist中,root仍然不可以登录
vim /etc/ftpusers #黑名单的黑名单,禁止root和权限高的登录
把root注释掉
#不需要重启,即刻生效