NFS服务和DHCP服务讲解

NFS服务端概述

NFS,是Network File System的简写,即网络文件系统。网络文件系统是FreeBSD支持的文件系统中的一种,也被称为NFS; NFS允许一个系统在网络上与他人共享目录和文件。
模式: C/S 模式
端口:
NFS是Net File System的简写,即网络文件系统.NFS通常运行于2049端口。

部署NFS

由于在使用NFS服务进行文件共享之前,需要使用RPC(Remote Procedure Call,远程过程调用)服务将NFS服务器的IP地址和端口号等信息发送给客户端。因此,在启动NFS服务之前,还需要顺带重启
并启用rpcbind服务程序。
服务器端配置:

第一步:下载nfs和rpcbind
[root@ken test]# yum install nfs-utils rpcbind -y

第二步:配置nfs的文件
[root@ken ~]# vim /etc/exports
/test 192.168.64.5/24(rw)

第三步:重启nfs和rpcbind
[root@ken ~]# systemctl restart rpcbind nfs

客户端配置:

第四步:客户端下载nfs-utils
如果不下载nf会报如下的错误:
[root@ken ~]# mount -t nfs 192.168.64.4:/test /test
mount: wrong fs type, bad option, bad superblock on 192.168.64.4:/test,
missing codepage or helper program, or other error
(for several filesystems (e.g. nfs, cifs) you might
need a /sbin/mount. helper program)
In some cases useful info is found in syslog – try
dmesg | tail or so.
[root@ken ~]# yum install nfs-utils -y

第五步:查看共享的文件信息
[root@ken ~]# showmount -e 192.168.64.4
Export list for 192.168.64.4:
/test 192.168.64.5/24

第六步:挂载NFS至本地
[root@ken ~]# mount -t nfs 192.168.64.4:/test /test
[root@ken ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 17G 1.5G 16G 9% /
devtmpfs 476M 0 476M 0% /dev
tmpfs 488M 0 488M 0% /dev/shm
tmpfs 488M 14M 474M 3% /run
tmpfs 488M 0 488M 0% /sys/fs/cgroup
/dev/sda1 1014M 130M 885M 13% /boot
tmpfs 98M 0 98M 0% /run/user/0
/dev/sr0 4.2G 4.2G 0 100% /mnt
192.168.64.4:/test 17G 1.5G 16G 9% /test

解决NFS文件共享无法创建文件的问题

第一步:客户端测试
[root@ken test]# touch test1
touch: cannot touch ‘test1’: Permission denied

第二步:服务器端更改共享文件的属主
[root@ken test]# chown -R nfsnobody: /test

第三步:客户端再次进行测试
[root@ken test]# touch test1
[root@ken test]# ls
ken test test1

NFS共享给多个客户端

方法一:
[root@ken test]# cat /etc/exports
/test 192.168.64.5/24(rw) 192.168.64.7/24(rw)

方法二:
[root@ken test]# cat /etc/exports
/test 192.168.64.0/24(rw)

方法三:
[root@ken test]# cat /etc/exports
/test *(rw)

NFS服务器共享多个目录

第一步:
[root@ken test]# cat /etc/exports
/test 192.168.64.5/24(rw)
/test1 192.168.64.7/24(rw)

第二步:客户端挂载
[root@ken test]# cat /etc/exports
/test 192.168.64.5(rw)
/test1 192.168.64.7(rw)

第三步:客户端进行验证
[root@ken ~]# mount -t nfs 192.168.64.4:/test1 /test
mount.nfs: access denied by server while mounting 192.168.64.4:/test1
[root@ken ~]# mount -t nfs 192.168.64.4:/test /test
[root@ken ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 17G 1.5G 16G 9% /
devtmpfs 476M 0 476M 0% /dev
tmpfs 488M 0 488M 0% /dev/shm
tmpfs 488M 14M 474M 3% /run
tmpfs 488M 0 488M 0% /sys/fs/cgroup
/dev/sda1 1014M 130M 885M 13% /boot
tmpfs 98M 0 98M 0% /run/user/0
/dev/sr0 4.2G 4.2G 0 100% /mnt
192.168.64.4:/test 17G 1.5G 16G 9% /test

DHCP服务概述

DHCP服务概述:
名称:DHCP  – Dynamic Host Configuration Protocol  动态主机配置协议
功能:DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个局域网的网络协议,使用UDP协议工作, 主要用途:
给内部网络或网络服务供应商自动分配IP地址,主机名,DNS服务器,域名
特点: C/S 模式
自动分配IP地址,方便管理
DHCP不会同时租借相同的IP地址给两台主机;
DHCP管理员可以约束特定的计算机使用特定的IP地址;
可以为每个DHCP作用域设置很多选项;
客户机在不同子网间移动时不需要重新设置IP地址。每次都自动获取IP地址就可以了。
DHCP的缺点:
当网络上存在多服务器时,一个DHCP服务器不能查出已被其它服务器租出去的IP地址;
DHCP服务器不能跨路由器与客户机通信,除非路由器允许BOOTP协议转发。
端口:
DHCP服务使用:端口67(bootps) 68(bootpc) 。

例:查看

vim /etc/services

DHCP协议由 bootp协议发展而来,是BOOTP的增强版本,bootps代表服务端端口, bootpc代表客户端端口
bootp协议:引导程序协议(BOOTP)。它可以让无盘工作站从一个中心服务器上获得IP地址,为局域网中的无盘工作站分配动态IP地址,并不需要每个用户去设置静态IP地址。
DHCP服务运行原理:
运行原理,面试经常问到,需要大家注意下!

image

DHCP Client发现阶段:

即DHCP客户端寻找DHCP服务端的过程,对应于客户端发送DHCP Discovery,因为DHCP Server对应于DHCP客户端是未知的,所以DHCP 客户端发出的DHCP Discovery报文是广播包,源地址为0.0.0.0目的地址为255.255.255.255。网络上的所有支持TCP/IP的主机都会收到该DHCP Discovery报文,但是只有DHCP Server会响应该报文。
注意:客户端执行DHCP DISCOVER 后,如果没有DHCP 服务器响应客户端的请求,客户端会随机使用169.254.0.0/16 网段中的一个IP 地址配置本机地址。
169.254.0.0/16是windows的自动专有IP寻址范围,也就是在无法通过DHCP获取IP地址时,由系统自动分配的IP地址段。

DHCP Server 提供阶段:
DHCP Server提供阶段,即为DHCP Server响应DHCP Discovery所发的DHCP Offer阶段,即DHCP服务器提供IP地址的阶段。在网络中接收到DHCPdiscover发现信息的DHCP服务器都会做出响应,它从尚未出租的IP地址中挑选一个分配给DHCP客户机,向DHCP客户机发送一个包含出租的IP地址和其他设置的DHCPoffer提供信息

DHCP Client 确认阶段:
即DHCP客户机选择某台DHCP服务器提供的IP地址的阶段。如果有多台DHCP服务器向DHCP客户机发来的DHCPoffer提供信息,则DHCP客户机只接受第一个收到的DHCPoffer提供信息,然后它就以广播方式回答一个DHCPrequest请求信息,该信息中包含向它所选定的DHCP服务器请求IP地址的内容。之所以要以广播方式回答,是为了通知所有的DHCP服务器,他将选择某台DHCP服务器所提供的IP地址

DHCP Server确认阶段:
即DHCP服务器确认所提供的IP地址的阶段。当DHCP服务器收到DHCP客户机回答的DHCPrequest请求信息之后,它便向DHCP客户机发送一个包含它所提供的IP地址和其他设置的DHCPack确认信息,告诉DHCP客户机可以使用它所提供的IP地址。然后DHCP客户机便将其TCP/IP协议与网卡绑定,另外,除DHCP客户机选中的服务器外,其他的DHCP服务器都将收回曾提供的IP地址

DHCP Client重新登录网络:
当DHCP Client重新登录后,就不需要再发送DHCP discover发现信息了,而是直接发送包含前一次所分配的IP地址的DHCP request请求信息。当DHCP服务器收到这一信息后,它会尝试让DHCP客户机继续使用原来的IP地址,并回答一个DHCP ack确认信息。如果此IP地址已无法再分配给原来的DHCP客户机使用时(比如此IP地址已分配给其它DHCP客户机使用),则DHCP服务器给DHCP客户机回答一个DHCP nack否认信息。当原来的DHCP客户机收到此DHCP nack否认信息后,它就必须重新发送DHCP discover发现信息来请求新的IP地址。

DHCP Client更新租约:
DHCP获取到的IP地址都有一个租约,租约过期后,DHCP Server将回收该IP地址,所以如果DHCP Client如果想继续使用该IP地址,则必须更新租约。更新的方式就是,当当前租约期限过了一半后,DHCP Client都会发送DHCP Renew报文来续约租期。

部署DHCP服务

实验环境:
我的虚拟机使用桥接模式是否可行? 不行,因为你的局域网中有可能就有DHCP服务器,这样你就很难,让你的客户端是从你的DHCP服务器获得IP地址。
另外,也可能造成公司局域网中其它机器因为获得了你DHCP服务器上的IP地址,而上不了网。可以选择仅主机模式或者自定义模式。
我使用了两台仅主机模式的虚拟机
服务器端定义静态IP(xshell可连接)
客户端设置成DHCP自动获取(重启网卡会失败,等待配置完成DHCP服务器端后再重启网卡!)
关掉仅主机模式虚拟机自带的DHCP

image

服务器端操作

第一步:安装dhcp
[root@ken ~]# yum install dhcp -y

第二步:查看配置文件
[root@ken ~]# cat /etc/dhcp/dhcpd.conf
DHCP Server Configuration file.
see /usr/share/doc/dhcp*/dhcpd.conf.example
see dhcpd.conf(5) man page

第三步:导入样本文件
[root@ken ~]# cat /usr/share/doc/dhcp*/dhcpd.conf.example >> /etc/dhcp/dhcpd.conf

第四步:编辑配置文件
[root@ken ~]# vim /etc/dhcp/dhcpd.conf
subnet 10.5.5.0 netmask 255.255.255.224 { #定义子网
range 10.5.5.26 10.5.5.30; #定义IP资源池
option domain-name-servers ns1.internal.example.org; #定义DNS地址
option domain-name “internal.example.org”; #定于域名
option routers 10.5.5.1; #定义网关
option broadcast-address 10.5.5.31; #定义广播地址
default-lease-time 600; #默认租约
max-lease-time 7200; #最大租约
}
subnet 192.168.64.0 netmask 255.255.255.0 {
range 192.168.64.20 192.168.64.40;
default-lease-time 600;
max-lease-time 7200;
}
第五步:重启DHCP服务
[root@ken ~]# systemctl restart dhcpd

第六步:客服端使用DHCP服务(添加网卡)

第七步:修改客户端网络配置文件为dhcp

image

第八步:重启客户端网络
[root@ken ~]# systemctl restart network

第九步:查看获取到的IP

image

仅主机摸下的无IP服务器设置为DHCP服务器

第一步:创建网卡配置文件
[root@ken network-scripts]# cp ifcfg-eth0 ifcfg-eth1

第二步:编辑网卡配置文件
[root@ken network-scripts]# cat ifcfg-eth1
DEVICE=”eth1″
ONBOOT=yes
NETBOOT=yes
BOOTPROTO=static
TYPE=Ethernet
IPADDR=192.168.182.3
NETMASK=255.255.255.0

第三步:重启network
[root@ken network-scripts]# systemctl restart network

第四步:重新配置DHCP服务
subnet 192.168.182.0 netmask 255.255.255.0 {
range 192.168.182.10 192.168.182.20;
default-lease-time 600;
max-lease-time 7200;
}

第五步:重启DHCP服务
[root@ken network-scripts]# systemctl restart dhcpd

第六步:客户端添加网卡

SCP用法

常用选项:
-r: 复制目录时使用
-P:大写的P指定端口

第一种用法:发送本地文件到远程服务器
[root@ken ~]# scp a.out 192.168.64.5:/root
a.out 100% 0 0.0KB/s 00:00

第二种用法:拉取远程服务器文件到本地
[root@ken ~]# scp 192.168.64.5:/root/test2 .
test2 100% 4 0.4KB/s 00:00
[root@ken ~]# ls
test2

第三种: 拉取远程服务器目录到本地
[root@ken ~]# scp -r 192.168.64.5:/root/ken1 .
1.txt 100% 0 0.0KB/s 00:00
2.txt 100% 0 0.0KB/s 00:00
3.txt 100% 0 0.0KB/s 00:00
4.txt 100% 0 0.0KB/s 00:00
5.txt 100% 0 0.0KB/s 00:00
[root@ken ~]# ls
ken1 test2

第四种用法:发送本地目录到远程服务器
[root@ken ~]# scp -r ken 192.168.64.5:/root

posted @ 2019-07-03 15:08  BeiteJohn  阅读(422)  评论(0编辑  收藏  举报