Fortigate NAT Network Security

【Fortigate】DNATとDNAT+SNATの使い分け(2/2)

2025年2月24日



前述の記事はこちら【Fortigate】DNATとDNAT+SNATの使い分け(1/2)

FortigateのDNAT/SNAT設定(再掲)

Fortigateの設定として、DNATはVIP、SNATはFirewallPolicyとFirewallIPpoolの組み合わせで設定します。
VIPはDNAT専用の設定で、SNATは設定不可です。

DNAT

config firewall vip
    edit "WebServer-VIP"
        set extip 192.168.99.10
        set extintf "wan1"
        set mappedip 192.168.9.1
    next
end
SNAT

先にIPPoolを作成しないと、Policy作成でエラーになります


config firewall ippool
    edit "SNAT-POOL"
        set startip 192.168.9.254  # SNAT で変換する送信元IP
        set endip 192.168.9.254
    next
end

config firewall policy
    edit 1
        set srcintf "wan1"
        set dstintf "internal"
        set srcaddr "all"
        set dstaddr "WebServer-VIP"  # VIP を指定
        set action accept
        set schedule "always"
        set service "ALL"
        set nat enable  # SNAT を有効化
        set ippool enable
        set poolname "SNAT-POOL"
    next
end

ルータを超えて、DNATのみを使用する場合のパケットシーケンス

PINGの送信元IPが変わるだけで、パケットフローは同様になります。
外部端末(WAN-Client)から内部サーバ(LAN-Server)へping疎通を行います。
外部端末(WAN-Client):Mac端末
内部サーバ(LAN-Server):RasberryPi端末
※パケットキャプチャはFortigateの対向ポート(L2SW)をモニタリングして収集しています

1. ICMP-request

2. ARP-request

3. ARP-response

4. ICMP-request

5. ICMP-reply

6. ICMP-reply

7. ICMP-request

8. ICMP-request

9. ICMP-reply

10. ICMP-reply

ルータを超えて、DNATのみを使用する場合のパケットシーケンス(送信元と宛先を入れ替える)

LAN-ServerからWAN-Clientへ通信を開始する際のパケットシーケンスは以下になります

1. ICMP request

2. ICMP request

3. ICMP reply

4. ARP request

DNATに設定された192.168.9.1のMACがARPテーブルに登録されていないので、ARP解決を試みます

5. ARP response

6. ICMP reply

7. ICMP request

8. ICMP request

9. ICMP reply

10. ICMP-reply

ルータを超えて、DNATとSNATを使用する場合のパケットシーケンス

LAN-Serverから見たPingの送信元は、SNATされたWAN-ClientのIP(192.168.9.254)となります。

1. ICMP request

2. ARP request

3. ARP response

4. ICMP request

5. ARP request

SNATされたWAN-ClientのIPをARP解決します

6. ARP response

7. ICMP reply

LAN-ServerのARPテーブルにSNAT後のIP(192.168.9.254)を登録できたので、ICMP replyを返します

8. ICMP reply

9. ICMP request

2度目のICMP requestを送信します

10. ICMP request

ARPテーブルに登録されているので、ARP解決は不要です

11. ICMP reply

ARPテーブルに登録されているので、ARP解決は不要です

12. ICMP reply

CATEGORIES & TAGS

Fortigate, NAT, Network, Security,

Author:

カテゴリー

むるし

フリーランスのインフラ系エンジニア。
備忘録で色々書いていきます。
お問い合わせは↓
mo-gyu@murci.net
保有:LPIC303 Security、CCNA