
저는 데비안에서 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"