9

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

原理:客户机提出域名解析请求,并将该请求发送给本地的域名服务器。当本地的域名服务器收到请求后,就先查询本地的缓存,如果有该纪录项,则本地的域名服务器就直接把查询的结果返回。如果本地的缓存中没有该纪录,则本地域名服务器就直接把请求发给根域名服务器,然后根域名服务器再返回给本地域名服务器一个所查询域(根的子域) 的主域名服务器的地址。本地服务器再向上一步返回的域名服务器发送请求,然后接受请求的服务器查询自己的缓存,如果没有该纪录,则返回相关的下级的域名服务器的地址。重复第四步,直到找到正确的纪录。本地域名服务器把返回的结果保存到缓存,以备下一次使用,同时还将结果返回给客户机。

1.搭建主DNS服务器 ;准备工作关闭SElinux、关闭防火墙、时间同步

1)安装软件包:yum install bind bind-utils -y

2)修改bind 主配置文件:# vim /etc/named.conf

注释掉下面两行;设置只允许从服务器进行区域传输 allow-transfer { 从服务器IP;};

listen-on port 53 { 127.0.0.1; };

allow-query     { localhost; };

在区域配置文件里添加要解析的域名配置:# vim /etc/named.rfc1912.zones

zone后面" "里写域名;file" "里写区域数据库文件名


3)配置区域数据库文件:(在/var/named/下)

可以复制模板数据库文件,使用-p保留文件属性;或者自己创建文件,然后修改权限

# cp -p /var/named/named.localhost /var/named/test.org.zone

# vim test.org.zone

4)检查配置文件和数据库文件格式,并启动服务

# named-checkconf    主配置文件语法检查

# named-checkzone test.org /var/named/test.org.zone    解析库文件语法检查

# systemctl start named               #第一次启动服务


2.从DNS服务器配置;准备工作关闭SElinux、关闭防火墙、时间同步

1)安装软件包:yum install bind bind-utils -y

2)修改主配置文件:# vim /etc/named.conf

注释掉下面两行;设置不允许其它主机进行区域传输  allow-transfer { none;};

// listen-on port 53 { 127.0.0.1; };

// allow-query     { localhost; };


区域配置文件里添加:# vim /etc/named.rfc1912.zones

zone "test.org" {

  type slave;

    masters { 主服务器;};

  file "slaves/test.org.slave";

};


3)修改主服务器区域数据库文件版本号+1

可以添加一条资源记录用于测试

www  A     10.0.0.12

# systemctl start named          #启动服务

ls /var/named/slaves/test.org.slave #查看区域数据库文件是否生成

测试是否成功

修改网卡配置文件里的DNS;重新加载配置文件;重启网卡;


关闭主DNS服务器后



二、搭建并实现智能DNS。

1)准备环境:关闭SElinux、关闭防火墙、时间同步

DNS主服务器和web服务器1(两块网卡):10.0.0.12/24、192.168.3.90/24 

# yum install -y httpd

# echo www.test.org.other > /var/www/html/index.html

web服务器2:10.0.0.11/24

# yum install -y httpd

# echo www.test.org.sz > /var/www/html/index.html

web服务器3:192.168.3.87/24

# yum install -y httpd

# echo www.test.org.sh > /var/www/html/index.html

DNS客户端1:10.0.0.13/24

DNS客户端2:192.168.3.89/24

2)配置主服务器

# vim /etc/named.conf

#注释掉下面两行

listen-on port 53 { 127.0.0.1; };

allow-query     { localhost; };


注意:acl定义在配置文件中,处于options的前面
一旦启用了view,所有的zone都只能定义在view中

3)实现区域配置文件

# vim /etc/named.rfc1912.zones.sz

# vim /etc/named.rfc1912.zones.sh


# vim /etc/named.rfc1912.zones.other


# chgrp named /etc/named.rfc1912.zones.sz

# chgrp named /etc/named.rfc1912.zones.sh

# chgrp named /etc/named.rfc1912.zones.other


4)创建区域数据库文件

# vim /var/named/test.org.zone.sz

# vim /var/named/test.org.zone.sh

# vim /var/named/test.org.zone.other


5)主配置文件语法检查;解析库文件语法检查;然后启动服务

# systemctl start named 启动服务

6)测试

#分别在三台主机上访问

#DNS客户端1:10.0.0.13/24 实现,确保DNS指向10.0.0.12

#DNS客户端2:192.168.3.89/24 实现,确保DNS指向192.168.3.90

#DNS客户端3:10.0.0.12实现,确保DNS指向127.0.0.1

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


三、NAT原理总结

实现私有地址网络内所有计算机与Internet的通信需求;借助于NAT将自动修改IP报文的源IP地址和目的IP地址,Ip地址校验则在NAT处理过程中自动完成;

请求报文:修改源/目标IP,由定义如何修改

响应报文:修改源/目标IP,根据跟踪机制自动实现

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

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

PNAT: 端口和IP都进行修改

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

开启ip_forward

# vim /etc/sysctl.conf

net.ipv4.ip_forward=1

使文件生效# sysctl -p

实现SNAT

# iptables -t nat -A POSTROUTING -s 10.0.0.0/24 ! -d 10.0.0.0/24 -j SNAT --to-source 172.18.1.6

实现DNAT

# iptables -t nat -A PREROUTING -d 192.168.0.8 -p tcp --dport 80 -j DNAT --to-destination 10.0.0.7:8080

持久保存:

先屏蔽firewalld和nftables服务

systemctl mask firewalld.service nftables.service

安装iptables-services

yum install iptables-services -y

手动定义好规则后然后加载到文件里

iptables-save > /etc/sysconfig/iptables

设置开机自动启动服务

systemctl enable iptables.service

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容