dhcp:动态主机配置协议 专门用于为TIP/IP网络参数
给网络的客户机自动分配IP地址
DHCP是采用的UDP作为传输层协议 服务端端口67 客户端端口68
好处:减少管理员工作量
避免输错的可能性
避免IP地址冲突
提高了IP地址的利用率
DHCP分配方式
自动分配 手动分配 动态分配
工作过程:

工作原理
1.客户端通过广播发送DISCOVER报文寻找服务端
2.服务端通过广播发送DHCO OFFER报文向客户端提供的地址池中挑选可以IP
3.客户端只接受第一个收到OFFER的报文并提取IP地址 然后通过广播发送DHCP Request报文告知服务器
4.服务端通过广播发送DHCP ARP报文告知客户端IP是否合法可用
首先第一步先把防火墙关闭
systemctl disable --now firewalld
setenforce 0
vim /etc/selinux/config进入之后修改SELINUX=enforcing 修改成SELINUX=disabled
然后安装yum安装dhcp-4.2.5-83.el7.centos.1.x86_64.rpm
安装完毕只用用 rmp -qpc查看文件在那个目录
- [root@localhost Packages]# rpm -qpc dhcp-4.2.5-83.el7.centos.1.x86_64.rpm
- /etc/dhcp/dhcpd.conf
- /etc/dhcp/dhcpd6.conf
- /etc/openldap/schema/dhcp.schema
- /etc/sysconfig/dhcpd
- /var/lib/dhcpd/dhcpd.leases
- /var/lib/dhcpd/dhcpd6.leases
然后cd到这个目录
- [root@localhost Packages]# cd /etc/dhcp/
- [root@localhost dhcp]# ls
- dhclient.d dhclient-exit-hooks.d dhcpd6.conf dhcpd.conf scripts
- [root@localhost dhcp]# vim /etc/dhcpd.conf
- [root@localhost dhcp]# vim dhcpd.conf
这时候我们会发现这个目录是空的

然后我们再cd到第二行给的提示的目录里
- [root@localhost share]# cd /usr/share/doc/
- [root@localhost doc]# ls dhcp*
- dhcp-4.2.5:
- dhcpd6.conf.example dhcpd.conf.example ldap
-
- dhcp-common-4.2.5:
- LICENSE README References.txt RELNOTES
这时候我们就找到dhcp的配置文件了 然后再cp到dhcp-4.2.5/目录 然后再vim进去
- [root@localhost dhcp-4.2.5]# ls
- dhcpd6.conf.example dhcpd.conf.example ldap
- [root@localhost dhcp-4.2.5]# vim dhcpd.conf.example
然后我们吧这个配置文件cp过去
- [root@localhost dhcp-4.2.5]# cp dhcpd.conf.example /etc/dhcp/dhcpd.conf
- cp:是否覆盖"/etc/dhcp/dhcpd.conf"? yes
然后我们再cd到那个目录 这时候我们就可以看见这个配置文件然后vim进去
- [root@localhost dhcp-4.2.5]# cd /etc/dhcp/
- [root@localhost dhcp]# ls
- dhclient.d dhcpd6.conf dhcpd.confn
- dhclient-exit-hooks.d dhcpd.conf scripts
- [root@localhost dhcp]# vim dhcpd.con
- option domain-name "example.org";
- option domain-name-servers ns1.example.org, ns2.example.org;
- 这是dns的服务器域名
-
- 这里用不到可用先用#进行注释
- default-lease-time 6400; #默认租约时间
-
- max-lease-time 720000; #最多租约时间
-
- ddns-update-style none; #禁止dns动态更新
-
- log-facility local7; #日志
-
- subnet 10.152.187.0 netmask 255.255.255.0 {
- } #子网段配置
-
- subnet 10.254.239.0 netmask 255.255.255.224 {
- range 10.254.239.10 10.254.239.20;
- option routers rtr-239-0-1.example.org, rtr-239-0-2.example.org;
- }
- subnet:表示子网的配置
- netmask :表示掩码
- range:表示设置子网池的起始和终止IP
- option router:表示设置默认的网关地址
- option broadcast-address 10.254.239.31; #表示设置广播地址
-
-
-
-
-
- option domain-name "ren1.com";
- option domain-name-servers 8.8.8.8, 144.144.144.144;
-
- default-lease-time 6400;
- max-lease-time 720000;
- 这些配置叫全局默认配置 当你再服务器没有进行别的dns配置时这个配置就是你全局的配置
- 如果有别的有别的子网配置就会使用别的子网配置
-
- host fantasia {
- hardware ethernet 08:00:07:26:c0:a5;
- fixed-address fantasia.fugue.com;
- }
- host:表示手动配置
- hardware ethernet:表示硬件地址
- fixed-address fantasia.fugue.com;:表示固定的地址
-
- 然后修改这个配置
-
- # This is a very basic subnet declaration.
-
- subnet 192.168.80.99 netmask 255.255.255.0 {
- range 192.168.80.100, 192.168.80.200;
- option routers 192.168.80.2;
- }
- 保存退出
-
然后验证的时候由于我们虚拟机网络用的nat模式所以我们要关闭虚拟机网络
当我们修改完之后我们的终端软件会断开 这时候打开本机然后修改网络适配器选择IPV4进行手工修改
然后重启配置文件 systemctl restart dhcpd
然后我们本机设置好了去别的虚拟机在操作
先 vim ifcfg (网卡) 然后配置成这样




然后我们就配置好了
FTP协议采用的是TCP作为传输协议 21端口用来传输FTP 20端口用来传输文件数据
FTP传输模式:
主动模式:FTP服务端接收下载控制命令后 会主动从tcp/20号端口发送数据传输给客户端
被动模式:FTP服务端接收下载控制命令 会开启一个空闲端口被动等待客户端数据传输连接
实验:
先进行初始化配置:
- [root@localhost ~]# systemctl stop firewalld
- [root@localhost ~]# systemctl disable firewalld.service
- Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
- Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
- [root@localhost ~]# setenforce 0
- [root@localhost ~]# vim /etc/selinux/config
-
- 设置成SELINUX=disabled
-
然后yum安装
- [root@localhost ~]# cd /mnt/Packages/
- [root@localhost Packages]# cd -
- /root
- [root@localhost ~]# ls | grep vsftp
- [root@localhost ~]# cd /mnt/Packages/
- [root@localhost Packages]# ls | grep vsftp
- vsftpd-3.0.2-29.el7_9.x86_64.rpm
- [root@localhost Packages]# yum install -y vsftp
-
- [root@localhost Packages]# rpm -qpc vsftpd-3.0.2-29.el7_9.x86_64.rpm
- /etc/logrotate.d/vsftpd
- /etc/pam.d/vsftpd
- /etc/vsftpd/ftpusers
- /etc/vsftpd/user_list
- /etc/vsftpd/vsftpd.conf
- [root@localhost Packages]# cd /etc/vsftpd/
- [root@localhost vsftpd]# ls
- ftpusers user_list vsftpd.conf vsftpd_conf_migrate.sh
- [root@localhost vsftpd]#
-
- 由于他只有一个文件 所以我们先备份
-
- [root@localhost vsftpd]# cp vsftpd.conf{,.bak}
- [root@localhost vsftpd]# ls
- ftpusers user_list vsftpd.conf vsftpd.conf.bak vsftpd_conf_migrate.sh
-
- 然后我们进去修改配置文件
- [root@localhost vsftpd]# vim vsftpd.conf
- anonymous_enable=YES #匿名登录
- local_enable=YES #本地登录
- write_enable=YES #是否开放htp写的权限
- local_umask=022 #文件默认权限
-
- 然后打开#anon_upload_enable=YES #允许匿名用户上传文件
- 再打开#anon_mkdir_write_enable=YES #允许用户上传目录
- # Uncomment this if you want the anonymous FTP user to be able to create
- # new directories.
- anon_mkdir_write_enable=YES
- 在这后面加一行
- anon_other_write_enable=YES #除了创建目录以为能进行删除重命名等
- #
- 再在之后添加一行
- anon_root=/var/ftp #表示上传的目录在哪
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
然后重启配置
- [root@localhost vsftpd]# vim vsftpd.conf
- [root@localhost vsftpd]# vim vsftpd.conf
- [root@localhost vsftpd]# systemctl start vsftpd
- [root@localhost vsftpd]# systemctl enable vsftpd
- Created symlink from /etc/systemd/system/multi-user.target.wants/vsftpd.service to /usr/lib/systemd/system/vsftpd.service.
我们在本机上面输入win+r 然后输入cmd 然后ping一下自己的服务器是否能拼通

然后用pwd查看自己所在位置
这里的根目录不是我们Linux系统的根目录

是linux这里的目录 这时候我们在Linux中ftp目录创建一个目录
在本机用ls查看
这时候我们在Linux中创建一个 看看本机是否能下载
- [root@localhost ftp]# echo 'ren2 123654' >ren2.txt
- [root@localhost ftp]# ls
- pub ren101 ren2.txt

这时候我们就传输完毕了 这时我们打开此电脑到用户下面就可以看见了

windowsFTP控制命令:pwd ls get put quit
允许匿名用户访问FTP服务器 anonymous_enable=YES anno_root=
允许服务端本地用户访问FTP服务器 local_enable=YES local_root=
user_list文件作为黑名单 userlist_enable=YES userlist_deny=YES
user_list文件作为白名单 userlist_enable=YES userlist_deny=NO
listen_port=2121 #设置监控端口
max_clients=100 #最大连接数
max_per_ip=5 #每个IP的最大连接数