說明:這裏是Linux服務綜合搭建文章的一部分,本文能夠做爲Linux上使用firewalld作端口轉發和地址假裝以及外網訪問內網的參考。php
注意:這裏全部的標題都是根據主要的文章(Linux基礎服務搭建綜合)的順序來作的。html
若是須要查看相關軟件版本和主機配置要求,請根據目錄自行查看。
Linux服務綜合搭建的文章目錄web
====================================================瀏覽器
Linux基礎服務搭建綜合tomcat
二、部署DNS服務器
五、foundation經過Rsyslog搭建集中日誌服務器測試
八、rhel7 JAVA web環境搭建(使用Tomcat8整合httpd)
十、foundation配置kerberos和NTP服務以及安全的NFS掛載
====================================================
因爲咱們這裏全部主機都在內網,實現的端口轉發和地址假裝實際上意義不大,這裏主要是爲了演示在外網訪問內網,
或者不一樣網段或者公司內部不一樣部門處在不一樣網段的狀況下,咱們實現地址假裝和端口轉發來實現假裝實際主機和外網訪問內網。
本地端口轉發:在本機作端口轉發,目標是本機的其它端口。
目標端口轉發:在本機作端口轉發,目標是其餘主機的端口。
地址假裝:實際上就是NAT,網絡地址轉換,可是在firewalld中不須要想華爲,華三等的路由器同樣須要具體配置地址池等內容,
直接開啓地址假裝功能便可,要作目標端口轉發必需要配置地址假裝,至於路由器上配置NAT的一些實現方式這裏大體說一下,
它有不少方式,主要有基於IP地址的NAT,和基於端口的NAT,有興趣能夠去了解一下網絡相關和路由交換相關的內容,這裏就不贅述,以避免偏離主題。
注意:要實現經過https訪問本主機網站時自動轉發到foundation主機的https網站,即內容是foundation的,
瀏覽器地址欄依舊是本機(rhel7主機)的,不要作全站重寫,這裏咱們能夠用防火牆(firewalld)的富規則實現端口轉發便可,
可是要注意的是咱們要配置的是目標端口轉發而不是本地端口轉發,另外,咱們也可使用防火牆(firewalld)自己的端
口轉發配置語法來配置(語法和參數較多),可是要在更大程度上作精準控制轉發規則仍是使用富規則的好,
同時富規則咱們也比較經常使用,語法相對簡單,這裏推薦使用富規則。
下面將介紹兩種方式。
首先必須配置地址假裝(NAT)才能實現端口目標端口轉發,在Redhat Enterprise Linux中的firewalld中只須要開啓地址假裝便可,
不用像華爲、華三等路由器配置NAT同樣要作具體的配置。
1 firewall-cmd --add-masquerade
方式一:使用富規則
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
給Firefox導入證書,而後地址欄數據https://rhel7.mei.com測試網站可以正常訪問。
測試咱們的https網站的php網頁可以正常訪問,且地址欄的地址一致是rhel7.mei.com:
最後但願你們提意見、轉發、評論和交流!!!