Centos-DHCP、FTP和DNS搭建与配置

0x00 前言

记录一下,Linux网络与集群管理这门课程的一些服务搭建与管理配置。以下服务都是在Centos进行搭建的。

0x01 DHCP服务器的搭建与配置

DHCP服务器作用:
为大量客户机自动分配地址,提供集中管理
减轻管理和维护成本、提高网络配置效率
DHCP原理
在这里插入图片描述
OFFER只有ip、ACK分配DNS等。
DHCP相关配置
1、端口:udp67 udp68
2、服务: dhcp dhrelay
3、配置文件:/etc/dhcp/dhcpd.conf
​4、中继文件:/etc/sysconfig/dhcrelay

1、DHCP安装

yum –y install dhcp

在这里插入图片描述

2、DHCP配置

1.查找并复制模板文件

#查找dhcp服务的配置模版文件。example有的是sample、
rpm -ql dhcp | grep dhcpd.conf.example
#复制配置模板并到/etc/dhcp/dhcpd.conf
cp -rf /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf

在这里插入图片描述
2.修改dhcp配置文件

#修改dhcp配置文件,全局配置,在配置文件修改以下内容
vi /etc/dhcp/dhcpd.conf

subnet 192.168.1.0 netmask 255.255.255.0 { #网段声明 subnet +网段 netmask+子网掩码
range 192.168.1.100 192.168.1.200; #设置用于分配的ip地址池
option domain-name-servers 2.2.2.2, 3.3.3.3; #配置DNS 服务器
option routers 192.168.1.255; #设置客户机的默认网关
#option broadcast-address #广播地址
default-lease-time 600; #默认租约时间
max-lease-time 7200; #指定最大租赁时间长度
}

#host qwzf { #主机声明,"qwzf"自己起的名字
#hardware ethernet MAC地址 #指定其它pc(打印机)mac地址
#fixed-address 192.168.1.100; #固定地址
#}

3.启动dhcp、检查和关闭防火墙

service dhcpd start #启动
netstat -anpu | grep dhcp #查看67端口是否工作
systemctl stop firewalld #关闭防火墙
setenforce 0 #关闭selinux防火墙

3、客户端验证

分别用Centos Linux和Win7进行验证。
1.Centos
(1)编辑网卡配置文件

vi /etc/sysconfig/network-scripts/ifcfg-eth0

(2)修改配置文件

ONBOOT=yes是指系统启动时激活此设备
BOOTPROTO=dhcp是指网卡的获取IP方式为dhcp
想要改成静态获取的,可以把这个值设为static

(3)保存退出,重启网卡

service network restart

当然也可以用

ifup #或ifconfig eth0 up
ifdown #或ifconfig eth0 down
#激活与关闭某个网络适配卡

在客户端输入ifconfig,可以看到成功分配ip。
当然,如果不放心。可以复制客户端的mac地址,在服务器端粘贴mac,并配置指定分配ip。从而可以在客户端看到分配的指定ip。
2.Win7
直接在控制面板->网络和 Internet->网络连接。选择相应网卡,配置成自动获取ip,然后重启网卡。然后就可以看到成功分配ip。
在这里插入图片描述

4、DHCP中继服务器

因为配置需要的虚拟机过多,这里就不验证了。可以参考下面的博客:
CentOS7.3下关于DHCP中继代理服务器的详细配置

0x02 FTP服务器的搭建与配置

1、概述

在这里插入图片描述
File Transfer Protocol(文件传输协议),用于Internet上的控制文件的双向传输。
“下载”和“上传”
支持FTP协议的服务器就是FTP服务器。
FTP连接及传输模式
控制连接:TCP 21,用于发送FTP命令信息
数据连接:TCP 20,用于上传、下载数据。
数据连接的建立类型
主动模式:服务器从20端主动向客户端发起连接
被动模式:服务器在指定范围内某个端口被动等待客户端连接。(服务器开启相应端口,等待客户端发起连接)
主动模式端口:控制 21 传输数据 20
被动模式,服务端开启的端口随机
FTP用户的类型
匿名用户:anonymous、ftp
本地用户:账户名称、密码等信息保存在passwd、shadow文件中
常见的FTP服务器程序
IIS、Serv-U
wu-ftp、Proftpd
vsftpd(Very Secure FTP Daemon)
常见的FTP客户端程序
CuteFTP、FlashFXP、LeapFTP、Filezilla
gftp、kuftp
FTP命令
vsftpd软件包

  • 官方站点:https://vsftpd.beasts.org/
  • 主程序:/usr/sbin/vsftpd
  • 用户控制列表文件:
    /etc/vsftpd/ftpusers
    /etc/vsftpd/user_list
  • 主配置文件:/etc/vsftpd/vsftpd.conf

2、FTP服务器搭建

1.服务器端安装与配置

1.安装vsftpd

yum -y install vsftpd

在这里插入图片描述
2.开启vsftpd

service vsftpd start

3.关闭防火墙和selinux

iptables -F
setenforce 0

4.配置ftp权限
在这里插入图片描述

vi /etc/vsftpd/vsftpd.conf
#列出没有被注释的信息
grep -v "#" vsftpd.conf
#开启权限(启用匿名访问):
anonymous_enable=YES
#允许上传文件
anon_upload_enable=YES
#匿名用户所上传文件的权限掩码(默认600)
anon_umask=022
#设置目录权限,改属主
chown ftp /var/ftp/pub
service vsftpd restart # 重启

在这里插入图片描述

3、客户端验证

1.安装ftp

yum -y install ftp

2.使用匿名用户登录ftp

ftp 192.168.x.x
登录是否成功,看是否有Successful
ftp或anonymous #不需要密码

在这里插入图片描述
3.匿名用户登录ftp进行上传与下载

!dir #列目录
上传准备:
1.修改配置文件里两个项目:
#开启权限(启用匿名访问):
anonymous_enable=YES
#允许上传文件
anon_upload_enable=YES

2.上传的文件夹要放开写权限
3.服务器上的上传文件夹要放开写权限
service vsftpd restart # 重启

put 文件名 #上传
get 文件名 #下载

上传
在这里插入图片描述
下载
在这里插入图片描述

4.使用本地用户登录ftp
(1)服务端

#可关闭匿名登录模式,即设置anonymous_enable=NO
#允许本地用户登录FTP
vi /etc/vsftpd/vsftpd.conf
local_enable=YES #默认是开启的
write_enable=YES

(2)客户端:
本地用户的工作目录在/home/用户名,如/home/ftpwmm

ftp 192.168.x.x
用户名 #需要密码

扩充1:禁止某用户登录
默认禁止root身份登录。
编辑user_list文件,在列表中添加ftpwmm,则会禁止ftpwmm用户访问

vi /etc/vsftpd/user_list

在这里插入图片描述
扩充2:配置默认访问路径

#配置默认访问路径,local_root 针对系统用户;anon_root 针对匿名用户
vi /etc/vsftpd/vsftpd.conf
local_root=/var/ftp/local_pub
chroot_local_user=YES
service vsftpd restart # 重启

0x03 DNS服务器的搭建与配置

域名解析器
host文件:hosts文件记录主机域名和ip的对应文件
NIS服务器:库存放解析记录
DNS服务器:用库存放目录,分布式解析

1、域名服务器简介

在这里插入图片描述
1.DNS作用
正向解析:将域名(FQDN)解析成ip
反向解析:将ip解析成域名(FQDN)

FQDN:Full Qualified Domain Name完全合格域名(完整域名)
一个域名对应一个ip
一个ip可以对应多个域名

2.DNS的工作模式
在这里插入图片描述
递归查询(不管是否访问成功,访问一去一回)
迭代查询(多次询问,多次返回结果)
3.域名结构
在这里插入图片描述
. 根域
.com .net….顶级域名
.com.cn …….二级域
wwwmail…主机名
4.根DNS
共有13台
在这里插入图片描述
M在日本,暂时查不到。
5.域名服务器分类
主域名服务器
特定DNS区域的官方服务器,具有唯一性
负责维护该区域内所有域名->ip地址的映射记录
从域名服务器
也称为辅助域名服务器
其维护的 域名->ip地址记录 来源于主域名服务器
缓存域名服务器
可运行域名服务器软件,提供间接信息
转发域名服务器
负责所有非本地域名的本地查询
6.bind软件包

BIND
伯克利Internet域名服务
官方站点:https://www.isc.org(ftp://www.isc.org)
软件包:bind-x.x.x…..rpm
服务名:named
端口号:53
主配置文件:/etc/named.conf
保存DNS解析记录的数据文件位于:/var/named

2、域名服务器安装和配置

查看默认安装根域名服务器

vi /var/named/named.ca

1.安装

yum -y install bind*

bind:DNS服务器软件包
bind-utils:DNS测试工具
bind-chroot:使bind运行在指定目录(可安装,安装后很多默认位置发生改变)
如果安装bind-chroot(我这里感觉麻烦,没安装)

cp /etc/named.conf /var/nammed/chroot/etc

在这里插入图片描述
caching-nameserver:高速缓冲DNS服务器基本配置文件
配置文件详解
(1)/etc/named.conf主配置文件

vi /etc/named.conf
options {
        listen-on port 53 { 127.0.0.1; }; #监听地址和端口,如果删除,会默认在所有接口UDP 53 端口监听服务
        listen-on-v6 port 53 { ::1; };
        directory       "/var/named"; #数据文件存放的目录(解析文件)
        dump-file       "/var/named/data/cache_dump.db"; #缓存数据库文件
        statistics-file "/var/named/data/named_stats.txt"; #状态统计文件的位置

        memstatistics-file "/var/named/data/named_mem_stats.txt";
        recursing-file  "/var/named/data/named.recursing";
        secroots-file   "/var/named/data/named.secroots";
        allow-query     { localhost; }; #允许哪些网段的客户端使用DNS进行解析。若设置成any则对所有网段进行解析

(2)/etc/named.rfc1912.zones区域配置文件

zone "localhost.localdomain" IN { #zone表示区域,in跳转指针
        type master; #主DNS服务器
        file "named.localhost"; #指定正向解析数据文件位置
        allow-update { none; }; 
};
zone "1.0.0.127.in-addr.arpa" IN {
        type master;
        file "named.loopback"; ##指定反向解析数据文件位置
        allow-update { none; };
};

(3)数据文件
正向解析模板文件:/var/named/named.localhost

$TTL 1D
@       IN SOA  @ rname.invalid. ( #@表示当前所在域域名,配置改成具体域名。rname.invalid.管理员邮箱
                                        0       ; serial 
                                        1D      ; refresh #时间D表示天,W表示周
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      @ 
        A       127.0.0.1
        AAAA    ::1

反向解析模板文件:/var/named/named.empty

$TTL 3H
@       IN SOA  @ rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      @
        A       127.0.0.1
        AAAA    ::1

2.关闭防火墙和selinux

iptables -F
#检查是否关闭getenforce
setenforce 0

3.配置文件

配置ip:ifconfig eth0 192.168.1.33

(1)修改主配置文件/etc/named.conf

listen-on port 53 { 192.168.1.33; }; 
allow-query     { 192.168.1.0/24; }; #指定网段,也可以写成any所有网段

(2)修改区域文件/etc/named.rfc1912.zones
1)备份

cp /etc/named.rfc1912.zones /etc/named.rfc1912.zones.bak

2)修改
可删掉注释信息和无用项,只保留正向和反向

zone "qwzf.com" IN { #zone表示区域,in跳转指针
        type master; #主要区域
        file "qwzf.com.zone"; #指定解析记录数据文件位置
        allow-update { none; }; 
};
zone "1.168.192.in-addr.arpa" IN {
        type master;
        file "192.168.1.zone";
        allow-update { none; };
};

(3)修改数据文件
1)复制模板文件到指定数据文件

cp -p /var/named/named.localhost /var/named/qwzf.com.zone #正向
cp -p /var/named/named.empty /var/named/192.168.1.zone #反向
#-p保存属性

2)修改正向解析文件qwzf.com.zone

$TTL 1D
@       IN SOA  qwzf.com. rname.invalid. ( #@表示当前所在域域名,配置改成具体域名。rname.invalid.管理员邮箱
                                        0       ; serial 
                                        1D      ; refresh #时间D表示天,W表示周
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      dns.qwzf.com.
        MX  5   mail.qwzf.com.       #设置邮件域名服务器,数字越小优先级越高
dns     A       192.168.1.33
mail    A       192.168.1.34
www     A       192.168.1.35
ftp     CNAME   www
*       A       192.168.1.100 #提供泛域名解析

3)修改反向解析文件192.168.1.zone

$TTL 3H
@       IN SOA  qwzf.com. rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      dns.qwzf.com.
        MX  5   mail.qwzf.com.
33      PTR     dns.qwzf.com.
34      PTR     mail.qwzf.com.
35      PTR     www.qwzf.com.
*       PTR     xxx.qwzf.com.

4.启动

service named start

3、客户端验证

添加dns服务器

vi /etc/sysconfig/network-scripts/ifcfg-eth0
#DNS1=192.168.1.33

重启网卡

service network restart

测试

nslookup #安装 nslookup, 直接安装bind-utils即可。yum -y install bind-utils

在这里插入图片描述
测试成功,ok。

0x04 后记

本篇博客主要记录了DHCP、FTP、DNS服务器的搭建。总的来说没踩多少坑,继续努力!


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 qwzf1024@qq.com

×

喜欢就点赞,疼爱就打赏