Есть ли способ создать псевдоним для определенного IP-адреса интерфейса?

Есть ли способ создать псевдоним для определенного IP-адреса интерфейса?

У меня есть VCS, работающий на Debian в качестве prod-сервера, и из-за некоторых проблем с гипервизором его пришлось перезагружать/переносить/обновлять несколько раз за последнюю неделю.

Поскольку я запускаю свое приложение с использованием контейнеров Docker, я не могу просто передать localhostему подключение к локальному 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-адрес меняется, и мне приходится вручную менять его в переменных окружения, чтобы мое приложение снова могло получить доступ к базе данных, что, я уверен, вы согласитесь, не очень практично.

Итак, вот мой вопрос: есть ли способ автоматически назначить псевдоним, примерно как localhost, этому конкретному интерфейсу?

Думаю, я все еще могу попытаться проанализировать ifconfigвывод, но я бы лучше сначала попросил фактическое решение.

решение1

DNS-сервер.

Сохраните запись для использования приложением, возможно appdb.prod.example.org. Поскольку это имя службы, рассмотрите возможность создания CNAME для хоста, на котором она в данный момент запущена.

Обновляйте имя в DNS каждый раз, когда хост получает IP. Например, запись AAAA, container1.example.orgсодержащая 2001:bc8:4740:205::1. Как именно это сделать, зависит от вашей схемы нумерации и конфигурации DNS. Статические IP-адреса можно вводить сразу после их выделения. Для обновления DNS можно использовать DHCP-хуки. И существует программное обеспечение для отслеживания изменений IP-адресов на каждом интерфейсе и выполнения nsupdate, например autoddns.


Не используйте ifconfig в Linux, особенно для новых скриптов.Он устарел как минимум 11 лет назад.

решение2

Всегда можно использовать:

alias ip="hostname -I"

Связанный контент