第九周作业

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

DNS服务器简述:

DNS:Domain Name System 域名系统,应用层协议,是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。基于C/S架构,服务器端口:53/udp, 53/tcp

DNS服务器原理:

DNS的主要作用就是将主机名解析成IP地址的过程,通过配置DNS服务器地址,主机不需要知道对应的IP地址就能通过主机名的形式访问互联网。

查询流程主要有:Client -->本机hosts文件 --> Client DNS Service Local Cache --> DNS Server (recursion递归) --> DNS Server Cache -->DNS iteration(迭代) --> 根--> 顶级域名DNS-->二级域名DNS·····

递归查询:一般客户机和本地DNS服务器之间属于递归查询,即当客户机向DNS服务器发出请求后, 若DNS服务器本身不能解析,则会向另外的DNS服务器发出查询请求,得到最终的肯定或否定的结果后转交给客户机。此查询的源和目标保持不变,为了查询结果只需要发起一次查询

迭代查询:一般情况下(有例外)本地的DNS服务器向其它DNS服务器的查询属于迭代查询,如:若对方不能返回权威的结果,则它会向下一个DNS服务器(参考前一个DNS服务器返回的结果)再次发起进行查询,直到返回查询的结果为止。此查询的源不变,但查询的目标不断变化,为查询结果一般需 要发起多次查询。

搭建主-辅服务器:

准备服务器:

DNS主:10.0.0.72

DNS从:10.0.0.73

client:10.0.0.71

目标server:10.0.0.84

第一步:DNS主配置

安装bind 和 bind-utils

yum -y install bind bind-utils

编辑/etc/named.conf

 options {
        listen-on port 53 { localhost; };
        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     { any; };
        allow-transfer {10.0.0.73};     

编辑文件/etc/named.rfc1912.zones,添加下面内容:

zone "magedu.org" IN {
        type master;
        file "magedu.org.zone";
};

按照参考文件创建个zone文件,并编辑下面内容:

cp -p /var/named/named.localhost /var/named/magedu.org.zone

 启动服务

systemctl enable --now named        第一次启动

rndc reload                                        非首次启动,直接加载配置文件

第二部:从服务器配置

安装bind和bind-utils

yum -y install bind bind-utils

编辑/etc/named.conf

options {
        listen-on port 53 { localhost; };
        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     { any; };
        allow-transfer { none;};

编辑文件/etc/named.rfc1912.zones,添加下面内容:

 zone "magedu.org" IN {
    type slave;
    master {10.0.0.72;};
    file "slave/magedu.org.slave";
};

systemctl enable --now named        第一次启动

rndc reload                                        非首次启动,直接加载配置文件

检查配置文件是否生成:

检验:

在客户端安装DNS工具:

yum -y install bind-utils

检验结果:

dig www.magedu.org

curl www.magedu.org

 停止主服务器,依旧可以访问

2、搭建并实现智能DNS。

实验准备:

web服务器1:10.0.0.81

web服务器2:100.0.0.82

DNS服务器:10.0.0.72

客户端1:10.0.0.71

客户端2:100.0.0.73

 准备环境:单独访问可以访问。

实验部署:

第一步:DNS服务器安装bind

yum -y install bind

第二步:编辑DNS服务器配置文件/etc/named.conf

添加下面内容:

acl 10_area {
        10.0.0.0/24;
};
acl 100_area {
        10.0.0.0/24;
};

view 10_area {
   match-clients { 10_area;};
   include "/etc/named.rfc1912.zones.10";
};
view 100_area {
   match-clients { 100_area;};
   include "/etc/named.rfc1912.zones.100";
};

将该文件内容:

zone "." IN {  

        type hint;  

        file "named.ca";

};

移动到:/etc/named.rfc1912.zones文件内。

第三步:配置区域文件:

我将区域文件拷贝了两份:分别是10和100结尾。需要和配置文件的内容对应。

分别对2个文件进行编辑,更改为对应配置文件:

zone "." IN {
        type hint;
        file "named.ca";
};
zone "magedu.org" {
        type master;
        file "magedu.org.zone.10或者100";
};

 第四步:创建区域数据库:

编辑文件/var/named/magedu.org.zone.10

文件 /var/named/magedu.org.zone.100同样更改即可。

第五步:验证配置文件。

named-checkconf

启动服务器

实验测试:

再客户端配置好dns服务器。进行测试:

客户端1测试:

 客户端2测试:

 实验完成

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

关闭firewall:systemctl stop firewalld

yum -y install iptables-services        //安装iptables服务

systemctl enable --now iptables        //启用iptables

设ssh、telnet 、ftp、均为默认端口:

iptables -A INPUT -d 10.0.0.71 -p tcp -m multiport --dports 20:23,80 -j ACCEPT
iptables -A INPUT -j REJECT
 

4、NAT原理总结

NAT网络地址转换,NAT分为源地址转换SNAT、目标地址转换DNAT、端口地址转换PANT。NAT解决了IPV4地址不足的问题。同时也保护了内网的安全。

SNAT:让本地网络中的主机通过某一特定地址访问外部网络,实现地址伪装,请求报文:修改源IP。

DNAT:把本地网络中的主机上的某服务开放给外部网络访问(发布服务和端口映射),但隐藏真实IP,请求报文:修改目标IP。

PNAT:端口和IP都进行修改

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

实验准备:

客户端服务器:10.0.0.71/24

NAT防火墙服务器:

10.0.0.72/24

100.0.0.72/24

服务端服务器:100.0.0.73/24

SNAT实现:

为了实验,我在服务端设置了个防火墙策略,拒绝10.0.0.71访问。如果客户端想要访问服务端,只能通过SNAT实现,或者更改IP。

iptables -A INPUT -s 10.0.0.71 -j REJECT

客户端测试:

 配置SNAT,将10.0.0.71转换为10.0.0.100

NAT防火墙配置:

1、iptables -t nat -A POSTROUTING -s 10.0.0.71 -j SNAT --to-source 10.0.0.100

 2、开启 ip_forward

vim /etc/sysctl.conf

net.ipv4.ip_forward=1

客户端测试连通性:

 SNAT配置完成

DNAT配置:

DNAT的实现方式,我这次通过服务端的服务器来进行测试,服务端访问10.0.0.70的地址转换为10.0.0.71 这样就实现DNAT。

未做策略前服务端服务器ping 10.0.0.70

 在NAT防火墙服务器配置:

iptables -t nat -A PREROUTING -d 10.0.0.70 -j DNAT --to-destination 10.0.0.71

 服务端服务器再次测试:

 DNAT实现完成。

规则持久保存:

systemctl enable iptables

方法1:保存防火墙的配置在/etc/rc.local中,每次开机自动运行一次脚本。该文件需要添加可执行权限。

方法2:iptables-save > /etc/sysconfig/iptables

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值