Linuxインタフェースの優先順位

事象

eno1に保守用IP、eno2にAWS EC2と疎通する実通信用IPを振っているLinuxサーバを再起動した。

ONBOOT=noにしていたので、再起動で無効化されたインタフェースをnmcli con up eno1、nmcli con up eno2で起動した。
が、EC2との疎通が復旧しない
ちなみにEC2につけているセキュリティグループではeno2のIPだけを許可している。

冗長化しているサーバだったので、EC2との疎通ができているサーバと諸々見比べてみたところ、nmcli実行結果の表示順番が違うことに気付いた。

正常にEC2と疎通できているサーバは①eno2(実通信用IP)、②eno1(保守用IP)となっているが、再起動後にEC2と疎通できなくなったサーバは①eno1(保守用IP)、②eno2(実通信用IP)となっていた。

復旧

eno2の実通信用IPでSSHし、eno1をnmcli con downの後にcon up。nmcliの結果が①eno2(実通信用IP)、②eno1(保守用IP)になった。このタイミングでEC2との疎通も復旧した。

つまり、nmcli con upをeno1の保守用IPから実行したことで、優先されるIP(外部につなぎに行くときのグローバルIPとなるIPアドレス)が保守用IPとなり、そのせいでEC2のSGで弾かれていたと思われる。

これ、再起動するたびにeno1のdown/upしなきゃいけないの? そんなわけなくない?

ONBOOT=noになっていたのはyesにすればよいのだろうが、yesにしたところで自動起動はenoの若番から実行されるだろう。

調べてるが検索ワードが悪いのか解決策となりえるものがヒットしない。この状態になったらもう詰みなのかもしれない。

誰か助けてください。




2022/1/15 追記
しかたないんでeno1とeno2どっちもAWS SGで許可しました。

この記事が気に入ったらサポートをしてみませんか?