linux学习分享(第九周)
1、简述DNS服务器原理,并搭建主-辅服务器。
DNS域名解析过程:
1)客户端输入域名,查询本地缓存
2)本地DNS服务器查询,本地DNS服务器如果有内部缓存,则直接返回结果的IP给客户端,否则则进入第三步。
3)本地DNS向根域名服务器查询,根域服务器返回一级域地址
4)本地DNS向根域返回的一级域服务器查询,一级域的本地缓存,一级域名服务器返回二级域地址
5)以此类推,直到查询到终结果,返回给本地DNS服务器
6)本地DNS服务器,将解析的结果返回客户端
7)客户端根据返回结果的Ip浏览互联网
搭建主-备DNS服务器
前提条件:
www服务器 192.168.19.132 操作系统:centos7.9 关闭SELINUX/时间同步/关闭防火墙
DNS主服务器 192.168.19.130 操作系统:centos7.9 关闭SELINUX/时间服务器/关闭防火墙
DNS备服务器 192.168.19.131 操作系统:centos7.9 关闭SELINUX/时间同步/关闭防火墙
客户端服务器 192.168.19.127 操作系统:centos7.9 关闭SELINUX/时间同步/关闭防火墙
主DNS服务器配置:
1)安装named服务
yum install -y bind
2)修改配置文件/etc/named.conf

3)编辑主DNS的/etc/named.rfc1912.zones文件,新增如下配置

4)创建jiaxiao.com.zone
cp -p named.localhost /var/named/jiaxiao.zone
named]# cat jiaxiao.com.zone
$TTL 1D
@ IN SOA master admin.jiaxiao.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS master
NS slave
master A 192.168.19.131
slave A 192.168.19.130
www A 192.168.19.132
启动named服务
systemctl start named
从DNS服务部署
yum install -y bind
#编辑/etc/named.conf
listen-on port 53 { localhost; };
allow-query { any; };
allow-transfer { none;};
#编辑/etc/named.rfc1912.zones
zone "jiaxiao.com" IN {
type slave;
masters { 192.168.19.131;};
file "slaves/jiaxiao.com.slave";
};
#启动named服务
systemctl start named
#在测试机添加DNS配置,编辑对应的网卡配置文件
DNS1=192.168.19.131
DNS2=192.168.19.130
#在客户端通过如下命令验证
curl www.jiaxiao.com
dig www.jiaxiao.com

停止主DNS服务

2、搭建并实现智能DNS。
前提条件:
DNS服务器 配置两个地址段 192.168.19.131/24 10.0.0.131/24 添加子接口
WWW服务器 配置两个地址段 192.168.19.132/24 10.0.0.132/24 添加子接口
客户端 配置两个地址段 192.168.19.127/24 10.0.0.127/24 添加子接口
1)DNS服务器上部署BIND服务
编辑/etc/named.conf文件
#新增acl配置
acl beijingnet{
192.168.19.0/24;
};
acl shanghainet{
10.0.0.0/24;
};
#新增view配置
view beijingview{
match-clients { beijingnet;};
include "/etc/named.rfc1912.zones.bj";
};
view shanghaiview{
match-clients { shanghainet;};
include "/etc/named.rfc1912.zones.sh";
};
#修改配置
listen-on port 53 { localhost; };
allow-query { any; };
注释行include "/etc/named.rfc1912.zones";
保存并退出
2)创建区域配置文件
cp -p /etc/named.rfc1912.zones /etc/named.rfc1912.zones.bj
cp -p /etc/named.rfc1912.zones /etc/named.rfc1912.zones.sh
vim /etc/named.rfc1912.zones.bj
zone "." IN {
type hint;
file "named.ca";
};
zone "jiaxiao.com" IN {
type master;
file "jiaxiao.com.zone.bj";
};
vim /etc/named.rfc1912.zones.sh
zone "." IN {
type hint;
file "named.ca";
};
zone "jiaxiao.com" IN {
type master;
file "jiaxiao.com.zone.sh";
};
3)创建区域数据库文件
vim /var/named/jiaxiao.com.zone.bj
$TTL 1D
@ IN SOA master admin.jiaxiao.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS master
NS slave
master A 192.168.19.131
slave A 192.168.19.130
www A 192.168.19.132
vim /var/named/jiaxiao.com.zone.sh
$TTL 1D
@ IN SOA master admin.jiaxiao.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS master
NS slave
master A 192.168.19.131
slave A 192.168.19.130
www A 10.0.0.132
#修改文件属主
chgrp named /var/named/jiaxiao.com.zone.bj
chgrp named /var/named/jiaxiao.com.zone.sh
4)客户端安装http服务
5)业务验证


3、iptable实现: 放行ssh,telnet, ftp, web服务80端口,其他端口服务全部拒绝
1) 确认服务器对应端口22/80/21/23已开启

2)在服务端添加iptables规则
iptables -A INPUT -d 192.168.19.127 -p tcp -m multiport ! --dport 21:23,80 -j REJECT
3、NAT原理总结
NAT的基本工作原理是,当私有网主机和公共网主机通信的IP包经过NAT网关时,将IP包中的源IP或目的IP在私有IP和NAT的公共IP之间进行转换
要做SNAT的信息包被添加到POSTROUTING链中。要做DNAT的信息包被添加到PREROUTING链中。直接从本地出站的信息包的规则被添加到OUTPUT 链中。
DNAT:若包是被送往PREROUTING链的,并且匹配了规则,则执行DNAT或REDIRECT目标。为了使数据包得到正确路由,必须在路由之前进行DNAT。
路由:内核检查信息包的头信息,尤其是信息包的目的地。
处理本地进程产生的包:对nat表OUTPUT链中的规则实施规则检查,对匹配的包执行目标动作。
SNAT:若包是被送往POSTROUTING链的,并且匹配了规则,则执行SNAT或MASQUERADE目标。系统在决定了数据包的路由之后才执行该链中的规则
4、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
浙公网安备 33010602011771号