iT邦幫忙

1

請教Fortigate上SNAT與DNAT同時使用

  • 分享至 

  • xImage

各位大大好

想問一下各位有沒有在Fortigate的policy上做過同一個Interface / Zone的時候做Port Forwarding然後中間要接一個SNAT的轉換呢? (如下圖)

當用戶由(192.168.1.1) 去找 (192.168.1.100)的時候會做一個port forwarding的動作(比如一個WAN IP 1.1.1.1 map 192.168.1.100) 然後 中間可能又要把Source可能換成1.1.1.2

這個想法好像是可行的 可是我沒有經驗 所以想問一下有大大有經驗可行嗎? 如果有多條要同時這樣子做 是否比較推薦使用Central NAT跟DNAT&VIP的功能呢?

https://ithelp.ithome.com.tw/upload/images/20250110/20171411yoANF67YdO.png

mytiny iT邦超人 1 級 ‧ 2025-01-13 13:00:13 檢舉
這應該不是lookback interface
也不是hair-ping
因為正常.1.1和.1.100會在同一側
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
0
bluegrass
iT邦高手 1 級 ‧ 2025-01-13 09:16:58
最佳解答

你這個應該叫作NAT LOOPBACK / NAT U-TRUN

就是SNAT跟DNAT同時發生, 比較多應用在內部用戶用WAN IP去抓內部服務器的情況

在FORTIGATE世界中, 如果你想要做到一樣

只要把目標WAN IP放到WAN INTERFACE再配上VIP跟POLICY就可以了

比方1.1.1.0/24是你可用的WAN IP, 1.1.1.1是FORTIGAT自身的WAN IP

你目標是把1.1.1.2 轉發到 192.168.1.100
那你只要把1.1.1.2/32設成FORTIGATE WAN的SECONDARY IP即可

如果要轉發的時發把SNAT一並改成某SOURCE IP, 就得在轉發的POLICY上啟用NAT再點選 IP POOL

bluegrass iT邦高手 1 級 ‧ 2025-01-13 09:34:24 檢舉

PS, 也有人叫 nat hairpin

可是bluegrass大大 想請教一下
如果有可能幾百條是這種情況下 是否在Fortigate上使用Central NAT跟DNAT&VIP 會比較好處理? 因為我在想 如果我要每一條都同時做SNAT跟PNAT的話 用CLI都搞不定/images/emoticon/emoticon06.gif

另外我記得在Fortigate上 好像一般是不用做nat loopback的吧?

bluegrass iT邦高手 1 級 ‧ 2025-01-14 09:12:35 檢舉

Fortigate上, 如果你要loopback WAN IP正好就是FORTIGATE自身的WAN IP就可以不用手動做.

如果真有幾百條就用CLI吧-.- 我工程都是這樣處理的

如果你真的怕麻煩,
用CLI "set Match-vip enable" 就可以自動命中所有VIP了

https://community.fortinet.com/t5/FortiGate/Troubleshooting-Tip-VIP-traffic-not-matching-the-firewall-policy/ta-p/266101

旦你放行的SERVICE可別設成ALL喔-.- 出什麼事就你BBQ了

/images/emoticon/emoticon31.gif

Central NAT跟DNAT&VIP一般我是不建議的.
( 你確定UTM在Central NAT情況下的DNAT有在用?_? )

0
cmwang
iT邦大師 1 級 ‧ 2025-01-11 17:47:08

您應該是client要連在同一LAN中server的對外IP(Forti稱為VIP,但我覺得這個名詞不是很好),192.168.1.100連1.1.1.1時Forti會把Src改成FW自己LAN的IP,Dst改成192.168.1.1轉給真正的server,所以192.168.1.1會回給FW的LAN IP,FW把Src改成1.1.1.1後再回給192.168.1.100,一般稱為NAT loopback,只要VIP/ACL有定義好是沒問題的/images/emoticon/emoticon07.gif....

0
mytiny
iT邦超人 1 級 ‧ 2025-01-11 18:54:20

看不出這樣做的用意在哪?
如果是在相同區域
192.168.1.1與.1.100不需要換IP通訊
特意穿過防火牆是為了什麼
(這不是hair-pin架構)
做資安檢核嗎?
完全不需要用到這樣架構呀
感覺有些奇怪
要不要找SI好好研究一下
不要自己硬扛呀

看更多先前的回應...收起先前的回應...

其實這個是客人那邊的要求 我大概猜他是想一方面做資安檢核? 另一方面是想當成一個POC的型式去試一下那些rules?/images/emoticon/emoticon28.gif

bluegrass iT邦高手 1 級 ‧ 2025-01-13 09:20:47 檢舉

用意在哪? 我猜一般有兩種

一個是NAT LOOPBACK ,另一個是要實行UTM

這種做法在不能改變LAN IP情況下又想要UTM的話, 我覺得算是比較可取

當然了, 搞一個TRANSPARENT MODE VDOM再把SERVER接過去也可以了.

mytiny iT邦超人 1 級 ‧ 2025-01-13 13:00:32 檢舉

這應該不是lookback interface
也不是hair-ping
因為正常.1.1和.1.100會在同一側

我想應該是一個LOOPBACK在POC場上試一下連結/UAT的樣子
因為我看差不多每一條都有這樣子的LOOPBACK
應該是想裝作成外來的WAN IP去做測試之類

mytiny iT邦超人 1 級 ‧ 2025-01-14 08:31:34 檢舉

如果做UAT應該要模擬環境實際的樣子
一開始就好奇此架構的用意
如果沒有預先知道測試的目的
架構測出來很可能是錯誤的結果
如果是lookback interface或hair-pin
.1.1和.1.100會在同一側
這種跨FG不同port又同一網段
比較像測試microsegmentation

傑克 iT邦新手 5 級 ‧ 2025-01-22 14:00:32 檢舉

ccccccc123
是不是跟客戶先確認他們 DNS 規劃有沒有分出組織內部專用的查詢回應。
通常會這樣從 LAN 去訪問 WAN 上面的對外服務 IP 就是沒有維護一個供內部查詢的 DNS 服務,所以直接跑到公共的 DNS Server 查到對外服務的 IP。如果是這樣的話,請客戶自建一個有分不同 View 的 DNS Server,這樣的重要網路服務才是比較恰當的規劃。

mytiny iT邦超人 1 級 ‧ 2025-01-23 21:10:40 檢舉

整個架構都怪怪的
最終也沒說清楚到底想幹嘛?

0
無敵舔金剛
iT邦新手 5 級 ‧ 2025-01-15 10:57:55

您的架構必須成立在防火牆兩個介面192.168.1.1跟192.168.1.100屬於不同網段,也就是子網路遮照不能大於192.168.1.1/26,小於26,兩個IP會變同網段,防火牆無法設定介面。
另外如是同網段,防火牆必須使用透通模式,防火牆透通模式下無法做任何NAT設定。

假設子網路遮照是設定192.168.1.1/26跟192.168.1.100/26
防火牆會有一組192.168.1.1/26跟192.168.1.100/26的IP,假設是設定192.168.1.62/26,跟192.168.1.126/26。

防火牆先設定一組Virtual IPS
IPV4 VIP,1.1.1.1 map 192.168.1.100,
再設定一組IP pool: 1.1.1.2,Type選one-on-one或是overload都可以,External IP address/range設定1.1.1.2-1.1.1.2。

設定防火牆政策
來源IP:192.168.1.1
目的IP:選設定的那組VIP1.1.1.1 map 192.168.1.100

然後把該條防火牆政策中的NAT選項打開,IP Pool Configuration選use dymanic IP POOL,去選那組設定的IP pool: 1.1.1.2,就可以把來源IP NAT成1.1.1.2了。

整段連線就會變成192.168.1.1去連1.1.1.1,防火牆會把目的IP NAT成192.168.1.100,來源IP NAT成1.1.1.2。

另外要注意
192.168.1.1到1.1.1.1的路由是指向192.168.1.62/26,
192.168.1.100到1.1.1.2的路由是指向192.168.1.126/26,

以上為小弟實務上淺見,如有錯誤之處還請先進指正。

我要發表回答

立即登入回答