DHCP
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是否合法可用
安装配置DHCP
首先第一步先把防火墙关闭
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:文件传输协议
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的最大连接数