這邊講的是在 AWS 上想要串接不同帳號的流量 (也就是 site-to-site VPN),不使用 AWS 自己提供的串接服務,而是用 pfSense 串接。
會自己搞主要有幾個考慮:
- 考慮到 AWS Transit Gateway 的費用,每掛一個上去就要多收一次錢,另外上面處理的流量要再收費。
- 應用的流量不大,所以用個
t2.nano
跑也有個 100Mbps 左右的 capacity,算是夠用了。 - 而且應用在寫的時候也考慮到斷線後的處理,加上用戶端的網路本來就不怎麼穩定,AWS Transit Gateway 的 SLA 再怎麼高,我也還是得處理斷線時的後續機制,不如就不要那麼緊張...
在設定的時候要注意的事情:
- EC2 的 Source IP/Destination IP 檢查要關掉,這算是基本盤。
- VPC 內的 Routing 要確認過一輪。
- EC2 上的 Security Group 對於 pfSense 的主機得全開,因為 pfSense 會丟出不屬於他自己 IP address 的封包,也會接收不屬於自己 IP address 的封包 (透過上面提到的 routing),這些都還是會經過 Security Group 的檢查,而 Security Group 能設定的數量有限,基本上應該會全開...
- pfSense 在設完 IPsec 後,同樣在 pfSense 上面的 firewall 需要手動加開,因為預設是關的。
其實這套作法就是在 AWS 還沒推出 Transit Gateway 前的作法,只是老方法還是很好用...