Quando eu crio uma instância no VPC padrão e verifico ifconfig, aparece netmask is /32
, conforme mostrado abaixo:
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
O problema é que o aplicativo que tento instalar não permite /32
sub-rede. Tentei criar uma rede VPC de teste, mas não consigo mais fazer ssh nas instâncias se usar isso. Se tentei adicionar intervalos secundários à sub-rede padrão sem sucesso. Eu tentei expandir a máscara de rede sudo ifconfig eth0 10.138.0.2 netmask 255.255.255.0
apenas para congelar a conexão ssh (usando o navegador da web para ssh). E depois disso não consigo fazer ssh para instância. Quais seriam outras abordagens para isso?
Vejo uma pergunta aqui, mas parece que não foi respondida:Google Cloud Compute definiu máscara de sub-rede /20 para interface interna
Responder1
Infelizmente esses parâmetros são definidos dessa forma para ter uma melhor integração com o Google Cloud Platform.
Quanto ao motivo pelo qual você não pode fazer SSH ao criar uma nova VPC, você deve criar novas regras de firewall, pois elas se aplicam apenas a uma VPC, portanto, as regras de firewall antigas não se aplicam à nova VPC.
Recomendo fortemente abrir um issue com o suporte da aplicação para ter integração com Google Cloud Platform.
Responder2
Para quem chegou aqui através de uma pesquisa no Google, aqui está o que encontrei na documentação do GCE. Citação literal:
Para configurar interfaces com máscara de rede diferente de /32, você deve criar uma imagem usando a flag --guest-os-features MULTI_IP_SUBNET e usá-la para criar sua instância. Por exemplo, se você estiver usando uma imagem baseada em debian-9, você pode criar uma imagem usando o seguinte comando:
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