Linux网络中DHCP原理及FTP文件传输相关技术

2021/5/4 7:28:53

本文主要是介绍Linux网络中DHCP原理及FTP文件传输相关技术,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

Linux网络中DHCP原理及FTP文件传输相关技术

  • 一、了解DHCP服务
    • (一)DHCP动态主机配置协议
    • (二)使用DHCP的好处
  • 二、DHCP的租约过程
    • (一)客户端在网络中搜索服务器
    • (二)服务器向客户端响应服务
    • (三)客户机选择IP地址
    • (四)服务器确定租约
    • (五)重新登录
    • (六)更新租约
  • 三、使用DHCP动态配置主机地址
    • (一)DHCP服务
    • (二)可分配的地址信息主要包括
  • 四、安装DHCP服务器
    • (一)DHCP服务器软件
    • (二)主配置文件:dhcpd.conf的内容构成
    • (三)主配置文件:全局设置,作用于整个DHCP服务器
  • 五、配置DHCP服务器
  • 六、FTP文件传输
  • 七、配置DHCP服务器
    • (一)使用DHCP动态的给PC机分配IP地址
    • (二)给PC机分配固定的IP地址
  • 八、FTP文件传输实验
    • (一)FTP文件传输
    • (二)设置本地用户验证访问FTP,并禁止切换到FTP以外的目录

一、了解DHCP服务

(一)DHCP动态主机配置协议

1、由Internet 工作任务小组设计开发
2、专门用于为 TCP/IP 网络中的计算机自分配ТСР/IP参数的协议

(二)使用DHCP的好处

1、减少管理员的工作量
2、避免输入错误的可能
3、避免IP地址冲突
4、当更改IP地址段时,不需要重新配置每个用户的IP地址
5、提高了IP地址的利用率
6、方便客户端的配置

二、DHCP的租约过程

1、客户机从DHCP服务器获得IP地址的过程称为DHCP 的租约过程
2、分为四个步骤
在这里插入图片描述

(一)客户端在网络中搜索服务器

当一个DHCP客户机启动时,客户机还没有IP地址,所以客户机要通过DHCP获取一个合法的地址。
此时DHCP客户机以广播方式发送DHCP Discover发现信息来寻找DHCP服务器。

(二)服务器向客户端响应服务

DHCP服务器接收到来自客户机请求IP地址的信息时,在自己的IP地址池中查找是否有合法的IP地址提供给客户机。
如果有,DHCP服务器将此IP地址做上标记,加入到DHCP Offer的消息中,然后广播一则DHCP Offer 消息。

(三)客户机选择IP地址

DHCP客户机从接收到的第一个DHCP Offer消息中提取 IP 地址,发出IP地址的DHCP服务器将该地址保留,这样该地址就不能再分配给另一个DHCP客户机了

(四)服务器确定租约

DHCP服务器接收到 DHCP Request 消息后,以DHCP ACK 消息的形式向客户机广播成功确认,该消息包含有IP地址的有效租约和其他可配置的信息
当客户机收到 DHCP ACK 消息时,配置IP地址,完成TCP/IP的初始化

(五)重新登录

DHCP客户机每次重新登录网络时,不需要再发送DHCP Discover信息,而是直接发送包含前一次所分配的IP地址的DHCP Request请求信息

(六)更新租约

当DHCP服务器向客户机出租的IP地址租期达至50%时就需要更新租约
客户机直接向提供租约的服务器发送DHCP Request包,要求更新现有的地址租约

三、使用DHCP动态配置主机地址

(一)DHCP服务

1、为大量客户机自动分配地址,提供集中管理
2、减轻管理和维护成本、提高网络配置效率

(二)可分配的地址信息主要包括

1、网卡的IP地址、子网掩码
2、对应的网络地址、广播地址
3、默认网关地址
4、DNS服务器地址

四、安装DHCP服务器

(一)DHCP服务器软件

1、CentOS光盘中的 dhcp-4.2.5-47.el7.centos.x86_64.rpm
2、DHCP软件包的主要文件
主配置文件:/etc/dhcpd.conf
执行程序:/usr/sbin/dhcpd、 /usr/sbin/dhcrelay

(二)主配置文件:dhcpd.conf的内容构成

ddns-update-style  interim;   #全局配置参数
......
subnet  192.168.0.0  netmask  255.255.255.0{  #网段声明
  option routers 192.168.0.1;  #配置选项
  ......
  default-lease-time 21600;  #配置参数
  host ns {
  ......
  fixed-address 207.175.42.254;  #主机声明
  }
}

(三)主配置文件:全局设置,作用于整个DHCP服务器

ddns-update-style  none;
default-lease-time  21600;
max-lease-time    43200;
option  domain-name  "domain.org";
option  domain-name-servers 202.106.0.20;

五、配置DHCP服务器

在ensp中配置DHCP中继------
dhcp enable   #开启DHCP功能
#
interface vlanif10
ip address 192.168.1.254  255.255.255.0
dhcp select relay   #开启DHCP中继功能
dhcp relay server-ip 192.168.80.10  #指向DHCP服务器的地址
#
interface vlanif20
ip address 192.168.2.254  255.255.255.0
dhcp select relay
dhcp relay server-ip 192.168.80.10
#
interface vlanif100
ip address 192.168.80.254 255.255.255.0
dhcp select relay
dhcp relay server-ip 192.168.80.10
---在centos 虚拟机中配置---
yum install -y dhcp
 
cd /etc/dhcp/
ls
less dhcpd.conf

cd /usr/share/doc/dhcp-4.2.5/
ls
less dhcpd.conf.example

cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example  /etc/dhcp/dhcpd.conf
vim /etc/dhcp/dhcpd.conf
---设置全局配置参数---
default-lease-time  21600;  #默认租约为6小时,单位为秒
max-lease-time  43200;   #最大租约为12小时,单位为秒
option domain-name "xxxx.com";  #指定默认域名
option domain-name-servers 202.106.0.20, 202.106.148.1;  #指定DNS服务器地址
ddns-update-style none;  #禁用DNS动态更新
---subnet网段声明(作用于整个子网段,部分配置参数优先级高于全局配置参数)
subnet 192.168.80.0 netmask 255.255.255.0 {  #声明要分配的网段地址
   range 192.168.80.100  192.168.80.200; #设置地址池
   option routers 192.168.80.254;
}
subnet 192.168.1.0  netmask 255.255.255.0 {
   range 192.168.1.100  192.168.1.200;
   option  routers 192.168.1.254;
}
subnet 192.168.2.0 netmask  255.255.255.0{
range 192.168.2.100  192.168.2.200;
option routers 192.168.2.254;
}
---host主机声明(给单机分配固定的IP地址)---
host hostname{   #指定需要分配固定IP地址的客户机名称
   hardware ethernet 00:c0:c3:22:46:81;  #指定该主机的MAC地址
   fixed-address 192.168.80.100  #指定保留给该主机的IP地址
   }
---关闭防火墙并开启服务---
systemctl start dhcp
systemctl stop firewalld
setenforce 0

netstat -anpu | grep ":67"
---如果DHCP服务启动失败,可以查看日志文件来排查错误---
tail -f /var/log/messages

六、FTP文件传输

FTP服务-----用来传输文件的协议
FTP服务器默认使用TCP协议的20、 21端口于客户端进行通信
20端口用于建立数据连接,并传输文件数据
21端口用于建立控制连接,并传输FTP控制命令
FTP数据连接分为主动模式和被动模式
主动模式:服务器主动发起数据连接
被动模式:服务器被动等待数据连接

yum install -y vsftpd
cd /etc/vsftpd/
cp vsftpd.conf vsftpd.conf.bak

设置匿名用户访问的FTP服务(最大权限)
---修改配置文件---
vim /etc/vsftpd/vstfpd.conf
anonymous enable=YES  #开启匿名用户访问,默认已开启
write_enable=YES  #开放服务器的写权限(若要上传,必须开启),默认已开启
anon_umask=022   #设置匿名用户所上传数据的权限掩码(反掩码),默认已开启
anon_upload_enable=YES  #允许匿名用户上传文件。默认已注释,需取消注释
anon_mkdir_write_enable=YES  #允许匿名用户创建(上传)目录。默认已注释,需取消注释
anon_other_write_enable=YES  #允许删除、重命名、覆盖等操作。需添加

---为匿名访问ftp的根目录下的pub子目录设置最大权限,以便匿名用户上传数据---
chmod 777 /var/ftp/pub/

---开启服务,关闭防火墙和增强型安全功能---
systemctl start vsftpd
systemctl stop firewalld
setenforce 0
---匿名访问测试---
在windows系统打开“开始”菜单,输入cmd命令打开 命令提示符
---建立ftp连接---
ftp 192.168.80.10
---匿名访问,用户名为ftp,密码为空,直接回车即可完成登录
ftp>pwd  #匿名访问ftp的根目录为Linux系统的/var/ftp/目录
ftp>ls  #查看当前目录
ftp>cd pub #切换到pub目录
ftp>get 文件名  #下载文件到当前windows本地目录
ftp>put 文件名  #上传文件到ftp目录
ftp>quit   #退出
设置本地用户验证访问ftp,并禁止切换到ftp以外的目录(默认登录的根目录为本地用户的家目录)
---修改配置文件---
vim /etc/vsftpd/vsftpd.conf
local_enable=YES   #启用本地用户
anonymous_enable=NO  #关闭匿名用户访问
write_enable=YES  #开放服务器的写权限(若有上传,必须开启)
anon_umask=077   #可设置仅宿主用户拥有被上传的文件的权限(反掩码)
chroot_local_user=YES  #将访问禁锢在用户的宿主目录中
allow_writeable_chroot=YES  #允许被限制的用户主目录具有写权限

---重写服务---
systemctl restart vsftpd

---修改匿名用户、本地用户登录的默认根目录---
anon_root=/var/www/html   #anon_root  针对匿名用户
local_root=/var/www/html  #local_root  针对系统用户

七、配置DHCP服务器

(一)使用DHCP动态的给PC机分配IP地址

首先在ensp模拟器上创建一个模拟环境进行实验,环境搭建如下图所示
在云上需要进行一些简单的配置:“绑定信息选择UDP和VMnet 1或者VMnet 9 (这里只要是仅主机模式的虚拟网卡就行)”,然后进行添加;接着进行端口映射设置,选择“双向通道”,然后入端口和出端口选择不同的编号即可,然后点击“增加”。
将云设置完成后才可以用串口线将交换机和云连接起来
在这里插入图片描述
在ensp中配置相关的DHCP中继功能

在这里插入图片描述
接着配置DHCP服务器
首先将该虚拟机的网络适配器更改为VMnet 1,接着将网卡更改为之前ensp中所配置的中继服务器ip,即192.168.100.100
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
接着将磁盘挂载,然后创建本地yum源仓库,以便后续安装软件包
在这里插入图片描述
安装DHCP软件包,使该虚拟机具有DHCP的功能
在这里插入图片描述
接着查看一下dhcp的主配置文件dhcpd.conf,发现里面目前啥也没有,只有让我们查看/usr/share/doc/dhcp.conf.example的提示
在这里插入图片描述
在这里插入图片描述
然后我们按照提示去查看/usr/share/doc/dhcpd.conf.example这个文件
在这里插入图片描述
在这里插入图片描述
接着将该主配置文件复制到/etc/dhcp/dhcpd.conf中去
在这里插入图片描述
更改、添加如下红框中的内容后保存退出
在这里插入图片描述
在这里插入图片描述
关闭防火墙以后重启一下网卡,然后Ping一下三个网关,看看是否有问题,能Ping通说明没有问题

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
接着在ensp中使用dhcp功能让两台PC机自动获取一下IP地址
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(二)给PC机分配固定的IP地址

再开一台windows系统的虚拟机进行实验,需要更改一下VMnet1的属性,设置IPV4的IP地址为我们需要固定的100网段的地址,这里注意不要和之前配的网关相同。确定后退出
在这里插入图片描述
在该win10的虚拟机中的CMD中使用ipconfig all命令找到该虚拟机的物理地址
在这里插入图片描述
在centos 虚拟机中的 vim /etc/dhcp/dhcpd. conf 中绑定 win 10 的物理地址和绑定的IP 地址
在这里插入图片描述
然后在win 10 中就可以获取到绑定的 IP 了
在这里插入图片描述
在这里插入图片描述

八、FTP文件传输实验

(一)FTP文件传输

首先安装vsftpd软件包
在这里插入图片描述
查看一下该文件
在这里插入图片描述
为防止修改出错,需要将vsftpd.conf 文件进行备份,然后修改该配置文件
在这里插入图片描述
在这里插入图片描述
修改完vsftpd.conf 文件以后需要重启一下该服务。
在这里插入图片描述
接着进入存放匿名用户的目录 /var/ftp 中,修改该匿名用户pub的权限为777(最高权限)
在这里插入图片描述
接着开启 vsftpd ,并关闭防火墙
在这里插入图片描述
接着在win10 的虚拟机的CMD 中ftp到192.168.100.100
在这里插入图片描述
将Linux 中的文件传输到windows系统中 接着可以在pub 下创建一些文件,然后就可以在win 10 这台机子的pub 目录下找到在centos 中创建的这个123.txt 文件,也可以使用get 命令将该文件下载到windows的用户gcc目录下
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
将windows 系统中的文件传输到Linux 系统中
首次在用户文件夹中的gcc中创建一个叫hahaha的文件

在这里插入图片描述

(二)设置本地用户验证访问FTP,并禁止切换到FTP以外的目录

在/etc/vsftpd/vsftpd.conf 中进行如下的编辑

在这里插入图片描述
设置将访问禁锢在用户的宿主目录中
在这里插入图片描述
这样其他用户就不能登录windows的一些重要的目录下了
在这里插入图片描述
在linux 中的zhangsan的家目录下创建一个文件abc.txt 可以传输到windows中
在这里插入图片描述
在这里插入图片描述
同样也可以使用get 命令将该文件下载下来
在这里插入图片描述
补充:在/etc/vsftpd/vsftpd.conf 中添加userlist_deny=NO 是不禁用用户,可以理解为白名单的作用。
在这里插入图片描述
在 user_list 中添加用户(即加入白名单)
在这里插入图片描述
在这里插入图片描述



这篇关于Linux网络中DHCP原理及FTP文件传输相关技术的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程