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


一、實驗方案

 

 

 

二、內網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類型網卡

 

 

 

       2. 配置外網的ip 為202.102.224.22,並將其網關和dns服務器設置為防火牆連接外網的ip(202.102.224.11).

 

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

五、中間防火牆的配置

       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服務器就可以給外網提供服務了。不過這種方式可不安全,我們還得繼續添加安全防火規則呢。

 

 

       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

 

 

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

       7. DNAT功能需要實現的是,讓來自外網202.102.224.0/24的ip在通過網關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.11:80端口時候,將目標地址從202.102.224.11:80解析為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,轉發設置成功,成功實現外網訪問內部DNS和web。

 

https://blog.51cto.com/xuqimin/1386266


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM