目录:
DHCP (Dynamic Host Configuration Protocol,动态主机配置协议)
由Internet工作任务小组设计开发
专门用于为TCP/IP网络中的计算机自动分配TCP/IP参数的协议
使用DHCP的好处
- 减少管理员的工作量
- 避免输入错误的可能
- 避免IP地址冲突
- 当更改IP地址段时,不需要重新配置每个用户的IP地址
- 提高了IP地址的利用率
- 方便客户端的配置
DHCP的分配方式
- 自动分配∶分配到一个IP地址后永久使用
- 手动分配∶ 由DHCP服务器管理员专门指定IP地址
- 动态分配∶ 使用完后释放该IP,供其它客户机使用
客户机从DHCP服务器获得IP地址的过程称为DHCP的租约过程
分为四个步骤
(1)客户端在网络中搜索服务器
(2)服务器向客户端响应服务
(3)客户端向目标服务器发出服务请求
(4) 服务器向客户端提供服务
客户机请求IP地址
- 当一个DHCP客户机启动时,客户机还没有IP地址,所以客户机要通过DHCP获取一个合法的地址
- 此时DHCP客户机以广播方式发送DHCPDiscover发现信息来寻找DHCP服务器
服务器响应
- DHCP服务器接收到来自客户机请求IP地址的信息时,在自己的IP地址池中查找是否有合法的IP地址提供给客户机
- 如果有,DHCP服务器将此IP地址做上标记,加入到 DHCP Offer的消息中,然后广播一则DHCP Offer消息
客户机选择IP地址
- DHCP客户机从接收到的第一个DHCP Offer消息中提取 IP地址,发出IP地址的DHCP服务器将该地址保留,这样该地址就不能再分配给另一个DHCP客户机
服务器确定租约
- DHCP服务器接收到DHCPRequest消息后,以DHCP ACK消息的形式向客户机广播成功确认,该消息包含有IP地址的有效租约和其他可配置的信息
- 当客户机收到DHCPACK消息时,配置IP地址,完成 TCP/IP的初始化
重新登录
- DHCP客户机每次重新登录网络时,不需要再发送DHCP Discover信息,而是直接发送包含前一次所分配的IP地址的DHCP Request请求信息
更新租约
- 当DHCP服务器向客户机出租的IP地址租期达到50%时,就需要更新租约
- 客户机直接向提供租约的服务器发送DHCP Request包,要求更新现有的地址租约
租约过程:
重新登陆:
三、配置DHCP 服务
DHCP 服务- 为大量客户机自动分配地址,提供集中管理
- 减轻管理和维护成本,提高网络配置效率
- 网卡的 IP 地址,子网掩码
- 对应的网络地址,广播地址
- 默认网关地址
- DNS 服务器地址
# DHCP 服务端使用 UDP 67 端口, DHCP 客户端使用 UDP 68
举例
实验拓扑
DHCP 服务器 :192.168.23.10 /24 DHCP中继: LSW2 pc 1 分配固定 ip 192.168.23.108 /24 ,vlan 100 PC2 valn 10 PC3 vlan20
虚拟机配置
1 [root@localhost ~]# yum -y install dhcp #下载软件包[root@localhost ~]# rpm -qc dhcp #查看dhcp 的配置文件/etc/dhcp/dhcpd.conf [root@localhost ~]# cd /etc/dhcp/ 4[root@localhost dhcp]# ls dhcpd.conf dhcpd.conf [root@localhost dhcp]# cp \ > /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example \ > /etc/dhcp/dhcpd.conf #复制模板文件vim /etc/dhcp/dhcpd.conf 2 #注意 dhcp 配置文件 是 /etc/dhcp/dhcpd.conf 3 4 option domain-name "example.org"; #指定域名 5 option domain-name-servers 8.8.8.8; #指定dns 服务器地址 6 default-lease-time 600; #默认租约600s 7 max-lease-time 7200; #最大租约7200s 8 ddns-update-style none; #禁用dns 动态更新,可以加快dns 的响应速度 9 10 subnet 192.168.23.0 netmask 255.255.255.0 { #声明要分配的网段地址 11 range 192.168.23.100 192.168.23.200; #设置地址池 12 option routers 192.168.23.254; #指定默认网关 13 } 14 #要先设置dhcp 所在的网段 15 16 subnet 192.168.10.0 netmask 255.255.255.0 { 17 range 192.168.10.100 192.168.10.200; 18 option routers 192.168.10.254; 19 } 20 21 subnet 192.168.20.0 netmask 255.255.255.0 { 22 range 192.168.20.100 192.168.20.200; 23 option routers 192.168.20.254; 24 } 25 26 host hostname { #指定需要分配固定Ip地址的客户机地址 27 hardware ethernet 54:89:98:41:0A:22; 28 #指定该主机的MAC地址。每8位)以冒号:分隔 (这里是16进制数 ,每个占0.5 字节,4位) 29 fixed-address 192.168.23.108; #指定保留给该主机的IP地址 30 } 31 #host 主机声明(给单机分配固定IP地址) 32 33 :wq 34 35 [root@localhost dhcp-4.2.5]# systemctl restart dhcpd #重启dhcp 服务 36 [root@localhost ~]# systemctl enable dhcpd 37 [root@localhost dhcp-4.2.5]# systemctl stop firewalld.service #关闭防火墙 38 [root@localhost dhcp-4.2.5]# setenforce 0 #设置 selinux 39 [root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33 #修改网卡配置...... 40 IPADDR=192.168.23.10 #虚拟机ip地址 41 GATEWAY=192.168.23.254 #将网关修改为 192.168.23.254..... 42 :wq[root@localhost dhcp]# systemctl restart network #重启网卡
vmware 设置
修改虚拟网络编辑器,将虚拟网卡 vmnet1 设置为仅主机模式,不使用dhcp分配
将网络适配器选择为 自定义(u):特定虚拟网络 ,vmnet1 仅主机模式
宿主机设置
宿主机设置vmnet 1 网卡属性,设置 ip v4 地址(192.168.23.188)
ensp 配置
cloud 设置 先添加UDP,再添加 vmnet 1 ,出端口号设置为2 设置为 双向通道
设置LSW1
与交换机相连的接口设置为 trunk 口, 与主机相连的接口设置为access 口1 [SW1]v b 10 20 100 2 [sw1]int e0/0/2 3 [sw1-Ethernet0/0/2]p l a 4 [sw1-Ethernet0/0/2]p d v 10 5 6 [sw1-Ethernet0/0/2]int e0/0/3 7 [sw1-Ethernet0/0/3]p l a 8 [sw1-Ethernet0/0/3]p d v 20 9 10 [sw1-Ethernet0/0/3]int e0/0/4 11 [sw1-Ethernet0/0/4]p l a 12 [sw1-Ethernet0/0/4]p d v 100 13 14 [sw1-Ethernet0/0/4]int e0/0/1 15 [sw1-Ethernet0/0/5]p l a 16 [sw1-Ethernet0/0/5]p d v 100 17 18 [sw1-Ethernet0/0/5]int e0/0/1 19 [sw1-Ethernet0/0/1]p l t 20 [sw1-Ethernet0/0/1]p t a v a三层交换机LSW2 设置 设置dhcp 中继
1 [sw2]dhcp enable #开启dhcp 服务 2 [sw1]v b 10 20 100 3 [sw2]int g0/0/1 4 [sw2-GigabitEthernet0/0/1]p l t 5 [sw2-GigabitEthernet0/0/1]p t a v a #将与交换机相连的设置为 trunk 口 6 [sw2]int vlanif 100 7 [sw2-Vlanif10]ip add 192.168.23.254 24 8 [sw2-Vlanif10]dhcp relay serv 9 [sw2-Vlanif10]dhcp relay server-ip 192.168.23.10 #设置dhcp 中继 10 [sw2]int vlanif 10 11 [sw2-Vlanif10]ip add 192.168.10.254 24 12 [sw2-Vlanif10]dhcp relay serv 13 [sw2-Vlanif10]dhcp relay server-ip 192.168.23.10 14 [sw2]int vlanif 20 15 [sw2-Vlanif20]ip add 192.168.20.254 24 16 [sw2-Vlanif20]dhcp relay serv 17 [sw2-Vlanif20]dhcp relay server-ip 192.168.23.10
获取 dhcp
FTP服务–用来传输文件的协议
① FTP服务器默认使用TCP协议的20、21端口与客户端进行通信- 20端口用于建立数据连接,并传输文件数据
- 21端口用于建立控制连接,并传输FTP控制命令
- 主动模式: 服务器主动发起数据连接
- 被动模式: 服务器被动等待数据连接
yum install -y vsftpd cd /etc/vsftpd/ cp vsftpd.conf vsftpd.conf.bak
设置匿名用户访问的FTP服务(最大权限):
#修改配置文件 vim /etc/vs ftpd/vs ftpd.conf anonymous_enable=YES #开启匿名用户访问。默认E开启 write enable=YES #开放服务器的写权限(若要上传,必须开启)。默认已开启 anon umask=022 #设置匿名用户所上传数据的权限掩码(反掩码) anon_ upload_ enable=YES #允许匿名用户.上传文件。默认E已注释,需取消注释 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/vs ftpd. conf local enable=Yes #启用本地用户 anonymous_enable=NO #关闭匿名用户访问 write enable=YES #开放服务器的写权限(若要_上传,必须开启) local_umask=077 #可设置仅宿主用户拥有被上传的文件的权限( 反掩码) chroot_local_user=YES #将访问禁锢在用户的宿主目录中 allow_writeable_chroot=YES #允许被限制的用户主目录具有写权限 重启服务 systemctl restart vsftpd ftp 192.168.80.10 ftp://zhangsan@192.168.80.10 修改匿名用户、本地用户登录的默认根目录 anon root=/ var/ Www/ html #anon_ root 针对匿名用户 local root=/ var/www/html #local_ root 针对系统用户
使用user_list 用户列表文件 vim /etc/vsftpd/user_ list //末尾添加zhangsan用户 zhangsan vim /etc/vsttpd/vsttpd.cont userlist enable=YES #启用user_ list用户列表文件 userlist deny=NO #设置白名单,仅允许user_ list用户列表文件的用户访问。默认为YES,为黑名单,禁用
举例
设置本地用户验证访问ftp,并禁止切换到ftp以外的目录(默认登录的根目录为本地用户的家目录):
设置白名单,仅允许user_ list用户列表文件的用户访问。默认为YES,为黑名单,禁用: