Когда я создаю экземпляр в VPC по умолчанию и проверяю ifconfig, он сообщает, что маска сети равна /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-соединение зависло (используя веб-браузер для ssh). И после этого я не могу подключиться к экземпляру по ssh. Какие еще подходы можно использовать для этого?
Я вижу здесь вопрос, но, похоже, на него нет ответа:Google Cloud Compute устанавливает маску подсети /20 для внутреннего интерфейса
решение1
К сожалению, эти параметры установлены таким образом для лучшей интеграции с Google Cloud Platform.
Что касается того, почему вы не можете использовать SSH при создании нового VPC, вам необходимо создать новые правила брандмауэра, поскольку они применяются только к одному 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