GCE Instances with multiple network interfaces
建立多個 interfaces ,Google 本身的設定會只能夠從第一張網卡進出。即使有第二張以上的網卡和 external IP,依然是不可通的情況,封包進得去出不來。
這時,可參考文件 [1] 敘述在 VM 輸入以下指令。
1sudo ifconfig NIC IP_ADDRESS netmask NETMASK broadcast IP_ADDRESS mtu 1430
2echo "1 rt1" | sudo tee -a /etc/iproute2/rt_tables
3sudo ip route add GATEWAY src IP_ADDRESS dev NIC table rt1
4sudo ip route add default via GATEWAY dev NIC table rt1
5sudo ip rule add from IP_ADDRESS/PREFIX_LENGTH table rt1
6sudo ip rule add to IP_ADDRESS/PREFIX_LENGTH table rt1
下圖為完成指令後的截圖畫面
因此目前情況,外部可進來,但如想使用第二張網卡出去還是無法的。
這時可透過下列方式,達到兩邊 interface 皆可進出的情況。(目前 only 測試 Ubuntu)
- 請先完成上方的指令
- sudo ip r add 35.235.240.0/20 via 10.10.0.1 dev ens4 → 此指令是確保 IAP 的 ip range 可通,確保可以持續使用 SSH,如不使用此指令,在輸入第三行指令後,會只能透過 serial port 來進入 VM。
- sudo ip route append default via 10.120.0.1 dev ens5 metric 100
完成後如下圖
[1] Creating instances with multiple network interfaces | VPC | Google Cloud