第九周作业

第九周作业

  1. 述DNS服务器原理,并搭建主-辅服务器。
  2. 搭建并实现智能DNS。
  3. 使用iptable实现: 放行ssh,telnet, ftp, web服务80端口,其他端口服务全部拒绝
  4. NAT原理总结
  5. iptables实现SNAT和DNAT,并对规则持久保存。

第1题

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

domain name server,用于把域名与IP地址的互相映射。

当client访问一个域名时,首先会查询本机的hosts文件,若hosts文件没有缓存该域名的ip地址,则会想local DNS服务器发起查询。

local DNS服务器查询缓存上是否有该域名对应的ip地址,若有则返回给client,若没有则会向根服务器发起查询,然后将结构返回给client,这是递归模式。

一般情况下本地DNS向其他DNS服务器查询属于迭代查询,若对方无法返回权威结构,则他会向下一个(上级)DNS服务器发起查询,直到查询出结果。

搭建主-副服务器。

###服务安装和基础配置省略
#在/etc/named.conf中注释掉listen ip、allow-query限制。

##主节点
#在/etc/named.conf中添加:安全
  allow-transfer {10.0.0.124};

##从节点配置:
#/etc/named.rfc1912.zones中添加
zone "magedu.org" IN {
	type slave;
	masters {10.0.0.121;};
	file "slaves/magedu.org.slave";
};
#在/etc/named.conf中添加:
  allow-transfer {none};

##重启服务
rndc reload
systemctl restart named

##检查RR是否同步成功
[root@localhost /var/named/slaves]#ll
total 4
-rw-r--r-- 1 named named 333 May 12 15:04 magedu.org.slave

##client的网卡配置中添加DNS1 DNS2

主DNS服务器修改RR后必须修改“ serial”,slave服务器才会同步,才认为有更新。

注意:master和slave,有的地方用单数,有的地方用复数。slave服务器named.rfc上配置为masters,RR文件夹/vat/named/slaves都为复数。

第2题

搭建并实现智能DNS

1.named.conf配置修改

  • 添加acl,划定网段、
  • 注释掉 zone “.”域,
  • 添加view,view内指定named配置文件.
image-20220514002051103

image-20220514002128273

复制新建各个view指定的named.rfc配置文件

image-20220514002156355

修改named.rfc***文件,添加zone “.”和view的RR文件

image-20220514002450269

修改RR文件,不同的地区对应不同的websrv地址

image-20220516235139309

image-20220516235152720

第3题

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

#规则表配置
iptables -P INPUT -j DROP
iptables -t filter -A INPUT -p tcp -m multiport --dport 20:23,80 -j ACCEPT

image-20220517005817338

#保存配置
iptables-save > /date/iptables.rule
echo "iptables-restore < /date/iptables.rule" >> /etc/rc.d/rc.local
chmod +x /etc/rc.d/rc.local

第4题

NAT原理总结

作用:

NAT,network address translation,通过修改chain中的请求报文的源地址或目标地址,实现修改源地址或目标地址。

SNAT,当数据包流出NAT网关时,在POSTROUTING中将数据包中的源IP地址转换为指定的(公网)IP。

DNAT,当数据包流入NAT网关时,在PREROUTING中,将数据包的目的IP修改为指定的IP地址。

第五题

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

实验设备

外网主机:Ubuntu2104:172.16.0.101

firewall: centos8:172.16.0.133、10.0.0.133

内网主机1:centos8 10.0.0.131

内网主机2:centos8 10.0.0.132

实验拓扑

image-20220517140625503

主机配置

##firewall配置

#开启内核转发
[root@firewall ~]#vim /etc/sysctl.conf
[root@firewall ~]#
[root@firewall ~]#sysctl -p
net.ipv4.ip_forward = 1
[root@firewall ~]#



##ubuntu2014配置
#修改/etc/netplan/eth1.ymal配置,网关指向firewall的eht1:172.16.0.133

[zhou@ubuntu101 ~]$cat /etc/netplan/eth1.yaml
# Let NetworkManager manage all devices on this system
network:
  version: 2
  renderer: NetworkManager
  ethernets:
    eth1:
      addresses:
      - 172.16.0.101/24
      gateway4: 172.16.0.133
      nameservers:
        addresses: [172.16.0.1]


##centos8配置,两台均添加网关指向firewall的eth1:10.0.0.133

[root@localhost ~]#ip route add default via 10.0.0.133 dev eth0
[root@localhost ~]ip route
default via 10.0.0.133 dev eth0
default via 10.0.0.2 dev eth0 proto static metric 100
10.0.0.0/24 dev eth0 proto kernel scope link src 10.0.0.132 metric 100

经测试,Ubuntu和centos可跨网段互相ping通。

##修改firewall的iptables配置,实现SNAT和DNAT

iptables -t nat -A PREROUTING -d 172.16.0.133 -p tcp --dport 80 -j DNAT --to-destination 10.0.0.131:80

 iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -j SNAT --to-source 172.16.0.133

image-20220517170004717

测试

通过内外网curl对端网页或者ssh登录

查看本机端口estab状态和htpd日志,获取实际访问的是否经过转换。

  • ss -nt
  • tail /var/log/httpd/accsee.log

image-20220517171348832

保存

iptables-save > /date/iptable.rule

vim /etc/rc.d/rc.local
 iptables-restore < /date/iptable.rule
 
chmod +x /etc/rc.d/rc.local
 
posted @   小布甲  阅读(40)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示