如何變更 Google 計算實例主網路裝置 eth0 網路遮罩 /32

如何變更 Google 計算實例主網路裝置 eth0 網路遮罩 /32

當我在預設VPC中建立實例時,檢查ifconfig,它顯示netmask is /32,如下所示:

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1460
        inet 10.138.0.2  netmask 255.255.255.255  broadcast 10.138.0.2
        inet6 fe80::4001:aff:fe8a:2  prefixlen 64  scopeid 0x20<link>
        ether 42:01:0a:8a:00:02  txqueuelen 1000  (Ethernet)
        RX packets 4728  bytes 39926123 (38.0 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 3900  bytes 442039 (431.6 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

問題是我嘗試安裝的應用程式不允許/32子網路。我嘗試建立一個測試 VPC 網絡,但如果使用該網絡,我將無法再透過 ssh 連接到實例。如果嘗試將輔助範圍新增至預設子網路但未成功。我嘗試擴展網路掩碼,但sudo ifconfig eth0 10.138.0.2 netmask 255.255.255.0 僅使 ssh 連線凍結(使用 Web 瀏覽器進行 ssh)。之後我無法 ssh 到實例。對此還有哪些方法?

我在這裡看到問題,但看起來沒有得到答案:Google Cloud Compute 將 /20 子網路遮罩設定為內部介面

答案1

不幸的是,這個參數的設定方式是為了更好地與 Google Cloud Platform 整合。

關於為什麼在建立新的VPC時不能使用SSH,您必須建立新的防火牆規則,因為它們只適用於一個VPC,因此舊的防火牆規則不適用於新的VPC。

我強烈建議在應用程式的支援下提出問題,以便與 Google Cloud Platform 整合。

答案2

對於透過 Google 搜尋到達這裡的任何人,以下是我在 GCE 文件中找到的內容。逐字引用:

要使用 /32 以外的網路遮罩配置接口,您應該使用標誌 --guest-os-features MULTI_IP_SUBNET 建立映像,並使用它來建立您的實例。例如,如果您使用基於 debian-9 的映像,則可以使用下列命令建立映像:

gcloud compute images create debian-9-multi-ip-subnet \
     --source-disk debian-9-disk \
     --source-disk-zone us-west1-a \
     --guest-os-features MULTI_IP_SUBNET

相關內容