特定のインターフェース IP にエイリアスを設定する方法はありますか?

特定のインターフェース IP にエイリアスを設定する方法はありますか?

私は、本番サーバーとして Debian 上で VCS を実行していますが、ハイパーバイザーの問題により、過去 1 週間に数回再起動/移行/更新する必要がありました。

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 にアクセスできるように環境変数で IP を手動で変更する必要があります。これはあまり実用的ではないことに同意していただけると思います。

localhost質問ですが、この特定のインターフェースに、 のようなエイリアスを自動的に割り当てる方法はありますか?

出力を解析してみることもできると思いますifconfigが、まずは実際の解決策を尋ねたいと思います。

答え1

ドメイン名。

使用するアプリケーションの記録を保持しますappdb.prod.example.org。これはサービス名なので、現在実行されているホストへの CNAME を作成することを検討してください。

ホストが IP を取得するたびに DNS 内の名前を更新します。たとえば、 という AAAA レコードには がcontainer1.example.org含まれます2001:bc8:4740:205::1。これを正確に行う方法は、番号付けスキームと DNS 構成によって異なります。静的 IP は、割り当てられるとすぐに入力できます。DHCP フックを使用して DNS を更新できます。また、すべてのインターフェイスの IP 変更を監視し、nsupdate を実行するソフトウェアも存在します。 自動DDNS


Linux では、新しいスクリプトには ifconfig を使用しないでください。少なくとも11年間は廃止されています。

答え2

常に使用できるもの:

alias ip="hostname -I"

関連情報