ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

第九周

2022-06-13 08:32:01  阅读:152  来源: 互联网

标签:named 0.0 etc DNS kobe 第九 local


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

 

 

DNS
DNS(Domain Name Service的缩写)的作用就是根据域名查出IP地址。IP地址是由32位二进制数字组成,人们很难记住这些IP,相反,大家愿意使用比较容易记忆的主机名字。而电脑在处理IP数据报文时,是使用IP地址的,因为它是固定长度。

DNS查询类型
递归查询:一般客户机和本地DNS服务器之间属于递归查询,即当客户机向DNS服务器发出请求后, 若DNS服务器本身不能解析,则会向另外的DNS服务器发出查询请求,得到最终的肯定或否定的结
果后转交给客户机。此查询的源和目标保持不变,为了查询结果只需要发起一次查询
迭代查询:一般情况下(有例外)本地的DNS服务器向其它DNS服务器的查询属于迭代查询,如:若对
方不能返回权威的结果,则它会向下一个DNS服务器(参考前一个DNS服务器返回的结果)再次发起
进行查询,直到返回查询的结果为止。此查询的源不变,但查询的目标不断变化,为查询结果一般需
要发起多次查询。

现在互联网规模很大,DNS被设计成一个分布式的数据库系统,他分布的功能就是把一个大的数据库切割成很多小的数据库,来分别提供一部分数据的处理。全球一共分布了13台DNS根服务器,10个在美国,1个荷兰,1个瑞典,1个日本。

 

搭建主-辅服务器

主DNS服务端配置

yum install bind -y
vim /etc/named.conf
#注释掉下面两行
// listen-on port 53 { 127.0.0.1; };
// allow-query { localhost; };
#只允许从服务器进行区域传输
allow-transfer { 从服务器IP;};
vim /etc/named.rfc1912.zones
#加上这段
zone "magedu.org" {
type master;
file "magedu.org.zone";
};
cp -p /var/named/named.localhost /var/named/magedu.org.zone
#如果没有-p,需要改权限。chgrp named magedu.org.zone
vim /var/named/magedu.org.zone
$TTL 1D
@ IN SOA master admin.magedu.org. (
1 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS master
NS slave

master A 10.0.0.8

slave A 10.0.0.18

rndc reload

从DNS服务器配置

yum install bind -y
vim /etc/named.conf
// listen-on port 53 { 127.0.0.1; };
// allow-query { localhost; };
#不允许其它主机进行区域传输
allow-transfer { none;};
vim /etc/named.rfc1912.zones
zone "magedu.org" {
type slave;
masters { 主服务器IP;};
file "slaves/magedu.org.slave";
};
rndc reload

2、搭建并实现智能DNS

主DNS服务器端配置文件实现view

yum -y install bind
vim /etc/name.conf
#在文件最前面加下面行
acl beijingnet {
10.0.0.0/24;
};
acl shanghainet {
172.16.0.0/16;
};
acl othernet {
any;
};

注释掉下面两行
// listen-on port 53 { 127.0.0.1; };
//allow-query { localhost; };

#其他略

#创建view
view beijingview {
match-clients { beijingnet; };
include "/etc/named.rfc1912.zones.beijing";
};
view shanghaiview {
match-clients { shanghainet; };
include "/etc/named.rfc1912.zones.shanghai";
};
view otherview {
macth-clients { othernet; };
include "/etc/named.rfc1912.zones.other";
};
include "/etc/named.root.key";

实现区域配置文件

vim /etc/named.rfc1912.zones.beijing
zone "." IN {
type hint;
file "name.ca";
};
zone "kobe.local" IN {
type master;
file "kobe.local.zone.beijing";
};

vim /etc/named.rfc1912.zones.shanghai
zone "." IN {
type hint;
file "named.ca";
};
zone "kobe.local" IN {
type master;
file "kobe.local.zone.shanghai";
};

vim /etc/named.rfc1912.zones.other
zone "." IN {
type hint;
file "named.ca";
};
zone "kobe.local" {
type master;
file "kobe.local.zone.other";
};

chgrp named /etc/named.rfc1912.zones.beijing
chgrp named /etc/named.rfc1912.zones.shanghai
chgrp named /etc/named.rfc1912.zones.other

创建区域数据文件

vim /var/named/kobe.local.zone.beijing
$TTL 1D
@ IN SOA master admin.kobe.local. (
1 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS master
master A 10.0.0.8
websrv A 10.0.0.7
www CNAME websrv

vim /var/named/kobe.local.zone.shanghai
$TTL 1D
@ IN SOA master admin.kobe.local. (
1
1D
1H
1W
3H )
NS master
master A 10.0.0.8
websrv A 172.16.0.7
www CNAME websrv

vim /etc/named/kobe.local.zone.other
$TTL 1D
@ IN SOA master admin.kobe.local. (
1
1D
1H
1W
3H )
NS master
master A 10.0.0.8
websrv A 127.0.0.1
www CNAME websrv

chgrp named /var/named/kobe.local.zone.beijing
chgrp named /var/named/kobe.local.zone.shanghai
chgrp named /var/namde/kobe.local.zone.other

systemctl start named
rndc reload

 实现位于不同区域的三个WEB服务器

#分别在三台主机上安装http服务
#在web服务器1:10.0.0.8/24实现
yum -y install httpd
echo www.kobe.local in other > /var/www/html/index.html
systemctl start httpd
#在web服务器2:10.0.0.7/16
echo www.kobe.local in beijing > /var/www/html/index.html
systemctl start httpd
#在web服务器3:172.16.0.7/16
yum -y install httpd
echo www.kobe.local in shanghai > /var/www/html/index.html
systemctl start httpd

客户端测试

#分别在三台主机上访问
#DNS客户端1:10.0.0.6/24 实现,确保DNS指向10.0.0.8
curl www.kobe.local
www.kobe.local in beijing
#DNS客户端2:172.16.0.6/16 实现,确保DNS指向172.16.0.8
curl www.kobe.local
www.kobe.local in shanghai
#DNS客户端3:10.0.0.8 实现,确保DNS指向127.0.0.1
curl www.kobe.local
www.kobe.local in other

 

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

[root@localhost ~]# iptables -I INPUT -s 10.0.0.8 -p tcp --dport 22 -j ACCEPT

[root@localhost ~]# iptables -A INPUT -p tcp -m multiport --dports 20,21,23,80,443 -j ACCEPT

[root@localhost ~]# iptables -A INPUT -j REJECT

[root@localhost ~]# iptables -vnL --line

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)

num pkts bytes target prot opt in out source destination

1 275 16076 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED

2 0 0 ACCEPT tcp -- * * 10.0.0.8 0.0.0.0/0 tcp dpt:22

3 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 multiport dports 20,21,23,80,443

4 2 333 REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-port-unreachable

 

4、NAT原理总结

由于网络的飞速发展和网络应用的极速增多,致使IPv4可用地址空间逐渐枯竭。尽管IPv6可以在根本上解决地址枯竭问题,但IPv4发展到IPv6还需要一个过渡,而这便产生了NAT。

NAT的作用
IP地址分为公网IP与私网IP。一般情况下,在互联网中,公网IP可直接访问,私网IP无法直接访问。而NAT则是将私网IP地址转换为公网IP地址(将IP报文头部的私网IP地址改为可以提供访问的公网IP地址),从而实现用户上网功能或服务器在互联网上提供服务。NAT还可以使得一个公网IP代表多个不同的内网IP,这样便节省了IP地址资源。

NAT的类型与分类
SNAT:source NAT ,支持POSTROUTING, INPUT,让本地网络中的主机通过某一特定地址访问外部网络,实现地址伪装,请求报文:修改源IP。
DNAT:destination NAT 支持PREROUTING , OUTPUT,把本地网络中的主机上的某服务开放给外部网络访问(发布服务和端口映射),但隐藏真实IP,请求报文:修改目标IP。
PNAT: port nat,端口和IP都进行修改。

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

1)启用ip_forward功能
vim /etc/sysctl.conf
net.ipv4.ip_forward=1
2)分别添加防火墙规则测试
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-172.18.1.9
iptables -t nat -A PREROUTING -d 192.168.0.8 -p tcp --dport 80 -j DNAT --to-destination 10.0.0.7:8080
3)保存规则
iptables-save > /root/iptables_config/config.txt
4)添加自动自动
vim /etc/rc.d/rc.local
添加如下行
/usr/sbin/iptables-restore < /root/iptables_config/config.txt

 

标签:named,0.0,etc,DNS,kobe,第九,local
来源: https://www.cnblogs.com/glc19980204/p/16369503.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有