Google Cloud Compute는 /20 서브넷 마스크를 내부 인터페이스로 설정했습니다.

Google Cloud Compute는 /20 서브넷 마스크를 내부 인터페이스로 설정했습니다.

Google 클라우드는 인스턴스에 IP를 할당하기 위해 DHCP를 사용합니다. 어떤 이유에서인지 사용자가 자신의 /20 네트워크에 있음에도 불구하고 그들은 /32 넷마스크를 사용하여 주소를 할당합니다. 인스턴스 공용 IP를 정적으로 설정하면 /etc/syconfig/network-scripts/ifcfg-eth0으로 이동하여 BOOTPROTO를 DHCP에서 STATIC으로 변경한 다음 수동으로 IP 설정을 설정하고 /20 또는 /를 사용할 수 있음을 발견했습니다. 24개의 서브넷으로 구성되며 재부팅 후에도 유지됩니다. 그러나 이렇게 하면 내부 네트워크에서 해당 호스트와 통신할 수 없게 됩니다. 인스턴스가 DHCP 매개변수를 사용하는 경우 LAN의 호스트 간에 문제 없이 통신할 수 있습니다.

인터넷에서 검색하다가 이런 글을 발견했습니다https://cloud.google.com/compute/docs/networkingDNS 및 resolv.conf를 변경하고 이를 위해 dhcp.lease 구성을 사용하는 방법에 대해 설명하는 섹션이 있습니다. 이 파일을 보면 '옵션 서브넷 마스크 255.255.255.255;'가 있는 것을 볼 수 있습니다. 환경. 넷마스크를 변경하고 네트워크를 다시 시작하면 변경 사항이 되돌려집니다.

참고용으로:

instance-2 is using default DHCP and has the IP 10.128.0.5
instance-4 is using my custom static config and has the IP 10.128.0.6

또한 기본 DHCP 주소를 사용하는 인스턴스와 고정 IP 설정을 사용하는 인스턴스 간의 라우팅 테이블을 비교했습니다.

인스턴스-2(DHCP):

[root@instance-2 network-scripts]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.128.0.1      0.0.0.0         UG    100    0        0 eth0
10.128.0.1      0.0.0.0         255.255.255.255 UH    100    0        0 eth0
10.128.0.5      0.0.0.0         255.255.255.255 UH    100    0        0 eth0
169.254.169.254 10.128.0.1      255.255.255.255 UGH   100    0        0 eth0

인스턴스-4(사용자 정의 정적):

[root@instance-4 NetworkManager]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.128.0.1      0.0.0.0         UG    100    0        0 eth0
10.128.0.0      0.0.0.0         255.255.240.0   U     100    0        0 eth0

그런 다음 인스턴스-4에 다른 경로를 수동으로 추가했습니다.

[root@instance-4 NetworkManager]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.128.0.1      0.0.0.0         UG    100    0        0 eth0
10.128.0.0      0.0.0.0         255.255.240.0   U     100    0        0 eth0
10.128.0.1      0.0.0.0         255.255.255.255 UH    0      0        0 eth0
10.128.0.6      0.0.0.0         255.255.255.255 UH    0      0        0 eth0
169.254.169.254 10.128.0.1      255.255.255.255 UGH   0      0        0 eth0

그러나 그것도 문제를 해결하지 못했습니다.

인스턴스-4 네트워크 스크립트:

TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
NAME=eth0
UUID=cde7258f-6857-4015-86de-6bb520fcd550
ONBOOT=yes
PEERDNS=yes
PEERROUTES=yes
MTU=1460
PERSISTENT_DHCLIENT="y"
NETMASK=255.255.240.0
IPADDR=10.128.0.6
DNS1=169.254.169.254
GATEWAY=10.128.0.1

인스턴스-2 네트워크 스크립트

TYPE=Ethernet
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
NAME=eth0
UUID=cde7258f-6857-4015-86de-6bb520fcd550
ONBOOT=yes
PEERDNS=yes
PEERROUTES=yes
MTU=1460
PERSISTENT_DHCLIENT="y"

/32 이외의 넷마스크를 사용하고 LAN의 다른 인스턴스와 계속 통신할 수 있는 인터페이스를 올바르게 얻으려면 어떻게 해야 합니까?

OS는 CentOS 7입니다.

FreeIPA를 설치하려면 /32 이외의 넷마스크가 필요합니다. 넷마스크가 /32이면 설치되지 않습니다.

답변1

Google Cloud에서 넷마스크 문제를 해결할 방법을 찾지 못했지만 IPA 프로젝트에서 이 문제를 해결하고 GCloud와 호환되도록 업데이트를 출시했다는 사실을 발견했습니다. ipa 버전 4.4.2 이상에서는 이 문제가 발생하지 않습니다. 그러나 현재로서는 해당 버전이 centos로 백포트되지 않습니다.

수동으로 해결해야 할 패치 정보는 다음과 같습니다.

https://git.fedorahosted.org/cgit/freeipa.git/commit/?id=dee950d88ec969b36c1271a3ef9fe4e4f5b48b01

다음은 ipa 프로젝트 웹사이트의 실제 버그 보고서입니다.

https://fedorahosted.org/freeipa/ticket/5814

다음은 네트워크 연결 측면과 관련하여 Google에 제출한 버그입니다.

https://code.google.com/p/google-compute-engine/issues/detail?id=522&sort=stars&colspec=ID%20Type%20Component%20Resource%20Service%20Status%20Stars%20Summary%20Log

이 문제를 겪고 있는 다른 사람이 답을 찾을 수 있도록 이 모든 것을 거기에 넣으면 됩니다.

답변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

관련 정보