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

相关推荐
大树884 小时前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠4 小时前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
bush45 小时前
嵌入式linux学习记录十四、术语
linux·嵌入式
载数而行5205 小时前
Linux 11 动态监控指令top
linux
小宇宙Zz5 小时前
Maven依赖冲突
java·服务器·maven
网络研究院6 小时前
2026年网络安全
网络·安全·法律·法规·趋势·发展
酣大智6 小时前
ARP代理--工作原理
运维·网络·arp·arp代理
treesforest6 小时前
AI安全系统如何识别异常访问?IP风险识别正在成为关键能力
网络·人工智能·tcp/ip·安全·web安全
不会C语言的男孩6 小时前
Linux 系统编程 · 第 8 章:进程基础
linux·c语言
shushangyun_6 小时前
2026年快消品B2B系统推荐:支持终端门店订货、促销政策自动化的工具?
java·运维·网络·数据库·人工智能·spring·自动化