zoukankan      html  css  js  c++  java
  • Linux服务之DHCP服务篇(scp)

    一、概念

    名称:DHCP----Dynamic Host Configuration Protocol 动态主机配置协议

    功能:DHCP是一个局域网的网络协议,使用UDP协议工作

    主要用途:给内部网络或网络服务供应商自动分配IP地址,主机名,DNS服务器,域名

    特点 C/S 模式

    1、自动分配IP地址,方便管理

    2DHCP不会同时租借相同的IP地址给两台主机;

    3DHCP管理员可以约束特定的计算机使用特定的IP地址;

    4、可以为每个DHCP作用域设置很多选项;

    5、客户机在不同子网间移动时不需要重新设置IP地址。每次都自动获取IP地址就可以了。

    DHCP缺点

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

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

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

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

    二、DHCP服务运行原理

    1DHCP 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/16windows的自动专有IP寻址范围,也就是在无法通过DHCP获取IP地址时,由系统自动分配的IP地址段。

    2DHCP Server 提供阶段:

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

    3DHCP Client 确认阶段:

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

    4DHCP Server确认阶段:

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

    5DHCP 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地址。

    6DHCP Client更新租约:

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

    三、部署DHCP服务

    实验环境:

    我的虚拟机使用桥接模式是否可行? 不行,因为你的局域网中有可能就有DHCP服务器,这样你就很难,让你的客户端是从你的DHCP服务器获得IP地址。另外,也可能造成公司局域网中其它机器因为获得了你DHCP服务器上的IP地址,而上不了网。可以选择仅主机模式或者自定义模式。

    客户端设置成DHCP自动获取(重启网卡会失败,等待配置完成DHCP服务器端后再重启网卡!)

    1.检查环境

    2.安装服务

    yum -y install dhcp

    3.编辑配置文件(dhcp不能直接启动)

    cat /etc/dhcp/dhcpd.conf

    cat /usr/share/doc/dhcp*/dhcpd.conf.example > /etc/dhcp/dhcpd.conf

    vim /etc/dhcp/dhcpd.conf

    ########################

    option domain-name "example.org";

    option domain-name-servers ns1.example.org, ns2.example.org;

    default-lease-time 600;

    max-lease-time 7200;

    log-facility local7;

    subnet 192.168.10.0 netmask 255.255.255.0 {  #必须是自己网卡所在的网段之内

      range 192.168.10.245 192.168.10.250;        #ip分配的范围   

    }

    #########################

    4.启动服务

    systemctl start dhcpd      #注意有个d

    systemctl enable dhcpd

    5.添加防火墙

    netstat -anp|grep dhcp

    firewall-cmd --add-port=67/udp

    firewall-cmd --add-port=67/udp --permanent

    firewall-cmd --add-server=dhcp

    6.验证(客户端)

    修改其他虚拟机ifcfg文件

    BOOTPROTO=dhcp

    systemctl restart network

    dhclient -r          #释放IP

    dhclient              #获取IP

    四、scp用法

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

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

    scp使用格式:

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

    常用选项:

      -r: 复制目录时使用

      -P:大写的P指定端口

    1scp发送主机文件到远程节点

    scp /root/test 192.168.64.5:/tmp

    2scp拉取远程节点文件到本地

    scp  192.168.64.7:/root/test /tmp/

    3scp复制本地目录到远程节点

    scp -r ken 192.168.64.7:/root/    #需要加上选项-r

    4scp远程节点目录到本机

    scp -r root@192.168.64.7:/tmp/test /tmp/

  • 相关阅读:
    printcap
    browser-ua
    PHP 开发 APP 接口 学习笔记与总结
    Java实现 LeetCode 72 编辑距离
    Java实现 LeetCode 72 编辑距离
    Java实现 LeetCode 72 编辑距离
    Java实现 LeetCode 71 简化路径
    Java实现 LeetCode 71 简化路径
    Java实现 LeetCode 71 简化路径
    Java实现 LeetCode70 爬楼梯
  • 原文地址:https://www.cnblogs.com/renyz/p/11285025.html
Copyright © 2011-2022 走看看