第九周提交

第九周提交

1、简述DNS服务器原理,并搭建主-辅服务器。

DNS服务器原理:

  1. 客户端需要查询一个主机名如X.XX.COM,将查询请求发给DNS服务器。
  2. DNS服务器根据“递归查询”或“迭代查询”回复主机IP地址或DNS服务器地址。

递归查询方式:

  1. DNS服务器在自己的库或缓存查找,如果找到了就回复,没有找到就转发给根服务器查找。
  2. 根服务器回复一级域名DNS服务器地址。
  3. DNS服务器向一级域名DNS服务器查询。一级域名服务器如果找到回复IP,如果没找到回复对应的二级域名服务器地址。
  4. DNS服务器重复3的过程直到找到或最后一级回复没有,并回复给客户端最终结果。

迭代查询方式:

  1. DNS服务器在自己的库或缓存查找,如果找到了就回复,没有找到就转发给根服务器查找。
  2. 根服务器回复一级域名DNS服务器地址。本DNS服务器把一级域名服务器IP回复客户端。
  3. 客户端向一级域名服务器查找,如果一级域名服务器如果找到回复IP,如果没找到回复对应的二级域名服务器地址。
  4. 客户端重复3的过程,直到找到或最后一级回复没有。

搭建主辅DNS服务器

1登陆两台DNS服务器安装bind

        yum -y install bind

2修改两台DNS服务器主配置文件

vim /etc/named.conf  修改以下两行配置

        listen-on port 53 { localhost; };

        //      allow-query     { localhost; };

3新建域

vim /etc/named.rfc1912.zones

zone "testcompany.local" IN{

        type master;

        file "testcompany.local.zone";

        allow-update { none; };

};

4检查主配置文件语法正确性

        named-checkconf

5配置数据文件

$TTL 3H

@       IN SOA  @ rname.invalid. (

                                        0       ; serial

                                        1D      ; refresh

                                        1H      ; retry

                                        1W      ; expire

                                        3H )    ; minimum

        NS      masterns

        NS      slavedns1

        www     A       10.0.0.7

        masterns        A       10.0.0.17

        slavedns1       A       10.0.0.27

6完成后检查配置文件语法正确性

        named-checkzone "testcompany.local" /var/named/testcompany.local.zone

7启动named服务并通过客户端测试

systemctl start named

[root@centos7_7 ~]# dig www.testcompany.local

; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.8 <<>> www.testcompany.local

;; global options: +cmd

;; Got answer:

;; WARNING: .local is reserved for Multicast DNS

;; You are currently testing what happens when an mDNS query is leaked to DNS

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 48696

;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 3

;; OPT PSEUDOSECTION:

; EDNS: version: 0, flags:; udp: 4096

;; QUESTION SECTION:

;www.testcompany.local. IN A

;; ANSWER SECTION:

www.testcompany.local. 10800 IN A 10.0.0.7

;; AUTHORITY SECTION:

testcompany.local. 10800 IN NS masterns.testcompany.local.

testcompany.local. 10800 IN NS slavedns1.testcompany.local.

;; ADDITIONAL SECTION:

masterns.testcompany.local. 10800 IN A 10.0.0.17

slavedns1.testcompany.local. 10800 IN A 10.0.0.27

;; Query time: 1 msec

;; SERVER: 10.0.0.17#53(10.0.0.17)

;; WHEN: 五 12月 03 23:44:58 CST 2021

;; MSG SIZE  rcvd: 145

8配置从服务器域

        zone "testcompany.local" IN{

        type slave;

        masters {10.0.0.17;};

        file "slaves/testcompany.local.slave";

        };

9启动从服务器

        systemctl start named

2、搭建并实现智能DNS。

准备5台测试机子

        10.0.0.7 客户端1

        192.168.84.8 客户端2

        10.0.0.17、192.168.84.17 DNS服务器 双IP地址

        10.0.0.37 WEB服务器1

        192.168.84.27 Web服务器2

用于实现

        客户端1访问www.testcompany.local 解析为10.0.0.37

        客户端2访问www.testcompany.local 解析为192.168.84.27

配置过程

客户端安装bind-utils 用于调试

        yum -y install bind-utils

DNS服务器安装bind

        yum -y install bind bind-utils

配置DNS服务器主配置文件

        vim /etc/named.conf

修改以下两项

        listen-on port 53 { localhost; };

        //      allow-query     { localhost; };

增加以下内容

acl fujiannet {

        10.0.0.0/24;

};

acl guandongnet {

        192.168.84.0/24;

};

acl othernet {

        any;

};

view fujianview {

        match-clients { fujiannet ;};

        include "/etc/named.rfc1912.zones.fj";

};

view guandongview {

        match-clients { guandongnet; };

        include "/etc/named.rfc1912.zones.gd";

};

view otherview{

        match-clients {othernet;};

        include "/etc/named.rfc1912.zones.other";

};

删除其他不需要的域

配置域文件

[root@centos7_17 ~]# cat /etc/named.rfc1912.zones.fj

zone "." IN {

        type hint;

        file "named.ca";

};

zone "testcompany.local" IN {

type master;

file "testcompany.local.zone.fj" ;

};

[root@centos7_17 ~]# cat /etc/named.rfc1912.zones.gd

zone "." IN {

        type hint;

        file "named.ca";

};

zone "testcompany.local" IN {

type master;

file "testcompany.local.zone.gd" ;

};

[root@centos7_17 ~]# cat /etc/named.rfc1912.zones.other

zone "." IN {

        type hint;

        file "named.ca";

};

zone "testcompany.local" IN {

type master;

file "testcompany.local.zone.other" ;

};

并修改所有者和权限

        chown root:named /etc/named.rfc1912.zones.*

        chown 640 /etc/named.rfc1912.zones.*

语法检查

        named-checkconf

配置DNS数据文件

        cat /var/named/testcompany.local.zone.fj

$TTL 3H

@ IN SOA testcompany.local rname.invalid. (

0 ; serial

1D ; refresh

1H ; retry

1W ; expire

3H ) ; minimum

NS master

master A 10.0.0.17

websrv A 10.0.0.37

www CNAME websrv

cat /var/named/testcompany.local.zone.gd

$TTL 3H

@ IN SOA @ rname.invalid. (

0 ; serial

1D ; refresh

1H ; retry

1W ; expire

3H ) ; minimum

NS master

master A 192.168.84.17

www A 192.168.84.27

cat /var/named/testcompany.local.zone.other

$TTL 3H

@ IN SOA testcompany.local rname.invalid. (

0 ; serial

1D ; refresh

1H ; retry

1W ; expire

3H ) ; minimum

NS master

master A 10.0.0.17

websrv A 127.0.0.1

www CNAME websrv

启动named服务

systemctl start named

客户端测试

[root@centos7_7 ~]# curl http://www.testcompany.local

10.0.0.37 Server

[root@centos8 ~]# curl http://www.testcompany.local

192.168.84.27 Server

3、使用iptable实现: 放行ssh,telnet, ftp, web服务80端口,其他端口服务全部拒绝

iptables -A INPUT -m multiport -p tcp --dports 21:23,80 -j ACCEPT

iptables -A INPUT -j REJECT

4、NAT原理总结

NAT分为SNAT 源NAT、DNAT 目的NAT

源NAT一般用于客户端通过防火墙或路由器上网

  1. 数据包从内网地址如10.0.0.2发到防火墙。
  2. 防火墙将源IP地址由内网10.0.0.2替换为自己的外网IP 如218.85.157.99,记录下客户端源端口并转发到互联网。
  3. 互联网服务器回包到防火墙,防火墙根据源端口,将目的IP地址由218.85.157.99替换为客户端IP 10.0.0.2并转发给客户端。

目的NAT一般用于发布内网应用

1、互联网主机XXX访问内网主机web服务,并将数据包发给防火墙。

2、防火墙收到互联网主机访问218.85.157.99的80端口包时,将包目的IP地址替换为内网主要10.0.0.2地址,并转发给客户端。

3、客户端回包经过防火墙,防火墙将10.0.0.2转为218.85.157.99,发给互联网主机。

5、iptables实现SNAT和DNAT,并对规则持久保存。

启用端口转发

vim /etc/sysctl.conf

net.ipv4.ip_forward=1

sysctl -p

配置iptables策略

SNAT策略

iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j SNAT

--to-source 218.85.157.99

DNAT策略

iptables -t nat -A PREROUTING -d 218.85.157.99 -p tcp --dport 80

-j DNAT --to-destination 192.168.1.2:8080

持久保存

yum -y install iptables-services

systemctl enable --now iptables.service

修改后保存

iptables-save > /etc/sysconfig/iptables

启动iptables服务器,系统会加载iptables规则

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值