기본 VPC에 인스턴스를 생성하고 ifconfig를 확인하면 /32
아래와 같이 netmask is 라고 표시됩니다.
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과의 더 나은 통합을 위해 그렇게 설정되었습니다.
새 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