
Ich habe ein VCS unter Debian als Produktionsserver laufen und aufgrund einiger Hypervisor-Probleme musste es in der letzten Woche mehrmals neu gestartet/migriert/aktualisiert werden.
Da ich meine App mit Docker-Containern ausführe, kann ich nicht einfach zulassen, localhost
dass sie eine Verbindung zu meinem lokalen Postgres herstellt. Daher verwende ich ens2
stattdessen die 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
Aber bei jedem Neustart ändert sich die IP und ich muss sie manuell in den Umgebungsvariablen ändern, damit meine App wieder auf die Datenbank zugreifen kann. Sie werden mir sicher zustimmen, dass das nicht sehr praktisch ist.
localhost
Hier ist meine Frage: Gibt es eine Möglichkeit , dieser bestimmten Schnittstelle automatisch einen Alias zuzuweisen, ähnlich wie ?
Ich denke, ich könnte immer noch versuchen, die ifconfig
Ausgabe zu analysieren, aber ich würde lieber zuerst nach einer tatsächlichen Lösung fragen
Antwort1
DNS.
Pflegen Sie einen Datensatz, den die Anwendung verwenden kann, z. B. appdb.prod.example.org
. Da es sich um einen Dienstnamen handelt, sollten Sie einen CNAME für den Host erstellen, der ihn aktuell ausführt.
Aktualisieren Sie einen Namen im DNS jedes Mal, wenn ein Host eine IP erhält. Beispielsweise ein AAAA-Eintrag mit dem container1.example.org
Namen 2001:bc8:4740:205::1
. Wie Sie dies genau tun, hängt von Ihrem Nummerierungsschema und Ihrer DNS-Konfiguration ab. Statische IPs können eingegeben werden, sobald sie zugewiesen sind. DHCP-Hooks können zum Aktualisieren von DNS verwendet werden. Und es gibt Software, die jede Schnittstelle auf IP-Änderungen überwacht und ein nsupdate ausführt, wie z. B. autoddns.
Verwenden Sie ifconfig nicht unter Linux, nicht für neue Skripte.Es ist seit mindestens 11 Jahren veraltet.
Antwort2
Könnte immer gebrauchen:
alias ip="hostname -I"