实验:iptables防火墙+DNS分离解析

127 阅读4分钟

实验考察知识点:

  • iptables防火墙的规则配置
  • DNS分离解析的配置

实验内容:

web服务器在内网中,提供http服务。

要求内网中的主机能够通过 www.xyd.com 访问该web服务。

外网的主机能够通过 www.xyd.com:8080 访问该web服务。

实验环境:

1、web服务器:192.168.137.10/24(VMnet1)

2、外网主机(win10客户机):12.0.0.200/24(VMnet2)

3、网关服务器:

ens33网卡地址:192.168.137.137/24(VMnet1)

ens36网卡地址:12.0.0.254/24(VMnet2)

实验拓扑:

0.png

实验步骤:

一、配置网关服务器

1、配置网卡。

增加一块网卡ens36。

将ens33的网络模式设置为VMnet1(仅主机模式),地址设置为192.168.137.137。

将ens36的网络模式设置为VMnet2(仅主机模式),地址设置为12.0.0.254。

之后重启网络服务。

1.0.png

1.1网关服务器2.png

2、关闭firewalld和selinux。开启路由转发功能。

 [root@localhost ~]# systemctl stop firewalld
 [root@localhost ~]# setenforce 0
 [root@localhost ~]# vim /etc/sysctl.conf
 net.ipv4.ip_forward = 1     //在文件中增加这一行,开启路由转发功能
 ​
 [root@localhost ~]# sysctl -p    //读取修改后的配置
 net.ipv4.ip_forward = 1
复制代码

3、配置iptables策略。

1)设置SNAT服务,解析源地址。修改nat表中的POSTROUTING链

 [root@localhost ~]# iptables -t nat -A POSTROUTING -s 192.168.137.10/24 -o ens36 -j SNAT --to 12.0.0.254
 ​
 #-t nat:指定nat表
 #-A POSTROUTING:指定POSTROUTING链
 #-s 192.168.72.10/24:源地址网段
 #-o ens36:出站网卡
 #-j SNAT --to 12.0.0.254:使用SNAT服务,将源地址转换成公网IP地址。
复制代码

2)设置DNAT服务,解析目的地址。修改nat表中的PRETROUTING链。

 [root@localhost ~]# iptables -t nat -A PREROUTING -i ens36 -d 12.0.0.254 -p tcp --dport 8080 -j DNAT --to 192.168.137.10:80
复制代码

4、配置DNS分离解析。

当内网解析ww.xyd.com时,将域名解析为:192.168.137.10。

当外网解析wwxyd.com时,将域名解析为:12.0.0.254。

1)编辑主配置文件。

 [root@localhost ~]# vim /etc/named.conf     //编辑主配置文件
 -----------------------------------
  12 options {
  13         listen-on port 53 { any; };        //将监听地址修改为any
  14         listen-on-v6 port 53 { ::1; };
  15         directory       "/var/named";
  16         dump-file       "/var/named/data/cache_dump.db";
  17         statistics-file "/var/named/data/named_stats.txt";
  18         memstatistics-file "/var/named/data/named_mem_stats.txt";
  19         allow-query     { any; };          //将允许查询的地址修改为any
 ​
  52 #zone "." IN {
  53 #      type hint;
  54 #      file "named.ca";
  55 #};
  
复制代码

1.4域名解析1.png

1.4域名解析2.png

2)编辑区域配置文件。

  [root@localhost ~]# vim /etc/named.rfc1912.zones     //修改区域配置文件,要将view以外的zones都删除
 ----------------------
 view "lan" {
   match-clients {192.168.137.0/24;};    //声明内网网段
   zone "yuji.com" IN {                   //声明域名
        type master;
        file "yuji.com.zone.lan";         //声明内网解析时对应的地址库文件
   };
   zone "." IN {               //用于解析根域名
       type hint;
       file "named.ca";
   };
 };
 ​
 view "wan" { 
   match-clients {any;};               //声明外网地址      
   zone "yuji.com" IN {                //声明域名
        type master;
        file "yuji.com.zone.wan";      //声明外网解析时对应的地址库文件
   };
 };
复制代码

1.4域名解析3.png

3)配置内网解析地址库文件:

 [root@localhost ~]# cd /var/named/
 [root@localhost named]# cp -p named.localhost  yuji.com.zone.lan
 [root@localhost named]# vim  yuji.com.zone.lan
 $TTL 1D
 @       IN SOA  @ admin.yuji.com. (
                                         0       ; serial
                                         1D      ; refresh
                                         1H      ; retry
                                         1W      ; expire
                                         3H )    ; minimum
         NS      @
 master  A       192.168.137.137
 www IN  A       192.168.137.10
复制代码

1.4域名解析4.png

4)配置外网解析地址库文件。之后启动named服务。

 [root@localhost ~ named]# cp -p named.localhost  yuji.com.zone.wan
 [root@localhost named]# vim  yuji.com.zone.wan
 $TTL 1D
 @       IN SOA  @ admin.yuji.com. (
                                         0       ; serial
                                         1D      ; refresh
                                         1H      ; retry
                                         1W      ; expire
                                         3H )    ; minimum
         NS      @
         A       12.0.0.254
 www IN  A       12.0.0.254
 ​
 [root@yuji named]# systemctl start named    //启动named服务
复制代码

1.4域名解析5.png

二、配置web服务器

1、关闭firewalld和selinux。

 [root@web ~]# systemctl stop firewalld
 [root@web ~]# setenforce 0
复制代码

2、修改网卡配置。

将网络模式修改为VMnet1(仅主机模式)。

编辑网卡配置文件,将网卡地址设置为192.168.137.10,网关地址设置为192.168.137.137。

之后重启网络服务。

2.2网卡.png

2.2网卡2.png

3、安装httpd服务,启动服务。

安装httpd软件包,写一个网页,启动httpd服务。本地验证一下能否打开该网页。

 [root@web ~]# yum install -y httpd      //安装httpd服务
 ​
 [root@web ~]# cd /var/www/html         //切换到httpd服务的根目录
 [root@web html]# echo 'this is first web' > index.html     //写一个测试网页
 [root@web html]# systemctl start httpd     //启动httpd服务
复制代码

2.3httpd服务.png

三、配置外网客户端(win10客户机)

1、修改网卡配置。

将网络模式修改为VMnet2(仅主机模式)。

编辑网卡配置文件,IP地址:12.0.0.200,网关地址:12.0.0.254,DNS服务器地址:12.0.0.254。

3网卡配置1.png

3网卡配置2.png

小贴士:

指定DNS服务器的两种方式:

方法一:修改 /etc/resolv.conf 文件。

[root@localhost ~]# vim /etc/resolv.conf
 nameserver 192.168.137.137      //将DNS服务器地址写入文件中
[root@localhost ~]# cat /etc/resolv.conf    //查看文件内容
 # Generated by NetworkManager
 nameserver 192.168.137.137
复制代码

方法二:修改网卡配置文件,之后重启网络服务。系统会自动将DNS服务器地址写入/etc/resolv.conf 文件中。

 [root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
 -----------------
 DNS1=192.168.137.137     //指定DNS服务器地址
 ​
[root@localhost ~]# systemctl restart network    //重启网络服务
 [root@localhost ~]# cat /etc/resolv.conf         //查看文件内容
 # Generated by NetworkManager
 nameserver 192.168.137.137