DHCP原理与配置

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的最大连接数

相关推荐
忆源1 分钟前
Linux高级--2.4.2 linux TCP 系列操作函数 -- 深层理解
linux·网络·tcp/ip
哈利巴多先生12 分钟前
HTTP,续~
网络·网络协议·http
白了个白i14 分钟前
http的访问过程或者访问页面会发生什么
网络·网络协议·http
@泽栖17 分钟前
阿里云-将旧服务器数据与配置完全迁移至新服务器
服务器·阿里云
ZHOUPUYU30 分钟前
Centos常用命令,按功能分类,用户和权限管理等
linux·运维·centos
赛德乌漆麻黑哟41 分钟前
FOFA--网络空间资产搜索引擎(常用语法以及拓展)
网络·安全·搜索引擎
vvw&1 小时前
如何在 Ubuntu 22.04 上安装 phpMyAdmin
linux·运维·服务器·mysql·ubuntu·php·phpmyadmin
Allen_LVyingbo1 小时前
数智化时代医院临床试验人才培养的创新路径与实践探索
网络·健康医疗·集成学习
手心里的白日梦1 小时前
TCP协议
服务器·网络·tcp/ip
Hacker_Oldv1 小时前
iptables网络安全服务详细使用
网络·安全·web安全