下邊來看SNAT怎麼實現,SNAT的配置方法和DNAT是不一樣的,DNAT可以直接在FW上配置,SNAT我們可以通過UDR實現,如果想讓所有出站流量都經過FW,我們可以通過UDR配置默認路由的出口爲FW,這樣訪問internet的流量就必須要走FW了
首先來看下FW做DNAT時對IP的改寫,從家裏電腦curl到FW IP
在Nginx log裏可以看到源IP會是FW的IP,也就是說在做DNAT時,FW會重寫請求的源IP
而如果curl 服務器的公網IP
Log裏會看到源IP是客戶端的公網IP
從各個region curl到web服務器公網IP,包括FW的VNET和peer的VNET
直接Curl web服務器公網IP,看到的源IP都是服務器的公網IP,說明出站是直接走到internet,不經過FW,沒有SNAT
下邊來看SNAT怎麼配置,首先在各個region創建UDR
添加默認路由到FW
關聯到各個subnet中
之後嘗試從VM 繼續curl到web服務器,會發現流量被FW拒絕了,因爲沒有出站的允許規則
解決這個問題可以在FW上開通網絡規則
10.88網段的可以curl www.baidu.com
不在88網段的就不行
再次添加其他網段的網絡規則
嘗試單獨再添加linux2所在網段的規則
再次嘗試,可以連接,DNAT就簡單實現了