특정 인터페이스 IP의 별칭을 지정하는 방법이 있습니까?

특정 인터페이스 IP의 별칭을 지정하는 방법이 있습니까?

저는 데비안에서 prod 서버로 VCS를 실행하고 있는데 일부 하이퍼바이저 문제로 인해 지난 주에 여러 번 재부팅/마이그레이션/업데이트해야 했습니다.

localhost저는 Docker 컨테이너를 사용하여 앱을 실행하고 있기 때문에 로컬 Postgres에 연결하도록 전달할 수 없어서 ens2대신 IP를 사용하고 있습니다.

ens2: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.12.174.3  netmask 255.255.255.254  broadcast 10.12.174.3
        inet6 fe80::dc1c:14ff:fe51:5002  prefixlen 64  scopeid 0x20<link>
        inet6 2001:bc8:4740:205::1  prefixlen 127  scopeid 0x0<global>
        ether de:1c:14:51:50:02  txqueuelen 1000  (Ethernet)
        RX packets 37139  bytes 4801851 (4.5 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 39791  bytes 35291408 (33.6 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

그러나 재부팅할 때마다 IP가 변경되고 내 앱이 DB에 다시 도달할 수 있도록 수동으로 env var에서 변경해야 합니다. 이는 그다지 실용적이지 않다는 점에 동의하실 것입니다.

localhost제 질문은 다음과 같습니다. 이 특정 인터페이스에 와 같은 별칭을 자동으로 할당할 수 있는 방법이 있습니까 ?

나는 여전히 출력을 시도하고 구문 분석할 수 있을 것 같지만 ifconfig먼저 실제 솔루션을 요청하고 싶습니다.

답변1

DNS.

사용할 애플리케이션에 대한 기록을 유지하십시오 appdb.prod.example.org. 이는 서비스 이름이므로 현재 실행 중인 호스트에 CNAME을 생성하는 것을 고려하세요.

호스트가 IP를 얻을 때마다 DNS에서 이름을 업데이트합니다. 예를 들어, AAAA 레코드는 container1.example.org포함 이라고 합니다 2001:bc8:4740:205::1. 이를 수행하는 방법은 번호 지정 체계와 DNS 구성에 따라 다릅니다. 고정 IP는 할당되는 즉시 입력할 수 있습니다. DHCP 후크를 사용하여 DNS를 업데이트할 수 있습니다. 그리고 모든 인터페이스에서 IP 변경을 감시하고 다음과 같은 nsupdate를 수행하는 소프트웨어가 있습니다. 자동 추가.


새 스크립트가 아닌 Linux에서는 ifconfig를 사용하지 마십시오.최소 11년 동안 사용되지 않았습니다.

답변2

항상 사용할 수 있음:

alias ip="hostname -I"

관련 정보