2018年07月20日

ESXi仮想サーバにNICを2個設定したら外から通信できなくなったとき

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



posted by はるこち at 19:00| Comment(0) | サーバ関連 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]


×

この広告は180日以上新しい記事の投稿がないブログに表示されております。