透過Fortigate VPN建立VXLAN讓分隔異地的兩端使用相同的區域網路

人生真的是充滿了挑戰,小編最近處理了一個透過Fortigate建立VXLAN讓分隔兩地的網路可以串連在一起,並且形成同一個內部網路,效果就跟點對點(point to point network)L2專線一樣,雖然反應速度略遜專線,但價格差距可是相當驚人,因此就可以了解為何會有企業想這樣做了吧!

一、情境說明
(1)、IDC及DR兩端各有一台Fortigate防火牆,設備韌體均採用6.4.4(1803),希望透過VPN VXLAN技術,讓分隔兩端的網路形成一個虛擬的L2內網。

(2)、情境架構圖:

(3)、本範例設定過程均採用Conosle模式
(4)、VXLAN該功能只支援FortOS 5.4版本以上,但5.6以上功能較為完善。
(5)、該功能是透過IPSec VPN架構進行,但無法透過加速晶片進行加速,因此如果流量過大,請注意設備等級及效能。
(6)、本範例防火牆相關資訊
Wan interface:wan1
Lan interface:internal1
IDC防火牆Wan端真實IP:192.192.205.1
DR防火牆Wan端真實IP:192.192.209.1
VPN psksecret:0800080080


二、設定步驟
(1)、IDC端的Fortigate設定WAN端IP及預設閘道
指令:

config system interface
edit “wan1”
set vdom “root”
set ip 192.192.205.1 255.255.255.0
set allowaccess ping
set type physical
set role wan
set snmp-index 1
next
end

config router static
edit 1
set gateway 192.192.205.254
set device “wan1”
next
end

(2)、DR端的Fortigate設定WAN端IP及預設閘道
指令:
config system interface
edit “wan1”
set vdom “root”
set ip 192.192.209.1 255.255.255.0
set allowaccess ping
set type physical
set role wan
set snmp-index 1
next
end

config router static
edit 1
set gateway 192.192.209.254
set device “wan1”
next
end

(3)、IDC端的Fortigate建立VXLAN VPN
指令:
config vpn ipsec phase1-interface

edit VXLAN
set interface wan1
set peertype any
set proposal aes256-sha1
set encapsulation vxlan
set encapsulation-address ipv4
set encap-local-gw4 192.192.205.1
set encap-remote-gw4 192.192.209.1
set remote-gw 192.192.209.1
set psksecret 0800080080
next
end

config vpn ipsec phase2-interface
edit VXLAN_ph2
set phase1name VXLAN
set proposal aes256-sha1
set auto-negotiate enable
next
end

(4)、DR端的Fortigate建立VXLAN VPN
指令:
config vpn ipsec phase1-interface

edit VXLAN
set interface wan1
set peertype any
set proposal aes256-sha1
set encapsulation vxlan
set encapsulation-address ipv4
set encap-local-gw4 192.192.209.1
set encap-remote-gw4 192.192.205.1
set remote-gw 192.192.205.1
set psksecret 0800080080
next
end

config vpn ipsec phase2-interface
edit VXLAN_ph2
set phase1name VXLAN
set proposal aes256-sha1
set auto-negotiate enable
next
end

(5)、在IDC及DR兩端的Fortigate設定VPN介面採用L2傳遞模式
指令:
config system interface
edit VXLAN
set l2forward enable
set mtu-override enable

next
end

(6)、在IDC及DR兩端的Fortigate建立虛擬Switch
指令:
config system switch-interface
edit VXLAN-SWITCH
set vdom root
set member internal1 VXLAN
next
end

備註說明:建立完畢虛擬SWITCH後的網頁畫面

(7)、在IDC及DR兩端的Fortigate設定
config system global
set honor-df disable
end
備註說明:
FortiOS does not send back an ICMP “destination unreachable, fragmentation needed and DF set” to the source when an IP packet with the DF bit set and a size greater than the tunnel MTU cannot be forwarded inside the VxLAN-IPsec tunne

三、實測
(1)、在IDC端Fortigate防火牆的internal1接上一台電腦,並把IP設定為192.168.100.1/24。

(2)、在DR端Fortigate防火牆的internal1接上一台電腦,並把IP設定為192.168.100.2/24。

(3)、透過這兩台電腦進行IP互ping的動作(記得關閉電腦上的防火牆限制),如果可以通那就完成所有設定了。

四、輔助說明
設定過程中需要設定
set l2forward enable

set honor-df disable
的參考說明:
https://community.fortinet.com/t5/FortiGate/Technical-Tip-Global-setting-honor-df-explained/ta-p/197002?externalID=FD51964