• DHCP原理与配置


    DHCP

    dhcp:动态主机配置协议         专门用于为TIP/IP网络参数

    给网络的客户机自动分配IP地址

    DHCP是采用的UDP作为传输层协议        服务端端口67         客户端端口68

    好处:减少管理员工作量

            避免输错的可能性

            避免IP地址冲突

            提高了IP地址的利用率

    DHCP分配方式

    自动分配        手动分配        动态分配

    工作过程:

    工作原理

                    1.客户端通过广播发送DISCOVER报文寻找服务端

                     2.服务端通过广播发送DHCO OFFER报文向客户端提供的地址池中挑选可以IP

                    3.客户端只接受第一个收到OFFER的报文并提取IP地址 然后通过广播发送DHCP Request报文告知服务器

                    4.服务端通过广播发送DHCP ARP报文告知客户端IP是否合法可用

    安装配置DHCP

    首先第一步先把防火墙关闭

    systemctl disable --now firewalld

    setenforce 0

    vim /etc/selinux/config进入之后修改SELINUX=enforcing        修改成SELINUX=disabled

    然后安装yum安装dhcp-4.2.5-83.el7.centos.1.x86_64.rpm

    安装完毕只用用 rmp -qpc查看文件在那个目录

    1. [root@localhost Packages]# rpm -qpc dhcp-4.2.5-83.el7.centos.1.x86_64.rpm
    2. /etc/dhcp/dhcpd.conf
    3. /etc/dhcp/dhcpd6.conf
    4. /etc/openldap/schema/dhcp.schema
    5. /etc/sysconfig/dhcpd
    6. /var/lib/dhcpd/dhcpd.leases
    7. /var/lib/dhcpd/dhcpd6.leases

    然后cd到这个目录

    1. [root@localhost Packages]# cd /etc/dhcp/
    2. [root@localhost dhcp]# ls
    3. dhclient.d dhclient-exit-hooks.d dhcpd6.conf dhcpd.conf scripts
    4. [root@localhost dhcp]# vim /etc/dhcpd.conf
    5. [root@localhost dhcp]# vim dhcpd.conf

    这时候我们会发现这个目录是空的

    然后我们再cd到第二行给的提示的目录里

    1. [root@localhost share]# cd /usr/share/doc/
    2. [root@localhost doc]# ls dhcp*
    3. dhcp-4.2.5:
    4. dhcpd6.conf.example dhcpd.conf.example ldap
    5. dhcp-common-4.2.5:
    6. LICENSE README References.txt RELNOTES

    这时候我们就找到dhcp的配置文件了 然后再cp到dhcp-4.2.5/目录 然后再vim进去

    1. [root@localhost dhcp-4.2.5]# ls
    2. dhcpd6.conf.example dhcpd.conf.example ldap
    3. [root@localhost dhcp-4.2.5]# vim dhcpd.conf.example

    然后我们吧这个配置文件cp过去

    1. [root@localhost dhcp-4.2.5]# cp dhcpd.conf.example /etc/dhcp/dhcpd.conf
    2. cp:是否覆盖"/etc/dhcp/dhcpd.conf"? yes

    然后我们再cd到那个目录 这时候我们就可以看见这个配置文件然后vim进去

    1. [root@localhost dhcp-4.2.5]# cd /etc/dhcp/
    2. [root@localhost dhcp]# ls
    3. dhclient.d dhcpd6.conf dhcpd.confn
    4. dhclient-exit-hooks.d dhcpd.conf scripts
    5. [root@localhost dhcp]# vim dhcpd.con
    1. option domain-name "example.org";
    2. option domain-name-servers ns1.example.org, ns2.example.org;
    3. 这是dns的服务器域名
    4. 这里用不到可用先用#进行注释
    1. default-lease-time 6400; #默认租约时间
    2. max-lease-time 720000; #最多租约时间
    3. ddns-update-style none; #禁止dns动态更新
    4. log-facility local7; #日志
    5. subnet 10.152.187.0 netmask 255.255.255.0 {
    6. } #子网段配置
    7. subnet 10.254.239.0 netmask 255.255.255.224 {
    8. range 10.254.239.10 10.254.239.20;
    9. option routers rtr-239-0-1.example.org, rtr-239-0-2.example.org;
    10. }
    11. subnet:表示子网的配置
    12. netmask :表示掩码
    13. range:表示设置子网池的起始和终止IP
    14. option router:表示设置默认的网关地址
    15. option broadcast-address 10.254.239.31; #表示设置广播地址
    1. option domain-name "ren1.com";
    2. option domain-name-servers 8.8.8.8, 144.144.144.144;
    3. default-lease-time 6400;
    4. max-lease-time 720000;
    5. 这些配置叫全局默认配置 当你再服务器没有进行别的dns配置时这个配置就是你全局的配置
    6. 如果有别的有别的子网配置就会使用别的子网配置
    7. host fantasia {
    8. hardware ethernet 08:00:07:26:c0:a5;
    9. fixed-address fantasia.fugue.com;
    10. }
    11. host:表示手动配置
    12. hardware ethernet:表示硬件地址
    13. fixed-address fantasia.fugue.com;:表示固定的地址
    14. 然后修改这个配置
    15. # This is a very basic subnet declaration.
    16. subnet 192.168.80.99 netmask 255.255.255.0 {
    17. range 192.168.80.100, 192.168.80.200;
    18. option routers 192.168.80.2;
    19. }
    20. 保存退出

    然后验证的时候由于我们虚拟机网络用的nat模式所以我们要关闭虚拟机网络

    当我们修改完之后我们的终端软件会断开 这时候打开本机然后修改网络适配器选择IPV4进行手工修改

    然后重启配置文件 systemctl restart dhcpd

    然后我们本机设置好了去别的虚拟机在操作

    先 vim ifcfg (网卡)         然后配置成这样

    然后我们就配置好了

    FTP:文件传输协议

    FTP协议采用的是TCP作为传输协议 21端口用来传输FTP        20端口用来传输文件数据

    FTP传输模式:
    主动模式:FTP服务端接收下载控制命令后 会主动从tcp/20号端口发送数据传输给客户端
    被动模式:FTP服务端接收下载控制命令  会开启一个空闲端口被动等待客户端数据传输连接

    实验:

    先进行初始化配置:

    1. [root@localhost ~]# systemctl stop firewalld
    2. [root@localhost ~]# systemctl disable firewalld.service
    3. Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
    4. Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
    5. [root@localhost ~]# setenforce 0
    6. [root@localhost ~]# vim /etc/selinux/config
    7. 设置成SELINUX=disabled

    然后yum安装

    1. [root@localhost ~]# cd /mnt/Packages/
    2. [root@localhost Packages]# cd -
    3. /root
    4. [root@localhost ~]# ls | grep vsftp
    5. [root@localhost ~]# cd /mnt/Packages/
    6. [root@localhost Packages]# ls | grep vsftp
    7. vsftpd-3.0.2-29.el7_9.x86_64.rpm
    8. [root@localhost Packages]# yum install -y vsftp
    9. [root@localhost Packages]# rpm -qpc vsftpd-3.0.2-29.el7_9.x86_64.rpm
    10. /etc/logrotate.d/vsftpd
    11. /etc/pam.d/vsftpd
    12. /etc/vsftpd/ftpusers
    13. /etc/vsftpd/user_list
    14. /etc/vsftpd/vsftpd.conf
    15. [root@localhost Packages]# cd /etc/vsftpd/
    16. [root@localhost vsftpd]# ls
    17. ftpusers user_list vsftpd.conf vsftpd_conf_migrate.sh
    18. [root@localhost vsftpd]#
    19. 由于他只有一个文件 所以我们先备份
    20. [root@localhost vsftpd]# cp vsftpd.conf{,.bak}
    21. [root@localhost vsftpd]# ls
    22. ftpusers user_list vsftpd.conf vsftpd.conf.bak vsftpd_conf_migrate.sh
    23. 然后我们进去修改配置文件
    24. [root@localhost vsftpd]# vim vsftpd.conf
    25. anonymous_enable=YES #匿名登录
    26. local_enable=YES #本地登录
    27. write_enable=YES #是否开放htp写的权限
    28. local_umask=022 #文件默认权限
    29. 然后打开#anon_upload_enable=YES #允许匿名用户上传文件
    30. 再打开#anon_mkdir_write_enable=YES #允许用户上传目录
    31. # Uncomment this if you want the anonymous FTP user to be able to create
    32. # new directories.
    33. anon_mkdir_write_enable=YES
    34. 在这后面加一行
    35. anon_other_write_enable=YES #除了创建目录以为能进行删除重命名等
    36. #
    37. 再在之后添加一行
    38. anon_root=/var/ftp #表示上传的目录在哪

    然后重启配置

    1. [root@localhost vsftpd]# vim vsftpd.conf
    2. [root@localhost vsftpd]# vim vsftpd.conf
    3. [root@localhost vsftpd]# systemctl start vsftpd
    4. [root@localhost vsftpd]# systemctl enable vsftpd
    5. Created symlink from /etc/systemd/system/multi-user.target.wants/vsftpd.service to /usr/lib/systemd/system/vsftpd.service.

    我们在本机上面输入win+r 然后输入cmd 然后ping一下自己的服务器是否能拼通

    然后用pwd查看自己所在位置

    这里的根目录不是我们Linux系统的根目录

    是linux这里的目录 这时候我们在Linux中ftp目录创建一个目录

    在本机用ls查看

    这时候我们在Linux中创建一个 看看本机是否能下载

    1. [root@localhost ftp]# echo 'ren2 123654' >ren2.txt
    2. [root@localhost ftp]# ls
    3. pub ren101 ren2.txt

    这时候我们就传输完毕了 这时我们打开此电脑到用户下面就可以看见了

    windowsFTP控制命令:pwd   ls   get   put   quit

    允许匿名用户访问FTP服务器           anonymous_enable=YES      anno_root=
    允许服务端本地用户访问FTP服务器     local_enable=YES          local_root=

    user_list文件作为黑名单       userlist_enable=YES    userlist_deny=YES   
    user_list文件作为白名单       userlist_enable=YES    userlist_deny=NO 

    listen_port=2121      #设置监控端口
    max_clients=100       #最大连接数
    max_per_ip=5          #每个IP的最大连接数

  • 相关阅读:
    一、MongoDB安装(CentOS7)
    selenium模拟登录无反应
    Vue和React中常用的组件间通信方式
    没什么。。。。
    Python通过pyecharts对爬虫房地产数据进行数据可视化分析(一)
    ▶《强化学习的数学原理》(2024春)_西湖大学赵世钰 Ch2 贝尔曼公式
    【Aurora 8B/10B IP(1)--初步了解】
    一文了解SpringBoot如何开启热部署
    从文心大模型4.0与FuncGPT:用AI为开发者打开新视界
    Leetcode—392.判断子序列【简单】
  • 原文地址:https://blog.csdn.net/m0_65865977/article/details/138153455