FTP服务与DNS域名解析服务

2023-05-16

文章目录

  • 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

修改配置文件之后输入以下命令并进行比对
在这里插入图片描述

[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服务器,从而获取到相应的映射记录
在这里插入图片描述

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服务器可以正常工作)

在这里插入图片描述

附加:
[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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

FTP服务与DNS域名解析服务 的相关文章

  • C++常见面试题总结

    本文主要总结了一些常见的C 43 43 面试题 链接现在不让发 xff0c 所以如果需要整理好的文档的话 xff0c 请关注本篇文章底部的推广订阅公众号获取 xff1a Cpp编程小茶馆 进入正题 xff0c 下面是自己整理的文档目录截图
  • ROS系统安装Kinetic(零基础教程)

    文章目录 一 引言二 安装过程2 1 配置软件库2 2 添加ROS软件源2 3 添加密钥2 4 安装ROS2 4 初始化rosdep2 5 设置环境变量2 5 构建工厂依赖 三 测试过程3 1 启动ROS Master3 2 启动小海龟仿真
  • 《C++ Primer》一书极不适合我国“国情”

    客气地说 xff0c C 43 43 Primer 不适合大学C 43 43 基础课堂教学 xff0c 也不适合初学者入门 不客气地说 xff0c 恐怕你们的大学老师也搞不定 C 43 43 Primer xff0c 更别说拿这本书教学生了
  • 肝了两宿才收集的17个超炫酷的 CSS 动画加载与进度条特效,绝对值得收藏!!!

    文章目录 一 圆形加载动画二 上下跳动的圆球加载动画三 3D立体加载动画四 饼图加载动画五 多色圆点波动效果的加载动画六 制作顺时针放大的圆圈加载动画七 制作小圆圈轮流放大的加载动画八 制作竖条加载动画九 制作水波扩散效果加载动画十 制作逆
  • C 语言学习笔记(三):C 语言开发环境搭建

    文章目录 一 Windows二 Linux2 1 VMware Workstation Pro软件简介及安装2 2 安装 Ubuntu 系统2 2 1 Ubuntu 下载2 2 2 安装 Ubuntu2 2 3 安装共享文件夹 2 3 概念
  • windows和虚拟机ROS串口通信

    windows和虚拟机ROS串口通信 ROS串口通信步骤1 windows下安装VSPD xff08 虚拟串口工具 xff09 2 VMWare虚拟机添加串口3 Windows下串口通信测试工具设置4 ROS通信代码5 运行结果 最近在学习
  • jsonp原理详解——终于搞清楚jsonp是啥了

    一 JSONP的由来 1 Ajax直接请求普通文件存在跨域无权限访问的问题 xff0c 不管是静态页面 动态页面 web服务 xff0c 只要是跨域请求 xff0c 一律不准 2 不过我们发现 xff0c web页面调用js文件则不受跨域的
  • 无人机分类

    无人机分类方式 一 按飞行平台构型分类 无人机可分为固定翼无人机 多旋翼无人机 无人飞艇 伞翼无人机 扑翼无人机等 固定翼无人机 固定翼 xff0c 顾名思义 xff0c 就是机翼固定不变 xff0c 靠流过机翼的风提供升力 跟我们平时坐的
  • python网络编程smtp协议发送电子邮件

    SMTP协议 SMTP 的全称是 Simple Mail Transfer Protocol xff0c 即简单邮件传输协议 它是一组用于从源地址到目的地址传输邮件的规范 xff0c 通过它来控制邮件的中转方式 SMTP 协议属于 TCP
  • 实时通讯技术Ajax,WebSocket,SSE

    实时通讯技术是一项基于web开发的重要技术 xff0c 网站是需要前后端通讯的 xff0c 因此数据刷新的时间就是获取信息的时间 xff0c 为了能准确而有快速的获取信息需要尽可能的提高信息的刷新效率 常见的实时通讯技术 xff1a 通讯方
  • 当前主流的后端语言,谁能夺得桂冠,果然是后生可畏!

    主流后端语言 如今编程语言遍地开花 xff0c 烟花迷乱 xff0c 小编整理了最流行的几种编程语言如下 xff1a 这几种语言都是经久不衰 xff0c 占领着后端编程界的半壁江山 TIOBE上的语言排名 xff1a C Java pyth
  • CVPR2020 | 中科院VIPL实验室录取论文详解

    编者按 xff1a 近日 xff0c 计算机视觉顶会 CVPR 2020 接收论文结果揭晓 xff0c 从 6656 篇有效投稿中录取了 1470 篇论文 xff0c 录取率约为 22 中科院VIPL实验室共七篇论文录取 xff0c 内容涉
  • 迁移学习:他山之石,可以攻玉【VALSE Webinar】Panel实录

    编者按 xff1a 迁移学习是机器学习与计算机视觉中的重要研究问题之一 xff0c 旨在研究如何将一个领域的知识迁移到另外的领域 xff0c 具有重要的研究意义与应用价值 但迁移学习又会存在哪些局限性 xff1f 在实际应用中的价值是什么
  • 「见微知著」(2) - 细粒度视觉检索特辑【VALSE Webinar】Panel实录

    编者按 xff1a 细粒度图像识别和检索的差异有哪些呢 xff1f 细粒度视觉有哪些重要实际应用及重要场景呢 xff1f 未来细粒度图像分析领域又会如何发展呢 xff1f 为此 xff0c VALSE Webinar 2020 20期邀请了
  • VALSE 2020线上大会学生论坛【VALSE Student Seminar】Panel实录

    首届VALSE Student Seminar于2020年7月31日在VALSE 2020线上大会拉开帷幕 xff0c Student Seminar邀请了6名年轻的研究生 xff1a 张士峰 中国科学院自动化研究所 董胤蓬 清华大学 刘宇
  • 见微知著:语义分割中的弱监督学习

    点击上方 深度学习大讲堂 可订阅哦 xff01
  • 曹汛:计算摄像学研究 | VALSE2017之十六

    点击上方 深度学习大讲堂 可订阅哦 xff01
  • Spring常用注解(绝对经典)

    x1f3c6 作者简介 xff1a 哪吒 xff0c CSDN2022博客之星Top1 CSDN2021博客之星Top2 多届新星计划导师 博客专家 x1f4aa xff0c 专注Java硬核干货分享 xff0c 立志做到Java赛道全网T
  • c++排序方式

    选择排序 第一个数和后面n 1个数比 xff0c 找出最小的数 xff0c 替换第一个数 后面依此类推 include lt bits stdc 43 43 h gt using namespace std const int N 61 1
  • 程明明:面向弱监督的图像理解

    点击上方 深度学习大讲堂 可订阅哦 xff01

随机推荐

  • 白翔:复杂开放场景中的文本理解

    编者按 xff1a 李白的 秋浦歌 中有这样一句诗 xff1a 题诗留万古 xff0c 绿字锦苔生 xff0c 描绘了天执笔 地做纸 苔为墨 xff0c 挥毫题字的豪迈场景 xff0c 也展示了自然场景中文本类型的多样性 xff1b 而另两
  • 深度学习高效计算与处理器设计

    编者按 夫因朴生文 因拙生巧 相因相生 以至今日 在人工智能领域 机器学习研究与芯片行业的发展 即是一个相因相生的过程 自第一个深度网络提出 深度学习历经几次寒冬 直至近年 才真正带来一波AI应用的浪潮 这很大程度上归功于GPU处理芯片的发
  • 华科白翔教授团队ECCV2018 OCR论文:Mask TextSpotter

    本文经授权转自我爱计算机视觉52CV 华中科技大学白翔老师团队在自然场景文本检测与识别领域成果颇丰 xff0c 这篇被ECCV2018接收的论文 Mask TextSpotter An End to End Trainable Neural
  • 【CVPR2019】弱监督图像分类建模

    编者按 xff1a 获取大规模数据集的高置信标注是一个难点问题 xff0c 而解决此问题的弱监督学习更贴近人类对世界的认知机制 已有的弱监督图像分类研究 xff0c 通常局限于单标签或者多标签噪声场景 本文中 xff0c 将为大家介绍中科院
  • 重磅|中科视拓开源SeetaFace2人脸识别算法

    今天 xff0c 来自中科院计算所的人工智能国家队中科视拓宣布 xff0c 开源商用级SeetaFace2人脸识别算法 SeetaFace2采用商业友好的BSD协议 xff0c 这是在2016年9月开源SeetaFace1 0人脸识别引擎之
  • 学习笔记

    八种基本排序及其时间复杂度 https blog csdn net yang03 26 article details 80773280 参照上述文章中快速排序算法的源代码进行验证 在在线编程网站http www bccn net run
  • 杂记

    在线键盘敲击练习 xff1a https www dazima cn flash 127 html 有道云笔记网页网址 xff1a http note youdao com Android使用RenderScript实现图片的高斯模糊效果
  • ubuntu开机后桌面显示空白的问题

    原文 xff1a ubuntu开机只显示空白桌面解决方案 摘自 xff1a http www 2cto com os 201305 214687 html ubuntu开机只显示空白桌面解决方案 重新安装如下 xff1a sudo apt
  • 在ubuntu中安装编译工具mingw

    原文 xff1a Mingw xff1a 在Linux系统下编译Windows的程序 链接 xff1a http www sudu cn info html edu 20071227 87635 html Ubuntu下可以直接安装 xff
  • Spring Boot常用注解(绝对经典)

    x1f3c6 作者简介 xff1a 哪吒 xff0c CSDN2022博客之星Top1 CSDN2021博客之星Top2 多届新星计划导师 博客专家 x1f4aa xff0c 专注Java硬核干货分享 xff0c 立志做到Java赛道全网T
  • linux下deb包如何安装

    原文 xff1a 怎么安装deb软件 链接 xff1a http zhidao baidu com link url 61 w 6LOuxz 97ZrSjEDIZemmLBsQTsseXJCRe1qE5PkmFKhF3o8tRmAkBloU
  • ubuntu下用apt-get时一直报[正在等待报头]

    原文 xff1a ubuntu下用apt get是总是出现0 正在等待报头 链接 xff1a http blog csdn net nevasun article details 6268332 分类 xff1a Linux系统管理 201
  • Android软键盘弹出时把布局顶上去的解决方法

    原文 xff1a 解决Andriod软键盘出现把原来的布局给顶上去的方法 xff08 转 xff09 链接 xff1a http blog sina com cn s blog 9564cb6e0101g2eb html 决方法 xff0c
  • 一个android列表的适配器数据异步加载的问题

    一个android列表的适配器数据异步加载的问题 问题现象 xff1a 当点击一个ListView的子项 xff0c 等更新ListView完成时 xff0c 再点击一下ListView的子项 xff0c 程序运行良好 xff1b 当点击一
  • MHA高可用配置及故障切换

    MHA概述 传统的MySQL主从架构存在问题 单点故障 MHA概述 一套优秀的MySQL高可用环境下故障切换和主从复制的软件 MySQL故障过程中 xff0c MHA能做到0 30秒内自动完成故障切换 MHA的组成 MHA Manager
  • setenforce: SELinux is disabled解决方案

    解决方案 第一步 修改配置文件 root 64 www vi etc selinux config SELINUX 61 disabled 该为SELINUX 61 1 第二步 重启nginx服务 systemctl restart ngi
  • OpenStack

    文章目录 OpenStack概述OpenStack简介什么是云计算IaaSPaaSSaaSDaaS OpenStack发展历程OpenStack发展趋势OpenStack工作流程OpenStack管理流程QEMULibvirt OpenSt
  • 利用wget命令获取FTP资源

    wegt命令作用 xff1a 可以从对方的ftp服务器上直接下载现存的软件包 命令格式 xff1a wget ftp IP 软件包名称 若是防止网站上面现在相关软件包可以使用该命令 xff1a wget http IP 软件包名称 验证 x
  • 部署OpenStack架构

    文章目录 OpenStack环境部署部署思路基础环境配置配置OpenStack系统环境配置 Keystone 组件的搭建小结 Glance组件的搭建 OpenStack环境部署 虚拟机设备信息及需求 控制节点 xff08 ct xff09
  • FTP服务与DNS域名解析服务

    文章目录 FTP原理FTP匿名账户的部署过程 xff1a FTP本地用户的部署过程 xff1a 指定用户的宿主目录路径DNS 域名解析服务 DNS正向解析DNS反向解析DNS主从复制 FTP原理 ftp使用场合 xff1a 用于文件的传输