質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.53%
CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

KVM

KVM【Kernel-based Cirtual Machine】は、 Linux上で仮想化環境を利用するためのソフトウェアです。 1台のPC上で複数のOSを同時に動作させるために必要な制御を行う 仮想化環境の仕組みを提供します。

ネットワーク

ネットワークとは、複数のコンピューター間を接続する技術です。インターネットが最も主流なネットワークの形態で、TCP/IP・HTTP・DNSなどの様々なプロトコルや、ルータやサーバーなどの様々な機器の上に成り立っています。

Q&A

解決済

1回答

3915閲覧

kvmでホスト・ゲスト共に外部に公開したい

yuchan_

総合スコア5

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

KVM

KVM【Kernel-based Cirtual Machine】は、 Linux上で仮想化環境を利用するためのソフトウェアです。 1台のPC上で複数のOSを同時に動作させるために必要な制御を行う 仮想化環境の仕組みを提供します。

ネットワーク

ネットワークとは、複数のコンピューター間を接続する技術です。インターネットが最も主流なネットワークの形態で、TCP/IP・HTTP・DNSなどの様々なプロトコルや、ルータやサーバーなどの様々な機器の上に成り立っています。

0グッド

0クリップ

投稿2020/01/27 11:58

前提・実現したいこと

現在、レンタルサーバーにCentOS7.6でサーバーを立てて、グローバルIPを借りて外部から作業しております。グローバルIPはネットワークが異なる2つ(A、B)を借りていて、1つ(A)をホストに使用しており、もう1つ(B)は使っていません。今般KVMで仮想マシンを2台立てる必要に迫られ、更にグローバルIP(C)を借りたのですが、「A、B、C」は全て異なるネットワークですが、後から追加したIP(B、C)のルーティング先は「A」のアドレスとなっていました。ゲストを外部に公開するためにどのような方法があるでしょうか?

発生している問題・エラーメッセージ

物理NICに設定していたIPアドレス(A)を、作成したブリッジbr0に充てて、物理NICをIPなしにして、ゲスト1にIPアドレス(B)を充てて、ブリッジで接続しようと試みましたが、外部からゲストへの通信ができません。(内部からも)

該当のソースコード

特にありません。Pingも通らず、全く外から見えませんし、中から外も全く通信していません。

試したこと

色々なサイトを参考に、VirBrは使わず、新たにブリッジを作成して試しましたが、全く通信ができません。仕方なく、物理NICに(A)を戻して調べている次第です。物理NICに(A)を充てたまま、ネットワークが異なる(B)をブリッジで接続するなんてことはできないのでしょうか?また、(B)のルーティング先に(A)のアドレスが指定されていたので、(A)にたどり着けば外部に出られると考えるのは間違っているでしょうか?

補足情報(FW/ツールのバージョンなど)

ブリッジではなく、vSwitchや他の方法なら繋がるのでしたらヒントだけでも頂けると助かります。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

TaichiYanagiya

2020/01/29 23:45

> 後から追加したIP(B、C)のルーティング先は「A」のアドレスとなっていました。 これはどういうことですか?
yuchan_

2020/01/30 02:14

ご質問ありがとうございます。ホスティング事業者と契約してサーバを借りたときに付与されたグローバルIPアドレス(A)、(B)があります。 (A)を仮に150.150.150.150(※G/Wは150.150.150.1)としますと、(B)は160.160.160.160(G/Wの表記無し)が割り振られました。さらに追加でグローバルIPアドレス(C)を発行してもらったところ、170.170.170.170(G/Wの表記無し)が割り振られ、IP追加完了の通知メールに「新しいアドレス(C)が発行されました。ルーティング先情報は150.150.150.150です。」と書かれていました。 ご質問の「ルーティング先」というのは外部から(B)、(C)に接続する場合、(A)に届くように設定しましたよ、という意味かと理解しています。 また、同じメールに追加されたIPは物理NICの設定ファイル(/etc/sysconfig/network-scripts/ifcfg-eno1 )に追加すれば使えると書いてありました。 このことから、物理nicに追加されたIPを記載すれば使用できることは理解できるのですが、仮想マシンを作成した場合、仮想マシンにアドレス(B)、(C)を使用したいのです。その場合、(B)、(C)は物理nicのもつ(A)まで辿り着くことができれば、外部との通信ができるのかと考えたのですが、ネットワークの異なる仮想マシン(B)、(C)から、物理マシン(A)まで接続する良い方法がわからないのです。 ネットワークが異なるので、通常のブリッジでは接続できませんでした。(アンコネクト) 質問後も調べていますが、現在物理NICをブリッジしている「br0」をOpen vSwitchに変えて、やってみるのが良いかと思うのですが、中々設定の仕方などが載っているページが見つからず苦労しているという現状です。
yuchan_

2020/02/03 07:51

現時点ではNAT変換しか疎通は取れていませんが、当方の知識不足のため、回答を得やすい質問をすることができず、申し訳ございません。お答えいただいたTaichiYanagiya様のアドバイスをベストアンサーとして選ばせていただきます。ありがとうございました。
guest

回答1

0

ベストアンサー

外部から(B)、(C)に接続する場合、(A)に届くように設定しましたよ、という意味かと理解しています。

まず、(B),(C) の IPアドレスを CentOS 7.6 の eno1 に付与し、外部から ping で応答があることを確認ください。

# ip addr add (B)/32 dev eno1 # ip addr add (C)/32 dev eno1 (削除は下記コマンド実行、または、OS再起動) # ip addr del (B)/32 dev eno1 # ip addr del (C)/32 dev eno1

KVM 仮想マシンを eno1 にブリッジしてもいいですが、ポートフォワード、DNAT で (B)→仮想マシン1 のローカルIP、(C)→仮想マシン2 のローカルIP とする方法もあります。

投稿2020/01/30 03:22

TaichiYanagiya

総合スコア12139

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yuchan_

2020/01/30 03:47

TaichiYanagiya様、ご回答ありがとうございました。 ご教授いただいた通り、eno1に(B)、(C)のアドレスを追加したところ、外部からの疎通は確認できました。 ポートフォワード、DNATによる接続方法のご教授ありがとうございます。今から試してみます。 今後、今回のテストで目途がついた場合、同じ仮想マシンに更にグローバルIPを複数追加する予定がありまして、その際は、eno1にグローバルIPを追加し、それに対応するローカルIPをローカルマシン側に登録するという認識でよろしいでしょうか?それと今回調べていて、接続方法により通信スペック(速度?)やホストマシンへの負担が書かれているサイトがあったので、vSwitchで接続する方法を検討した次第です。厚かましいお願いですが、もしよろしければ、そちらの接続方法のヒントもご教授いただけると大変うれしいです。よろしくお願いいたします。
TaichiYanagiya

2020/01/30 13:59

普通にブリッジでもできると思いますが、ちょっとわかりません。
yuchan_

2020/02/03 07:46

遅くなりましたが、ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.53%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問