ESXiに仮想サーバを作ってNICを2個設定し、片方はグローバル、もう片方はプライベートLANに接続するように設定しました。(いわゆる2本足構成)
OSとしてはCentOS7をインストールし、それぞれのNICにIPアドレスを設定して、プライベートLAN上のPCからはどちらのNICに対しても通信できていたのですが、外からアクセスしようとしたらできない状態になってしまっていました。
しばらく調べてわかったことは、両方のNICにデフォルトルートが設定されていて、しかもプライベートLAN側が優先されていた(metricの数値が小さい)ことがわかりました。

# ip route
default via 172.xx.xx.xx dev eno16780032 proto static metric 100
default via 202.yy.yy.yy dev eno33559296 proto static metric 101
172.xx.0.0/16 dev eno16780032 proto kernel scope link src 172.xx.xx.xx metric 100
202.yy.yy.0/26 dev eno33559296 proto kernel scope link src 202.yy.yy.yy metric 101

デフォルトルートが172で始まるネットワーク(プライベートLAN)に流されるようになっていたので、PCからはグローバルアドレスに対するアクセスが、プライベートLANの方から帰ってくる状態になっていたようです。この状態では外から(グローバルアドレスから)アクセスすると、返答がプライベートLANに流されてしまい、受け取れなくなってしまうようです。
まずは nmtui でプライベートLAN側がデフォルトゲートウェイにならないように設定しました。
nmtui.png
ゲートウェイの欄を空欄にして、「このネットワークはデフォルトのルートには使用しない」にチェックマーク(X)を入れました。
これで保存してネットワークを再起動すると、デフォルトルートがグローバル側の1個になり、外からも無事にアクセスできるようになりました。

# systemctl network restart

カテゴリー: サーバ関連

0件のコメント

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください