firewalld 防火牆 nat 網絡地址轉換


目的:實現以下效果

 

一、 准備環境

@1 三台虛擬機

@2  client 端 ip  192.168.1.2      server端   兩塊網卡 , ip 分別是 192.168.1.1   和  172.16.100.1  web端 ip 為 172.16.100.3

注:虛擬機添加網卡后沒顯示配置文件,需要自己手動編輯一個配置文件

二,部署環境

1> 這時會發現,用client 端去ping web 端時ping 不通的,如下

 

這是因為  server端相當於client端與web 端的橋梁, server端的路由轉發功能沒有開啟

注: 路由轉發 是一個內核參數如下

 

 

0 表示未開啟, 那么如何將它開啟呢,下面是一種臨時開啟的方法

 

 

1 表示開啟,這樣路由轉發就臨時開啟了,我們來測試一下能否ping通

 

 

 client  端 通過  server 端的 路由轉發成功的  ping 通了 web 端

#上述方法是臨時 開啟路由轉換功能,那么想要永久開啟呢?需要寫入  /etc/sysctl.conf  這個配置文件里面如下

 

#1寫入

 

#2 生效

 

#查看

 

!成功

注:這是模擬實驗,真實環境下是不允許client 端直接去訪問 web 端主機的

三、試驗 

1>NAT 功能  可以在PREROUTING(DNAT),OUTPUT,INPUT,POSTROUTING(SNAT) 這四個鏈上來實現,因server端開啟了路由轉發功能,所以實際上是只經過  PREROUTING(DNAT),POSTROUTING(SNAT) FORWARD  這三個鏈

 

@1  開始web 端的 httpd 服務

 

@2 測試下 client 能否訪問 web 端的  網站

 

@3 用web 端 查看下http的訪問日志

 

@4  有記錄

 

注意此時是 client i端 ip 訪問的 。

現在開始進行網絡地址轉換

2>.(server端)需要在 NAT 表上添加規則 ,注:網路地址轉換,DNAT 訪問的時候需要在  PREROUTING 鏈上 進行網絡地址轉換 ;SNAT 出去的時候需要在POSTROUTING 上 進行網絡地址轉換

命令:iptables -t NAT -A POSTROUTING -s 192.168.1.2 -d 172.16.100.222 -j SNAT --to-source 172.168.100.1

 

3>  查看下  NAT 表

 

4>client 端再訪問一下 web端的網站 ; 命令 curl  http:// 172.16.100.222

 

 

5> 在web端 查看  httpd 的訪問日志

 

 

client端 訪問 web 端時 ip 被轉換成了 172.16.100.1

注: 在真實環境下,一般都需要進行網絡地址轉換,畢竟  client 端不能直接 訪問 web端的網站

$$2  DNAT

(實際是上訪問server端,server端沒有httpd服務,通過網絡地址轉換去找  client 端)

1>開啟client 端的 httpd 服務

 

2>命令 :

 

3>查看

 

4>抓取

 

 

訪問的server端 抓取的卻是client端 (目標地址轉換 DNT)

 


免責聲明!

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



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