Site-To-Site VPN with Overlapping Subnet
最近有一客戶的辦公室將計劃由地點A將至地點B,但又不是一次性進行辦公室的搬遷,而是先將部分server及user 搬往新辦公室,即將會有一段為期1至2個月的過渡期。
正如下圖,它們兩邊會使用同一組private subnet (192.168.1.0/23),這時便會遇上overlapping subnet 的問題。因此便需要利用NAT將兩邊subnet
進行轉變,從而令兩邊可以同時運作。
以下將會以Fortigate Firewall 進行示範,而一般都離不開4個重點。重點1為 IPsec VPN,重點2
為VPN Policy,重點3 為VPN Subnet Route,重點4
為NAT Translation。
設定Site-To-Site VPN/IPsec VPN
在左邊Panel 選取 VPN > IPsec
Tunnels ,然後選取Create New
輸入VPN 的名字
輸入另一端的public IP 和shared key (記緊兩邊要一樣)
選取自己的local interface,輸入另一端的virtual subnet
最後便完成,其後FirewallB
也做相類似的設定,只是remote device IP 和remote subnets 不同
中伏位置: IPsec VPN 起不了
Fortigate Firewall 的VPN Creation
Wizard 會幫將所需要的route和firewall policy 都隨之建立了,但VPN
還是會起不了的。
往Monitor > IPsec Monitor 查看時,你會發現VPN 起不了。
這時任你如何Bring UP,它還是起不了。
如何解決IPsec VPN 起不了的問題
其實這情況都常見,只是網上一般少提及。你可以嘗試將Local Address 和Remote Address 變成all
(0.0.0.0/0),即准許任何subnet 在IPsec VPN tunnel 建立,當然你依然可以利用firewall policy
限制它的通行。記緊兩邊都要做以下同一個動作,將其都變成all。
又回到IPsec
Monitor,點選VPN
後右鍵選取Bring up,VPN 就可以建立起來了。
設定NAT Translation
VPN Creation Wizard 是不會為你建立NAT,所以需要自己設定。NAT 有分Source NAT 和 Destination NAT。
Source NAT於Fortigate
FirewallA & FirewallB 需要前往Policy
& Objects > IPv4 Policy。
你會看到NAT 是disabled 的。
選取lan – VPN 的policy 和選取Edit,其後將NAT
enable。
Destination NAT 在不同Firewall
都有不同的做法,Fortigate r設定Virtual IP,Juniper Junos 設定MIP,像ASA
和fortigate 則設定NAT rule。
選取Policy & Objects > Virtual IPs
輸入name,External IP Address 和Mapped IP Address。意思是當有external network 找尋10.10.1.0/24 range 的IP 時,便會將其轉會成192.168.1.0/24。
其後在FirewallB 建立10.10.2.0/24 的VIP。
最後將VPN-lan 的firewall policy 由VPN_remote
改變成vip。
測試
完成所以設定後,嘗試由Office A 的PC (192.168.1.100) ping 往Office B 的VIP (10.10.2.100),其實它的實際IP 也是192.168.1.100,但也可以ping 通。
在firewall Sniffer capture時,你會看到traffic 是經過NAT 轉變成10.10.1.100
與 10.10.2.100 在溝通,從而避開overlapping subnet 的問題。
Office B ping 往Office A 也是如此。
後記:
當然你亦可以做到192.168.1.0/24 兩邊都可以互通,如 site A 的192.168.1.100 可以ping 通 site B 的192.168.1.101,但大前是兩邊的IP 不可以重覆。
留言
張貼留言