說明:這里是Linux服務綜合搭建文章的一部分,本文可以作為Linux上使用firewalld做端口轉發和地址偽裝以及外網訪問內網的參考。
注意:這里所有的標題都是根據主要的文章(Linux基礎服務搭建綜合)的順序來做的。
如果需要查看相關軟件版本和主機配置要求,請根據目錄自行查看。
Linux服務綜合搭建的文章目錄
====================================================
5、foundation通過Rsyslog搭建集中日志服務器
8、rhel7 JAVA web環境搭建(使用Tomcat8整合httpd)
10、foundation配置kerberos和NTP服務以及安全的NFS掛載
====================================================
主機角色說明
13 rhel7主機配置端口轉發和地址偽裝
13.1 一些概念和注意事項
13.1.1 說明
由於我們這里所有主機都在內網,實現的端口轉發和地址偽裝實際上意義不大,這里主要是為了演示在外網訪問內網,
或者不同網段或者公司內部不同部門處在不同網段的情況下,我們實現地址偽裝和端口轉發來實現偽裝實際主機和外網訪問內網。
13.1.2 地址偽裝和端口轉發方式
本地端口轉發:在本機做端口轉發,目標是本機的其它端口。
目標端口轉發:在本機做端口轉發,目標是其他主機的端口。
地址偽裝:實際上就是NAT,網絡地址轉換,但是在firewalld中不需要想華為,華三等的路由器一樣需要具體配置地址池等內容,
直接開啟地址偽裝功能即可,要做目標端口轉發必須要配置地址偽裝,至於路由器上配置NAT的一些實現方式這里大致說一下,
它有很多方式,主要有基於IP地址的NAT,和基於端口的NAT,有興趣可以去了解一下網絡相關和路由交換相關的內容,這里就不贅述,以免偏離主題。
13.1.3 注意事項
注意:要實現通過https訪問本主機網站時自動轉發到foundation主機的https網站,即內容是foundation的,
瀏覽器地址欄依舊是本機(rhel7主機)的,不要做全站重寫,這里我們可以用防火牆(firewalld)的富規則實現端口轉發即可,
但是要注意的是我們要配置的是目標端口轉發而不是本地端口轉發,另外,我們也可以使用防火牆(firewalld)本身的端
口轉發配置語法來配置(語法和參數較多),但是要在更大程度上做精准控制轉發規則還是使用富規則的好,
同時富規則我們也比較常用,語法相對簡單,這里推薦使用富規則。
下面將介紹兩種方式。
13.2 配置地址偽裝和端口轉發
13.2.1 配置地址偽裝
首先必須配置地址偽裝(NAT)才能實現端口目標端口轉發,在Redhat Enterprise Linux中的firewalld中只需要開啟地址偽裝即可,
不用像華為、華三等路由器配置NAT一樣要做具體的配置。
1 firewall-cmd --add-masquerade
13.2.2 配置端口轉發
方式一:使用富規則
1 [root@rhel7 ~]# firewall-cmd --permanent --add-rich-rule='rule family=ipv4 forward-port port=443 to-port=443 protocol=tcp to-addr=172.25.0.55'
方式二:使用端口轉發的語法
1 [root@rhel7 ~]# firewall-cmd --permanent --add-forward-port=port=443:proto=tcp:toport=443:toaddr=172.25.0.55
13.3 測試
給Firefox導入證書,然后地址欄數據https://rhel7.mei.com測試網站能夠正常訪問。
測試我們的https網站的php網頁能夠正常訪問,且地址欄的地址一致是rhel7.mei.com:
最后希望大家提意見、轉發、評論和交流!!!