NFS和DHCP服务

时间:2022-05-07 06:49:24

1. NFS

  NFS,Network File System的简写,即网络文件系统。网络文件系统是FreeBSD支持的文件系统中的一种,也被称为NFS; NFS允许一个系统在网络上与他人共享目录和文件。

  模式: C/S 模式

  端口: NFS是Net File System的简写,即网络文件系统。NFS通常运行于2049端口。

  nfs共享服务:linux与linux之间文件的共享

1.1 部署NFS

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

192.168.16.3为服务端; 192.1268.16.4、192.168.16.6为客户端

[root@localhost yum.repos.d]# yum install rpcbind nfs-utils -y    #下载安装
[root@localhost yum.repos.d]# mkdir /test
[root@localhost yum.repos.d]# mkdir /zxj1
[root@localhost yum.repos.d]# vim /etc/exports #配置文件
/test 192.168.16.4(rw) #共享多个目录
/zxj1 192.168.16.6(rw)
:wq
[root@localhost yum.repos.d]# chown -R nfsnobody: /test #更改属组
[root@localhost yum.repos.d]# chown -R nfsnobody: /zxj1 #默认,nobody
[root@localhost ~]# ls -ld /test
drwxr-xr-x. nfsnobody nfsnobody apr : /test
[root@localhost ~]# ls -ld /zxj1
drwxr-xr-x. nfsnobody nfsnobody apr : /zxj1
[root@localhost ~]# systemctl restart rpcbind nfs #重启nfs
[root@localhost ~]# setenforce #关闭防火墙
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# showmount -e 192.168.16.3 #查看共享,分享端是.3
Export list for 192.168.16.3: #出口列表
/zxj1 192.168.16.6 #共享列表
/test 192.168.16.4

在客户端创建挂载点,将服务端挂载:

[root@localhost ~]# yum install nfs-utils -y                     #需要下载nfs组件
[root@localhost ~]# mkdir /guazai
.:[root@localhost ~]# mount -t nfs 192.168.16.3:/test /guazai
.:[root@localhost ~]# mount -t nfs 192.168.16.3:/zxj1 /guazai # -t表示类型

测试:服务端在/test下创建一个文件 test.txt,客户端.4在挂载目录下可以接收到该文件

.:[root@localhost ~]# touch /test/test.txt
.:[root@localhost test]# cd /guazai
[root@localhost guazai]# ls
test.txt #客户端.6在挂载目录下创建文件zxj1.txt,服务端在/zxj1下可接收到该文件
.:[root@localhost ~]# touch /guazai/zxj1.txt
.:[root@localhost ~]# cd /zxj1
[root@localhost zxj1]# ls
testtest test.txt zxj1.txt

/test 192.168.16.4  :给特定的IP分享,rw表示权限

/test  *(rw) :给所有ip 共享  ;/test 192.168.16.0/24(rw):设置多个网络

2. DHCP

2.1  概述

  DHCP,Dynamic Host Configuration Protocol ,动态主机配置协议。

  功能:DHCP是一个局域网的网络协议,使用UDP协议工作,主要用在给内部网络或网络服务供应商自动分配iP地址,主机名,DNS服务器,域名。

  模式: C/S 模式。

  特点:自动分配IP地址,方便管理;DHCP不会同时租借相同的IP地址给两台主机;DHCP管理员可以约束特定的计算机使用特定的IP地址;可以为每个DHCP作用域设置很多选项;客户机在不同子网间移动时不需要重新设置IP地址,每次都自动获取IP地址。

  缺点:当网络上存在多服务器时,一个DHCP服务器不能查出已被其它服务器租出去的iP地址;DHCP服务器不能跨路由器与客户机通信,除非路由器允许BOOTP协议转发。

  端口:DHCP服务使用端口67(bootps) 68(bootpc) 。

  查看:# vim /etc/services

  DHCP协议由 bootp协议发展而来,是BOOTP的增强版本,bootps代表服务端端口, bootpc代表客户端端口;

  bootp协议:引导程序协议(BOOTP)。它可以让无盘工作站从一个中心服务器上获得iP地址,为局域网中的无盘工作站分配动态IP地址,并不需要每个用户去设置静态iP地址。

2.2  工作原理(面试):

NFS和DHCP服务

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报文来续约租期。

2.3  部署DHCP服务

 1)实验环境:仅主机模式;

 2)使用192.168.16.6、.7两台虚拟机;.6为服务端,.7位客户端

 3)关闭虚拟机,关闭VMware仅主机DHCP;

NFS和DHCP服务

4)添加网络适配器,选择仅主机模式

.6:#有两个网卡,仅主机网卡没有IP,

[root@localhost ~]# ip a
: lo: <lOOPBaCK,UP,lOWER_UP> mtu qdisc noqueue state UNKNOWN qlen
link/loopback ::::: brd :::::
inet 127.0.0.1/ scope host lo
valid_lft forever preferred_lft forever
inet6 ::/ scope host
valid_lft forever preferred_lft forever
: ens33: <BROaDCaST,MUlTiCaST,UP,lOWER_UP> mtu qdisc pfifo_fast state UP qlen
link/ether :::2e:a5: brd ff:ff:ff:ff:ff:ff
inet 192.168.16.6/ brd 192.168.16.255 scope global ens33
valid_lft forever preferred_lft forever
inet6 fe80:::56ff:fe2e:a566/ scope link
valid_lft forever preferred_lft forever
: ens37: <BROaDCaST,MUlTiCaST,UP,lOWER_UP> mtu qdisc pfifo_fast state UP qlen
link/ether :0c:::: brd ff:ff:ff:ff:ff:ff
inet6 fe80::2a5a:b7d3:d920:cf90/ scope link
valid_lft forever preferred_lft forever #配置仅主机模式网卡,IP与vmnet1同网段 #进入网卡配置目录,复制一份网卡配置文件
[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# cp ifcfg-ens33 ifcfg-ens37
[root@localhost network-scripts]# vim ifcfg-ens37
TYPE=Ethernet
DEViCE="eth37"
BOOTPROTO=static
ONBOOT=yes
IPADDR=169.254.200.6
NETMASK=255.255.0.0
NETBOOT=yes
:wq
[root@localhost network-scripts]# systemctl restart network
[root@localhost ~]# ip a
: ens37: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu qdisc pfifo_fast state UP qlen
link/ether :0c:::: brd ff:ff:ff:ff:ff:ff
inet 169.254.200.6/ brd 169.254.255.255 scope link ens37 .:
[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# cp ifcfg-ens33 ifcfg-ens37
TYPE=Ethernet
BOOTPROTO=dhcp
DEVICE="ens3"
ONBOOT=yes
NETBOOT=yes
:wq #不需要重启网卡

2.5 配置

服务机 .6

[root@localhost ~]# mount /dev/cdrom /mnt         #挂载
[root@localhost ~]# yum install dhcp -y #下载安装
[root@localhost ~]# vim /etc/dhcp/dhcpd.conf #配置
DHCP Server Configuration file.
# see /usr/share/doc/dhcp*/dhcpd.conf.example
# see dhcpd.conf() man page
[root@localhost ~]# vim /usr/share/doc/dhcp*/dhcpd.conf.example #查看指定文件

#导入、复制到配置文件下
[root@localhost ~]# vim /etc/dhcp/dhcpd.conf
:r /usr/share/doc/dhcp*/dhcpd.conf.example
#导入/usr/share/doc/dhcp*/dhcpd.conf.example的文件内容
subnet 10.5.5.0 netmask 255.255.255.224 { #删至此处,只保留大括号部分
range 10.5.5.26 10.5.5.30;
option domain-name-servers ns1.internal.example.org;
option domain-name "internal.example.org";
option routers 10.5.5.1;
option broadcast-address 10.5.5.31;
default-lease-time ;
max-lease-time ;
}
#修改为:
subnet 169.254.0.0 netmask 255.255.0.0 {
range 169.254.1.10 169.254.1.20;
default-lease-time ; #默认租约,600s
max-lease-time ;
}
[root@localhost ~]# systemctl restart dhcpd #重启dhcp
若客户端 能够或的169.254.10到169.254.20间的ip则成功

客户端 .7

[root@localhost network-scripts]# systemctl restart network    #重启网卡
[root@localhost network-scripts]# ip a
: ens37: <BROaDCaST,MUlTiCaST,UP,lOWER_UP> mtu qdisc pfifo_fast state UP qlen
link/ether :0c::::af brd ff:ff:ff:ff:ff:ff
inet 169.254.1.10/ brd 169.254.255.255 scope link dynamic ens37
valid_lft 462sec preferred_lft 462sec
inet6 fe80::8f00::1b40:fbbd/ scope link
valid_lft forever preferred_lft forever

3.scp用法

scp可以实现远程主机之间的文件复制(远程传输文件)

scp使用ssh协议,所有想要免密进行复制,需要发送秘钥给相应的节点

scp使用格式:

  scp [user@]host1:]file1 ... [[user@]host2:]file2

常用选项:

  -r: 复制目录时使-用

  -P:大写的P指定端口

3.1 发送秘钥

[root@localhost ~]# ssh-keygen
[root@localhost ~]# sshd-copy-id 192.168.16.7

3.2  主机下创建测试文件

[root@localhost ~]# touch test
[root@localhost ~]# echo "test123123" > test

3.3  发送文件

[root@localhost ~]# scp test 192.168.16.7:/root
test % .0KB/s :

3.4  .7端查看

[root@localhost ~]# pwd
/root
[root@localhost ~]# ls
anaconda-ks.cfg test
[root@localhost ~]# cat test
test123123 #成功!

可以用这种方式进行批量化配置

3.5 拉取远程节点文件到本地

1)在.7下创建测试文件

[root@localhost ~]# echo "" > test

2)在.6下将文件拉回到本地

[root@localhost ~]# scp 192.168.16.7:/root/test  .     #后面跟点号(.)
test % .0KB/s :
[root@localhost ~]# ls
192.168.16.7 anaconda-ks.cfg test
[root@localhost ~]# cat test [root@localhost ~]#

3.6  发送主机文件到本机节点

1)创建本地测试文件

[root@localhost ~]# touch sss

2)发送到远程节点

[root@localhost ~]# scp  sss  192.168.16.7:/root
sss % .0KB/s :

3)远程节点查看

[root@localhost ~]# pwd
/root
[root@localhost ~]# ls
anaconda-ks.cfg sss test #成功!

拉取和发送操作对目录文件操作是均加 -r。

错误点1

重启网卡失败、开机IP丢失是由于网卡与NetworkManager冲突。

解决办法:关掉NetworkManager

  systemctl stop NetworkManager

  systemctl disable NetworkManager

NFS和DHCP服务的更多相关文章

  1. nfs与dhcp服务

    NFS服务端概述 NFS,是Network File System的简写,即网络文件系统.网络文件系统是FreeBSD支持的文件系统中的一种,也被称为NFS: NFS允许一个系统在网络上与他人共享目录 ...

  2. NFS服务和DHCP服务讲解&lpar;week3&lowbar;day2&rpar;--技术流ken

    NFS服务端概述 NFS,是Network File System的简写,即网络文件系统.网络文件系统是FreeBSD支持的文件系统中的一种,也被称为NFS: NFS允许一个系统在网络上与他人共享目录 ...

  3. 末学者笔记--NFS服务和DHCP服务讲解

    NFS服务端概述 一.概念: NFS,是Network File System的简写,即网络文件系统.网络文件系统是FreeBSD支持的文件系统中的一种,也被称为NFS:NFS允许一个系统在网络上与他 ...

  4. linux服务nfs与dhcp篇

    nfs复习: 1.简介:用于liunx与linux之间的文件传输系统 2.下载nfs-utils和rpcbind 3.打开配置文件/etc/exports——文件名(目录名)共享给予的ip地址(rw) ...

  5. NFS服务和DHCP服务讲解

    1.NFS服务端概述 NFS,是Network File System的简写,即网络文件系统.网络文件系统是FreeBSD支持的文件系统中的一种,也被称为NFS: NFS允许一个系统在网络上与他人共享 ...

  6. PXE 自动安装物理机 &lpar;DHCP服务由路由提供&comma; 不能再配置&rpar;

    目录 1. PXE 自动安装物理机 (DHCP服务由路由提供, 不能再配置) 1.1. 需要的软件 1.2. 启动 proxy dhcp 服务 1.3. 关键的几个配置文件 PXE 自动安装物理机 ( ...

  7. 用 namspace 隔离 DHCP 服务 - 每天5分钟玩转 OpenStack(90)

    Neutron 通过 dnsmasq 提供 DHCP 服务,而 dnsmasq 如何独立的为每个 network 服务呢? 答案是通过 Linux Network Namespace 隔离,本节将详细 ...

  8. 配置 DHCP 服务 - 每天5分钟玩转 OpenStack(89)

    前面章节我们看到 instance 在启动过程中能够从 Neutron 的 DHCP 服务获得 IP,本节将详细讨论其内部实现机制. Neutron 提供 DHCP 服务的组件是 DHCP agent ...

  9. linux下DHCP服务原理总结

    DHCP(全称Dynamic host configuration protocol):动态主机配置协议DHCP工作在OSI的应用层,可以帮助计算机从指定的DHCP服务器获取配置信息的协议.(主要包括 ...

随机推荐

  1. ng-option指令使用记录,设置默认值需要注意

    ng-options一般有以下用法: 数组作为数据源: label for value in array select as label for value in array label group ...

  2. 在gridControl的单元格中的多行文本

    我们知道,gridcontrol里面的单元格默认是不能换行的,但是有时候我们需要显示要换行的文本,应该怎么处理呢?这里提供一个方案: 假设我有一个列”合同文本“(colContractText),我要 ...

  3. mysql 按时间段统计(年,季度,月,天,时)

    按年汇总,统计: select sum(mymoney) as totalmoney, count(*) as sheets from mytable group by date_format(col ...

  4. UITabBarController底层实现

    1.首先要了解:任何控制器,都能添加子控制器      UIViewController里面有一个方法:     - (void)addChildViewController:(UIViewContr ...

  5. vs2015编译boost 64位

    ---恢复内容开始--- step 1: 打开Developer Command Prompt for VS2015命令行窗口 step 2: 执行bootstrap.bat,产生bjam.exe s ...

  6. Python Counter&lpar;&rpar; 的实现

    Table of Contents 1. collections.Counter 源码实现 1.1. __init__ 1.2. update 1.3. most_common 1.3.1. item ...

  7. SqlServer将日期格式DateTime转换成varchar类型

    Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM Select CONVERT(varchar(100), GETDATE( ...

  8. CSS实现文字上标、下标

    .sup{vertical-align:super; color:red; font-size:9px; font-family:Arial, Helvetica, sans-serif; margi ...

  9. discuz论坛目录功能详解

    在某处收集来的discuz目录资料,二次开发挺有用的.记录下.(基于7.0的标准程序,部分与插件无关的文件不作说明) 文件颜色说明: 红色:程序核心文件,修改这类文件时千万要注意安全! 橙色:做插件几 ...

  10. webpack学习笔记 &lpar;二&rpar; html-webpack-plugin使用

    这个插件的两个作用: 为html文件中引入的外部资源如script.link动态添加每次compile后的hash,防止引用缓存的外部文件问题 可以生成创建html入口文件,比如单页面可以生成一个ht ...