FTP服务与DNS域名解析服务

文章目录

  • FTP原理
  • FTP匿名账户的部署过程:
  • FTP本地用户的部署过程:
  • 指定用户的宿主目录路径
  • DNS(域名解析服务)
    • DNS正向解析
    • DNS反向解析
    • DNS主从复制

FTP原理

ftp使用场合:用于文件的传输

ftp的作用:用于文件的上传和下载。

ftp属于tcp,端口号:20,21
21:控制层面,用于账户密码验证,权限的验证。
20:数据层面,用于文件上传和下载。

ftp:匿名、系统、虚拟账户。
匿名账户:登录名:ftp、anonymous。不验证密码即可登录。
系统账户:本身系统已存在的账户、密码作验证。
验证方式:
1.验证的/etc/passwd和/etc/shadow
2.验证的是用户列表(用户必须是系统创建),相当于白名单
默认root账户不允许登录
虚拟账户:预定义的列表账户。(以前系统未创建过的)

FTP匿名账户的部署过程:

systemctl stop firewalld.service  #关闭防火墙
setenforce 0                #关闭核心防护
[root@server1 ~]# rpm -ivh /mnt/Packages/vsftpd-3.0.2-22.el7.x86_64.rpm  或 yum -y install vsftpd.x86_64(安装vsftp)
[root@server1 ~]# ls -l /var/  查看ftp文件
drwxr-xr-x.  3 root root   17 98 11:56 ftp

修改属主和属组,并创建文件

[root@server1 ~]# ls -l /var/  查看ftp文件
drwxr-xr-x.  3 root root   17 98 11:56 ftp
chown -R ftp.ftp /var/ftp/pub/
chmod -R 755 /var/ftp/pub/
[root@server1 ~]# cd /var/ftp/pub/  再该文件夹下创建一些文件做上传下载的实验
[root@server1 pub]# echo abc123 >a.txt
[root@server1 pub]# echo abc123 >b.txt
[root@server1 pub]# ls -lh
总用量 8.0K
-rw-r--r--. 1 root root 7 98 12:00 a.txt
-rw-r--r--. 1 root root 7 98 12:01 b.txt
root@server1 pub]# chmod -R 755 /var/ftp/pub/     给创建的文件附加属性
[root@server1 pub]# chown -R ftp.ftp /var/ftp/pub/
[root@server1 pub]# cd /var/ftp/pub/       查看效果
[root@server1 pub]# ls -lh
总用量 8.0K
-rwxr-xr-x. 1 ftp ftp 7 98 12:00 a.txt
-rwxr-xr-x. 1 ftp ftp 7 98 12:01 b.txt
[root@server1 pub]# cd ..     再次验证权限是否为755
[root@server1 ftp]# ls -lh
总用量 0
drwxr-xr-x. 2 ftp ftp 32 98 12:01 pub

#修改配置文件为匿名用户登录

vi /etc/vsftpd/vsftpd.conf
16 #local_enable=YES
23 #local_umask=022
33 anon_mkdir_write_enable=YES
12 anonymous_enable=YES
13 anon_umask=022
116 listen=YES
125 listen_ipv6=NO
输入[root@server1 ~]# grep -v "#" /etc/vsftpd/vsftpd.conf | grep -v "^$" 与下面的命令进行比对
[root@server1 ~]# grep -v "#" /etc/vsftpd/vsftpd.conf | grep -v "^$"
anonymous_enable=YES
anon_umask=022
write_enable=YES
anon_upload_enable=YES
anon_other_write_enable=YES
anon_mkdir_write_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
listen_ipv6=NO
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
验证是否一致

开启ftp服务,并查看端口号

[root@server1 ~]# systemctl start vsftpd  服务重启
[root@server1 ~]# netstat -anpt | grep vsftpd
tcp        0      0 0.0.0.0:21              0.0.0.0:*               LISTEN      12646/vsftpd 

启动其他设备 即客户机 以下是验证下载并上传文件

[root@server1 ~]# yum -y install ftp 安装ftp服务
[root@server1 ~]# ftp 20.0.0.10  连接服务端
Connected to 20.0.0.10 (20.0.0.10).
220 (vsFTPd 3.0.2)
Name (20.0.0.10:root): ftp   输入连接方式ftp
331 Please specify the password.
Password:                默认无密码
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls -lh                  
227 Entering Passive Mode (20,0,0,10,167,73).
150 Here comes the directory listing.
drwxr-xr-x    2 14       50             32 Sep 08 04:01 pub
226 Directory send OK.
ftp> cd pub
250 Directory successfully changed.
ftp> ls -lh     查看服务端文件
227 Entering Passive Mode (20,0,0,10,32,210).
150 Here comes the directory listing.
-rwxr-xr-x    1 14       50              7 Sep 08 04:00 a.txt
-rwxr-xr-x    1 14       50              7 Sep 08 04:01 b.txt
226 Directory send OK.
ftp> get a.txt 下载服务端文件
local: a.txt remote: a.txt
227 Entering Passive Mode (20,0,0,10,39,77).
150 Opening BINARY mode data connection for a.txt (7 bytes).
226 Transfer complete.
7 bytes received in 6.7e-05 secs (104.48 Kbytes/sec)
ftp> put anaconda-ks.cfg  上传文件
local: anaconda-ks.cfg remote: anaconda-ks.cfg
227 Entering Passive Mode (20,0,0,10,28,41).
150 Ok to send data.
226 Transfer complete.
2107 bytes sent in 0.00813 secs (259.10 Kbytes/sec)
ftp> bye   退出
221 Goodbye.

验证:

[root@server1 ~]# cd /var/ftp/pub/   服务端  验证用户端是否成功上传naconda-ks.cfg文件
[root@server1 pub]# ls -lh
总用量 12K
-rw-r--r--. 1 ftp ftp 2.1K 98 17:17 anaconda-ks.cfg
-rwxr-xr-x. 1 ftp ftp    7 98 12:00 a.txt
-rwxr-xr-x. 1 ftp ftp    7 98 12:01 b.txt
进入用户端验证是否下载a,b文件
[root@server1 ~]# ls -lh
总用量 12K
-rw-------. 1 root root 2.1K 810 19:56 anaconda-ks.cfg
-rw-r--r--. 1 root root    7 97 17:14 a.txt
-rw-r--r--. 1 root root 2.2K 810 20:10 initial-setup-ks.cfg
-rw-r--r--. 1 root root    0 97 17:01 local.repo

以上为匿名账户

修改主配置文件的配置详解
anonymous_enable=YES  #允许匿名账户登录
anon_upload_enable=YES #允许匿名账户上传
anon_mkdir_write_enable=YES #允许匿名账
户新建文件或目录
anon_other_write_enable=YES #允许匿名账户的其他写权限
anon_umask=022 #设置匿名账户的权限为755
local_enable=YES #允许本地账户登录
local_max_rate=102400 #本地账户限速
chroot_local_user=yes #锁定宿主目录,此配置针对本地账户
write_enable=YES #写权限的开启,如果想让用户上传文件,此权限也需要有
local_umask=022 #本地账户的权限为755
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES #监听IPV4地址的请求
listen_ipv6=NO #不监听IPV6地址的请求
systemctl startr vsftp  开启ftp服务

FTP本地用户的部署过程:

验证用户权限
只允许系统账户liming上传下载文件,其他账户不允许访问。(接上面实验后做)

[root@server1 pub]# cd
[root@server1 ~]# vi /etc/vsftpd/user_list
[root@server1 ~]# vi /etc/vsftpd/vsftpd.conf  修改刚刚匿名账户的设置
#anonymous_enable=YES
#anon_umask=022
local_enable=YES
local_umask=022
#anon_upload_enable=YES
#anon_other_write_enable=YES
#anon_mkdir_write_enable=YES
[root@server1 ~]# systemctl restart vsftpd   服务重启,使其生效
[root@server1 ~]# vi /etc/vsftpd/vsftpd.conf   再次修改
chroot_local_user=YES
下面添加一行 allow_writeable_chroot=YES   :wq

修改配置文件之后输入以下命令并进行比对
FTP服务与DNS域名解析服务_第1张图片

[root@server1 ~]# systemctl restart vsftpd 服务再次重启
[root@server1 ~]# netstat -anpt | grep vsftpd  验证是否报错
tcp6       0      0 :::21                   :::*                    LISTEN      14015/vsftpd 
客户机里面输入[root@server1 ~]# ftp 20.0.0.10  验证用户是否正常登录
Connected to 20.0.0.10 (20.0.0.10).
220 (vsFTPd 3.0.2)
Name (20.0.0.10:root): lisi
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> put anaconda-ks.cfg 
local: anaconda-ks.cfg remote: anaconda-ks.cfg 用户lisi上传文件
227 Entering Passive Mode (20,0,0,10,55,164).
150 Ok to send data.
226 Transfer complete.
2107 bytes sent in 0.000102 secs (20656.86 Kbytes/sec)
在服务端lisi属主目录/home下查看
[root@server1 ~]# cd /home/lisi/
[root@server1 lisi]# ls -lh
总用量 4.0K
-rw-r--r--. 1 lisi lisi 2.1K 97 21:49 anaconda-ks.cfg
创建一个文件[root@server1 lisi]# echo a>a1
在客户机上查看并下载  具有写和读(能下载)的权限
ftp> ls -lh
227 Entering Passive Mode (20,0,0,10,112,91).
150 Here comes the directory listing.
-rw-r--r--    1 0        0               0 Sep 07 13:55 a
-rw-r--r--    1 0        0               2 Sep 07 13:55 a1
-rw-r--r--    1 1001     1001         2107 Sep 07 13:49 anaconda-ks.cfg
226 Directory send OK.
ftp> get a1
local: a1 remote: a1
227 Entering Passive Mode (20,0,0,10,71,164).
150 Opening BINARY mode data connection for a1 (2 bytes).
226 Transfer complete.
2 bytes received in 7.1e-05 secs (28.17 Kbytes/sec)
ftp> bye  退出
221 Goodbye.

指定用户的宿主目录路径

[root@server1 lisi]# cd
[root@server1 ~]# useradd liming  新建liming用户
[root@server1 ~]# passwd liming
[root@server1 ~]# vi /etc/vsftpd/user_list 

里面内容清空 只添加一个 liming 即为白名单

[root@server1 ~]# vi /etc/vsftpd/vsftpd.conf
allow_writeable_chroot=YES
local_root=/opt/liming   添加该行
#chroot_list_enable=YES
userlist_enable=YES
userlist_deny=NO    在添加该行
tcp_wrappers=YES 
:wq
[root@server1 ~]# grep -v "#" /etc/vsftpd/vsftpd.conf | grep -v "^$" 验证修改的参数
anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
chroot_local_user=YES
allow_writeable_chroot=YES
local_root=/opt/liming
listen=YES
listen_ipv6=NO
pam_service_name=vsftpd
userlist_enable=YES
userlist_deny=NO
tcp_wrappers=YES
[root@server1 ~]# cd /opt/
[root@server1 opt]# mkdir liming
[root@server1 opt]# cd
[root@server1 ~]# chown liming.liming /opt/liming
[root@server1 ~]# chmod 700 /opt/liming
[root@server1 ~]# systemctl restart vsftpd
[root@server1 ~]# netstat -aupt  | grep vsftpd
tcp        0      0 0.0.0.0:ftp             0.0.0.0:*               LISTEN      53137/vsftpd        

客户机进行验证

[root@server1 ~]# ftp 20.0.0.10
Connected to 20.0.0.10 (20.0.0.10).
220 (vsFTPd 3.0.2)
Name (20.0.0.10:root): lisi   因为设置白名单只允许liming登录
530 Permission denied.
Login failed.
[root@server1 ~]# ftp 20.0.0.10
Connected to 20.0.0.10 (20.0.0.10).
220 (vsFTPd 3.0.2)
Name (20.0.0.10:root): liming
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.

服务机新建文件,验证

[root@server1 ~]# cd /opt/liming
[root@server1 liming]# touch aaa
[root@server1 liming]# touch bbb

客户机验证

ftp> ls -lh
227 Entering Passive Mode (20,0,0,10,74,78).
150 Here comes the directory listing.
-rw-r--r--    1 0        0               0 Sep 07 14:28 aaa
-rw-r--r--    1 0        0               0 Sep 07 14:28 bbb
226 Directory send OK.
ftp> get aaa
local: aaa remote: aaa
227 Entering Passive Mode (20,0,0,10,27,112).
150 Opening BINARY mode data connection for aaa (0 bytes).
226 Transfer complete.
ftp> get bbb
local: bbb remote: bbb
227 Entering Passive Mode (20,0,0,10,125,211).
150 Opening BINARY mode data connection for bbb (0 bytes).
226 Transfer complete.
ftp> put anaconda-ks.cfg 
local: anaconda-ks.cfg remote: anaconda-ks.cfg
227 Entering Passive Mode (20,0,0,10,68,121).
150 Ok to send data.
226 Transfer complete.
2107 bytes sent in 0.000132 secs (15962.12 Kbytes/sec

以上为本地账户

本地账户
设置本地用户的可登录用户列表

vi /etc/vsftpd/user_list
liming
vi /etc/vsftpd/vsftpd.conf
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
chroot_local_user=YES #宿主目录的锁定
listen=YES
allow_writeable_chroot=YES #允许宿主目录的写权限
listen_ipv6=NO
pam_service_name=vsftpd
userlist_enable=YES  #启用用户列表
userlist_deny=NO #只允许用户列表里的用户列表
tcp_wrappers=YES
local_root=/opt/liming #指定用户的宿主目录路径
普通账户的宿主目是它的家目录。
systemctl restart vsftpd  重行开启FTP服务
附加:grep -v “#” /etc/vsftpd/vsftpd.conf | grep -v “^$” 不带# ,^$的文件

DNS(域名解析服务)

作用:将域名解析成IP地址

原因:我们对数字不敏感,记不住这个IP地址,所以才有域名解析服务。

解析方式:正向解析:域名解析出IP
反向解析: IP解析出域名
DNS服务器中存储着大量的ip和域名映射记录,它的记录文件也分为正向解析文件和反向解析文件
正向解析文件中存储的记录称为A记录,A记录记录着域名和IP的映射关系
反向解析文件中存储的记录称为PTR指针,PTR记录着IP和域名的映射关系。
DNS服务既属于TCP协议也属于UDP协议,端口号为53号。

. 根域
国家域:cn中国,hk香港,uk英国,au澳大利亚
顶级域(领域):com商业用途 net网络组织 edu教育
二级域:个性化的名称,每个域的二级域都不一样
主机名(用途):www(网页),mail(邮件)
DNS的解析过程是分层解析的,一般客户机将解析的请求发送给它的DNS服务器,DNS服务器首先是从根DNS服务器(.)开始改送域名解析请求,根将COM域的IP反馈给客户机的本地DNS服务器,本地DNS服务器访问COM域服务器,COM域服务器反馈baidu域的IP给本地DNS服务器,本地DNS服务器访问baidu域服务器询问www域服务器的ip,baidu域服务器给dns服务器反馈www域的ip,这时本地DNS服务器得到www.baidu.com的精确ip后,直接将这个映射记录反馈给客户机,客户机直接访问www.baidu.com服务器,服务器反馈相应的数据。

DNS缓存:
其中一台DNS服务器可以上网去获取DNS映射记录,客户机将DNS服务器地址指向这台可以上网的DNS服务器,从而获取到相应的映射记录
FTP服务与DNS域名解析服务_第2张图片

DNS正向解析

DNS包安装:
[root@server1 ~]# yum -y install bind

查看bind配置文件的路径:

[root@server1 ~]# rpm -qc bind
/etc/logrotate.d/named
/etc/named.conf   //主配置文件   控制系统全局
/etc/named.iscdlv.key
/etc/named.rfc1912.zones   //区域配置文件 控制具体的单个区域
/etc/named.root.key
/etc/rndc.conf
/etc/rndc.key
/etc/sysconfig/named
/var/named/named.ca
/var/named/named.empty
/var/named/named.localhost   //区域数据配置文件  区域信息
/var/named/named.loopback   

主要配置文件:

/etc/named.conf   //主配置文件   控制系统全局
/etc/named.rfc1912.zones   //区域配置文件 控制具体的单个区域
/var/named/named.localhost   //区域数据配置文件  区域信息

修改主配置文件:

[root@server1 ~]# vim /etc/named.conf
 12 options {           //选项
 13         listen-on port 53 { 127.0.0.1; };    //监听的本端口
 14         listen-on-v6 port 53 { ::1; };   //监听ipv6的地址
 15         directory       "/var/named";   //数据文件存放位置
 16         dump-file       "/var/named/data/cache_dump.db";  //容灾文件
 17         statistics-file "/var/named/data/named_stats.txt";  //备份文件
 18         memstatistics-file "/var/named/data/named_mem_stats.txt";
 19         allow-query     { localhost; };  //允许那些主机来进行解析
41         pid-file "/run/named/named.pid";  //pid文件存放的位置,进程文件进行的位置
42         session-keyfile "/run/named/session.key";  //session会话,key密钥管理文件
52 zone "." IN {                 53         type hint;
 54         file "named.ca";
 55 };
//里面解析的是.(根域服务器),在不进行任何配置前提下面,就充当缓存服务器的角色,当没有数据信息的时候,它会凭借该选项来寻找根域服务器来进行解析
 57 include "/etc/named.rfc1912.zones";  //包含子配置文件(即区域配置文件),这里为了方便管理,主配置文件这里做了分割
附加:tcp作用:连接     udp作用:解析

主配置文件只需要修改两个地方:

修改为监听自己的IP地址
13         listen-on port 53 { 20.0.0.11; }; //因为他人访问的时候是访问自己的地址,所有要修改为监听自己的ip地址
19         allow-query     { any; };  //修改为任何人都能进行访问  (访问权限)

修改区域配置文件:(内部全是区域模板,没有时效性的东西)

[root@server1 ~]# vim /etc/named.rfc1912.zones 
19 zone "localhost" IN {    //该部分为正向解析(做解析域名的时候不是对其进行修改,而是作为模板,对模板进行修改)
 20         type master;
 21         file "named.localhost";
 22         allow-update { none; };
 23 };
附加:"localhost":区域名称
type master:表示类型为主服务器
file "named.localhost":区域数据文件配置的地方,默认为named.localhost(在主配置下的/var/named中)
allow-update { none; }:allow更新

zone "wangtong.com" IN {
        type master;
        file "wangtong.com.zone";:
        allow-update { none; };
};
//对正向解析文件的模板进行修改,并对其进行验证
[root@server1 ~]# cd /var/named/  //进入数据文件存放目录下
[root@server1 named]# ls   //查看到 named.localhost
data  dynamic  named.ca  named.empty  named.localhost  named.loopback  slaves
[root@server1 named]# cp -p named.localhost wangtong.com.zone   //复制,并保留权限(-p)(因为不保留权限,在root用户下会变成root属主属组,但此时属组必须为named)将 named.localhost
修改为刚刚修改模板的目录,即wangtong.com.zone 
[root@server1 named]# ls
data     named.ca     named.localhost  slaves
dynamic  named.empty  named.loopback   wangtong.com.zone

[root@server1 named]# vim wangtong.com.zone //修改新增加的正向解析文件(内部格式解析)
$TTL 1D   //TTL
@       IN SOA  @ rname.invalid. (    //SOA标记,域名,管理邮箱 资源起始记录 @:相对于变量
                                        0       ; serial  //无效解析记录的生存周期 序列号
                                        1D      ; refresh  //失效时间,超过时间仍无法下载则放弃
                                        1H      ; retry //如果名称名没更新成功,多长时间更新一次
                                        1W      ; expire //联系多久不成功就终止联系
                                        3H )    ; minimum //失效时间
        NS      @        //域名
        A       127.0.0.1  //A:记录名称  后面接本机ip
        AAAA    ::1  //ipv6 ip

//rname.invalid:管理员邮箱(不要加@)

对正向解析文件进行修改:
$TTL 1D
@       IN SOA  wangtong.com admin.wangtong.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      wangtong.com.
        A       20.0.0.11
IN  MX  10      mail.wangtong.com.  //写入具体数据(10:表示序列号,加载读取的顺序,解析mail.wangtong.com. )
www IN  A       20.0.0.88  //主机A记录 20.0.0.88:解析的地址,即输入www.wangtong.com.时解析的IP地址
ftp IN  A       20.0.0.99  //即输入ftp.wangtong.com.时解析的IP地址
smtp IN CNAME   www //别名解析
*  IN   A       8.8.8.8 //半域名解析,如果输入一个错误的域名,会解析一个8.8.8.8的ip地址
[root@server1 named]# systemctl start named  启动服务
[root@server1 named]# netstat -nuap  //查看端口是否生效,即监听地址
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
udp        0      0 0.0.0.0:54960           0.0.0.0:*                           602/avahi-daemon: r 
udp        0      0 20.0.0.11:53            0.0.0.0:*                           13454/named  
提供DNS服务给他人       
udp        0      0 192.168.122.1:53        0.0.0.0:*                           1570/dnsmasq  
      
udp        0      0 0.0.0.0:67              0.0.0.0:*                           1570/dnsmasq        
udp        0      0 0.0.0.0:5353            0.0.0.0:*                           602/avahi-daemon: r 
udp6       0      0 ::1:53                  :::*                                13454/named  

附加:tcp也会开放53号端口,作用连接(快,高效)
udp也会开放53号端口,作用解析

DNS写入的文件地址:vim /etc/resolv.conf
[root@server1 named]# echo "nameserver 20.0.0.11" > /etc/resolv.conf //覆盖之前DNS写入的记录,自己解析自己
[root@server1 named]# cat /etc/resolv.conf 
nameserver 20.0.0.11

host命令(解析命令,负责测试,解析,域名解析的工具)来源的工具

[root@server1 named]# rpm -q bind-utils
bind-utils-9.9.4-50.el7.x86_64
[root@server1 named]# host www.wangtong.com  //此时说明域名解析是成功的
www.wangtong.com has address 20.0.0.88

[root@server1 named]# host smtp.wangtong.com  //别名解析
smtp.wangtong.com is an alias for www.wangtong.com.
www.wangtong.com has address 20.0.0.88

[root@server1 named]# host ftp.wangtong.com //ftp解析
ftp.wangtong.com has address 20.0.0.99

[root@server1 named]# host abc.wangtong.com //半域名解析
abc.wangtong.com has address 8.8.8.8
附加:
 31 zone "1.0.0.127.in-addr.arpa" IN {  //该部分为反向解析
 32         type master;
 33         file "named.loopback";
 34         allow-update { none; };
 35 };

DNS反向解析

在原有基础之上修改配置文件
 36 zone "1.0.0.127.in-addr.arpa" IN {  复制改模板,对模板进行修改
 37         type master;
 38         file "named.loopback";
 39         allow-update { none; };

 42 zone "0.0.20.in-addr.arpa" IN { //解析的地址(网段)
 43         type master;
 44         file "wang.com.local"; //区域数据配置文件
 45         allow-update { none; };
 46 };
[root@server1 named]# ls
data     named.ca     named.localhost  slaves
dynamic  named.empty  named.loopback   wangtong.com.zone
[root@server1 named]# cp -p wangtong.com.zone wang.com.local
[root@server1 named]# vim wang.com.local 
$TTL 1D
@       IN SOA  wang.com admin.wang.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      wang.com.
        A       20.0.0.11
99 IN   PTR     www.wang.com.
88 IN   PTR     ftp.wang.com.

验证

[root@server1 named]# systemctl restart named
[root@server1 named]# host 20.0.0.99
99.0.0.20.in-addr.arpa domain name pointer www.wang.com.
[root@server1 named]# host 20.0.0.88
88.0.0.20.in-addr.arpa domain name pointer ftp.wang.com.

DNS主从复制

主从同步作用:当主服务器宕机之后,从服务器仍然能提供和主服务器一样的服务

从服务器配置

关闭防火墙,核心防护
[root@server2 ~]# systemctl stop firewalld.service 
[root@server2 ~]# setenforce 0

安装dhcp服务包

[root@server2 ~]# yum -y install bind

修改主配置文件

[root@server2 ~]# vim /etc/named.conf 
13         listen-on port 53 { 20.0.0.12; };
19         allow-query     { any; };

修改区域配置文件

[root@server2 ~]# vim /etc/named.rfc1912.zones 
 19 zone "localhost" IN {    //复制以下五行作为模板,并在该模板上进行修改
 20         type master;
 21         file "named.localhost";
 22         allow-update { none; };
 23 };
 24 
  25 zone "wangtong.com" IN {
 26         type slave;
 27         file "slaves/wangtong.com.zone";
 28         masters { 20.0.0.11; };
 29 };

将修改的文件放入 slaves目录中

[root@server2 ~]# cd /var/named/
[root@server2 named]# ls
data  dynamic  named.ca  named.empty  named.localhost  named.loopback  slaves

主服务器进行配置(接DNS正向解析内容)

 25 zone "wangtong.com" IN {   //正向解析设置进行修改
 26         type master;
 27         file "wangtong.com.zone";
 28         allow-update { none; };
 29 };

 25 zone "wangtong.com" IN {
 26         type master;
 27         file "wangtong.com.zone";
 28         allow-transfer { 20.0.0.12; };   //修改为从服务器的地址
 29 };

重启服务

[root@server1 named]# systemctl restart named

从服务器配置

启动服务:[root@server2 named]# systemctl start named
[root@server2 named]# ls slaves/   //查看是否有以下文件生成(自动同步)
wangtong.com.zone
[root@server2 named]# cd slaves/  //查看过来的数据同步文件
[root@server2 slaves]# ls
wangtong.com.zone
[root@server2 slaves]# vim wangtong.com.zone //发现是一串乱码
^@^@^@^B^@^@^@^A_èxâ^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@g^@^A^@^F^@^@^@^AQ<80>^@^@^@^A^@^N^Hwangtong^Ccom^@^@C^Hwangtong^Ccom^Hwangtong^Ccom^@^Eadmin^Hwangtong^Ccom^@^@^@^@^@^@^AQ<80>^@^@^N^P^@    :<80>^@^@*0^@^@^@(^@^A^@^A^@^@^@^AQ<80>^@^@^@^A^@^N^Hwangtong^Ccom^@^@^D^T^@^@^K^@^@^@?^@^A^@^B^@^@^@^AQ<80>^@^@^@^A^@^N^Hwangtong^Ccom^@^@^[^Hwangtong^Ccom^Hwangtong^Ccom^@^@^@^@*^@^A^@^A^@^@^@^AQ<80>^@^@^@^A^@^P^A*^Hwangtong^Ccom^@^@^D^H^H^H^H^@^@^@,^@^A^@^A^@^@^@^AQ<80>^@^@^@^A^@^R^Cftp^Hwangtong^Ccom^@^@^D^T^@^@c^@^@^@I^@^A^@^O^@^@^@^AQ<80>^@^@^@^A^@^Q^BIN^Hwangtong^Ccom^@^@"^@
^Dmail^Hwangtong^Ccom^Hwangtong^Ccom^@^@^@^@;^@^A^@^E^@^@^@^AQ<80>^@^@^@^A^@^S^Dsmtp^Hwangtong^Ccom^@^@^R^Cwww^Hwangtong^Ccom^@^@^@^@,^@^A^@^A^@^@^@^AQ<80>^@^@^@^A^@^R^Cwww^Hwangtong^Ccom^@^@^D^T^@^@X

验证,查看是否能解析

[root@server2 slaves]# echo "nameserver 20.0.0.12" > /etc/resolv.conf  //验证自己能否解析自己
[root@server2 slaves]# cat /etc/resolv.conf 
nameserver 20.0.0.12

查看主服务器解析地址的内容:

[root@server1 named]# cat wangtong.com.zone 
$TTL 1D
@	IN SOA	wangtong.com admin.wangtong.com. (
					0	; serial
					1D	; refresh
					1H	; retry
					1W	; expire
					3H )	; minimum
	NS	wangtong.com
	A	20.0.0.11
IN MX   10      mail.wangtong.com
www IN  A       20.0.0.88
ftp IN  A       20.0.0.99
smtp IN CNAME   www
*   IN  A       8.8.8.8

从服务器上验证:(查看解析的内容是否与主服务器一致)

[root@server2 slaves]# host www.wangtong.com
www.wangtong.com has address 20.0.0.88
[root@server2 slaves]# host ftp.wangtong.com
ftp.wangtong.com has address 20.0.0.99
[root@server2 slaves]# host abc.wangtong.com
abc.wangtong.com has address 8.8.8.8

联系到主机,DNS应该如何设置,如图:(其中的首选,备选就与主从一个道理,当首选20.0.0.11服务将宕机后,备选20.0.0.12服务器可以正常工作)

FTP服务与DNS域名解析服务_第3张图片

附加:
[root@server2 slaves]# echo "nameserver 20.0.0.12" >> /etc/resolv.conf  (发现是新增)
[root@server2 slaves]# cat /etc/resolv.conf 
nameserver 20.0.0.2
nameserver 20.0.0.12

[root@server2 slaves]# echo "nameserver 20.0.0.12" > /etc/resolv.conf (发现是修改为)
[root@server2 slaves]# cat /etc/resolv.conf 
nameserver 20.0.0.12

你可能感兴趣的:(linux,运维,ftp)