利用防火牆實現向外網提供內網web和dns服務


一、實驗方案

wKiom1M1eMCCBAUCAAJ9RFqKWNU000.jpg

二、內網DNS服務的搭建

       1. 登錄172.16.20.22爲內網主機dns.magelinux.com安裝bind

[root@dns ~]# yum -y install bind

       2. 編輯配置文件,添加magelinux.com區域。實現將來自202.102.224.0/24網段的用戶解析到202.102.224.11.將來自172.16.20.0/24網段的用戶解析爲172.16.20.33

[root@dns ~]# vim /etc/named.rfc1912.zones
 view "in" {
    match-clients { 172.16.20.0/16; };
       zone "magelinux.com." IN {
          type master;
          file "magelinux.com.zone";
         };
  };
view "out" {
    match-clients { 202.102.224.0/24; };
       zone "magelinux.com." IN {
         type master;
         file "magelinux.com.zoneout";
         };
 };

       3. 編輯區域文件

[root@dns ~]# vim /var/named/magelinux.com.zone
  1 $TTL 86400
  2 @              IN  SOA         dns.magelinux.com   xuqimin.magelinux.com (
  3                                 2014032801
  4                                 1D
  5                                 5M
  6                                 7D
  7                                 2M)
  8                IN   NS      dns 
  9 dns            IN   A      172.16.20.22
 10 www            IN   A      172.16.20.33
[root@dns ~]# vim /var/named/magelinux.com.zoneout
  1 $TTL 86400
  2 @              IN  SOA         dns.magelinux.com   xuqimin.magelinux.com (
  3                                 2014032801
  4                                 1D
  5                                 5M
  6                                 7D
  7                                 2M)
  8                IN   NS      dns
  9 dns            IN   A      202.102.224.11
 10 www            IN   A      202.102.224.11

       4. 講網關指向172.16.20.11在內外網測試

[root@stu20 ~]# dig -t A www.magelinux.com @172.16.20.2

           測試通過,能成功解析

三、內網Web服務搭建

       1. 登錄172.16.20.33安裝httpd

[root@web ~]# yum install httpd

       2. 配置主頁

[root@web ~]# vim /var/www/html/index.html

       3. 啓動web服務

[root@web ~]# service httpd start
Starting httpd:

       4. OK,設置網關指向內網網關(172.16.20.11現在我們的網站可以在內網(172.16.20.0/16)訪問了。

四、外網用戶的設置

       1. 添加一臺虛擬機,網卡使用VMnet2,連接到防火牆同樣類型的VMnet2類型網卡

wKiom1M1eZjjGmrRAAIudxM4-mk931.jpg

       2. 配置外網的ip 202.102.224.22,並將其網關和dns服務器設置爲防火牆連接外網的ip202.102.224.11.

wKiom1M1eb6y2PZWAAEvPDXKU2U403.jpg

       3. 此時ping網關是可以痛的。應爲它跟防火牆外網工作在同一個網絡。另外,如果你試了ping防火牆的內網網卡(172.16.20.11)其實也是可以ping通的,因爲linux ip是在內核層的(注意,此時我的防火牆還沒開通轉發功能的)。

wKiom1M1ec-wAYs4AAHOcKKZXZQ029.jpg

五、中間防火牆的配置

       1. OK,終於等到了這個時刻,一切準備就緒,我們來配置防火牆吧。

       2. 開啓防火牆轉發功能。

[root@fire ~]# vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
...
[root@fire ~]# sysctl -p
net.ipv4.ip_forward = 1
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
......

       3. 立杆見影,防火牆轉發功能開啓之後,外網立刻可以ping通我們的內外web服務器了。當然了,此時web服務器就可以給外網提供服務了。不過這種方式可不安全,我們還得繼續添加安全防火規則呢。

wKioL1M1edfiMQd7AAEamFdLGkk237.jpg

       4. 指定FORWARD鏈上的默認策略爲DROP,及使用通的機制,只放行允許的web服務和DNS服務的iptables規則

[root@fire ~]# iptables -P FORWARD DROP
[root@fire ~]# iptables  -A  FORWARD  -m multiport -p tcp --ports 53,80 -j ACCEPT
[root@fire ~]# iptables -A FORWARD -p udp --dport 53 -j ACCEPT
[root@fire ~]# iptables -A FORWARD -p udp --sport 53 -j ACCEPT

       5. elinks在外網測試內部web是否可以訪問

    #elinks 172.16.20.33

wKiom1M1eivxaCceAACvS79ibKE548.jpg

       6. 通過ip地址可以訪問我們的內網web服務器了,接下來配置防火牆的NAT功能,使其能夠使用我們的內網DNS服務器解析,www.magelinux.com

       7. DNAT功能需要實現的是,讓來自外網202.102.224.0/24ip在通過網關202.102.224.11訪問內網dns服務器的時候,將目標地址從202.102.224.11解析爲172.16.20.22(DNS服務器)(記得設置外網dns指向防火牆外網網關(202.102.224.11

[root@fire ~]# iptables -t nat -A PREROUTING -d 202.102.224.11 -p tcp --dport 53 -j DNAT --to-destination 172.16.20.22

       8. 將來自外網202.102.224.0/24的主機訪問202.102.224.1180端口時候,將目標地址從202.102.224.1180解析爲172.16.20.33(WEB服務器).

[root@fire ~]# iptables -t nat -A PREROUTING -d 202.102.224.11 -p tcp --dport 80 -j DNAT --to-destination 172.16.20.33

       9. Ok,轉發設置成功,成功實現外網訪問內部DNSweb


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章