経緯
勉強中初心者ワイ、ブリッジ接続とかワケワカメ。ネットで調べてなんとかそれっぽく接続できたけどどういうこっちゃこれ状態。ちょっと調べてみよ。IPアドレスが関連してる事だけわかる。
↓
なんとなくイメージ付いたから忘れんうちに文字で残しとこ!
ブリッジ接続前のNAT接続はどういう状態なの?
- まず、NATというのは「IPアドレスを変換している」という事。
- じゃあ、「どういう状態のアドレスをどういう風に変換してるの?」という話。
今回はWindowsホストOS内でLinux仮想サーバーを建てている為、その前提でのお話になります。まぁあんまりOSは関係ないかもしれないけど・・・。
仮想マシンはインターネットに出ていくまでに2回IPアドレスが変化している。
〈1回目〉
仮想マシン内で独自に仮想ホストに割り振られているプライベートIPアドレスを、自分が動いている物理マシンのIPアドレスに変換してもらっている。
理由:
- 仮想マシンがインターネットと通信する為には、仮想マシンが動いている物理マシンがインターネットと通信する為に使用しているデフォルトゲートウェイを使用しなければいけない。
- その為、必然的に物理マシンが接続されているネットワークにパケットを乗せなければいけない。
- その為、仮想マシンからのパケットの送信元アドレスを物理マシンのIPアドレスに変換(代理)して貰って、あたかも「物理マシンからのパケット」のようにネットワークに流してもらっている。 ←だからNAT接続
〈2回目〉
物理マシンの所属ネットワークからデフォルトゲートウェイ(ルーター)を通してインターネットに出ていく時にプライベートIPアドレスからグローバルIPアドレスに変換。
これはまぁ普通にそう。
ブリッジ接続したらどうなるの?
- ブリッジとはその名の如く「橋渡し」ということ。多分。
- じゃあ、NAT接続時から物理ホストの役割はどう変化したの?
ブリッジ接続は「仮想マシンに物理ホストと同じネットワーク内のプライベートIPアドレスをルーターから直接割り振ってもらう」事で、ネットワーク内に列記とした1台のホストとして仲間入りしてもらう事。
NAT接続時:
「仮想マシン」→「物理ホスト」→「ローカルネットワーク」 →「デフォルトゲートウェイ」→『インターネット』
ブリッジ接続時:
「仮想マシン」→「ローカルネットワーク」 →「デフォルトゲートウェイ」→『インターネット』
ブリッジ接続時の仮想マシンの位置付け
ブリッジ接続を行っている状態における仮想マシンには、現実のローカルネットワークのDHCPサーバーから列記とした一台のホストとしてプライベートIPアドレスが割り振られます。
つまり、IPアドレスを確認してみた時に、もしそのローカルネットワークアドレスが/24プレフィックスだった場合は、IPv4アドレスの第3オクテットまでが、ネットワークアドレスと共有されている筈です。そして同時に、その仮想サーバーが立ち上がっている物理ホストに割り振られたプライベートIPアドレスともネットワーク部を共有する形で違うアドレスが割り振られた状態にもなっている筈です。
ブリッジ接続時の仮想マシンを立ち上げている物理ホストの役割
NAT接続時における物理ホストの役割はNAT処理を行って仮想マシンからの通信を代理してネットワークに流す事でした。ブリッジ接続になった時、物理ホストはこうした処理を行う必要がなくなります。
つまり、この時の物理サーバーは正に 「物理的なネットワークアダプターを持っていない仮想マシンの為にネットワークアダプターを貸してあげてるだけの橋渡し役(ブリッジ)」 でしかなくなるという事です!
正にブリッジ(橋)接続。
まとめ
- NAT接続からブリッジ接続に切り替えている。
- NAT接続時は仮想マシンを立ち上げている物理ホストが仮想マシン内のIPアドレスを自分のプライベートIPアドレスに変換してローカルネットワークに流してくれていた。だからNAT接続。
- ブリッジ接続を行うと、仮想マシンがローカルネットワークのDHCPサーバーから列記としたホストとして個別のプライベートIPアドレスを割り振ってくれる。
- ブリッジ接続後の仮想マシンを立ち上げている物理ホストは、ハードウェアの実体を持たない、つまりネットワークアダプターを持っていない仮想マシンの為に自分のネットワークアダプターを貸してあげるだけの橋(ブリッジ)になる。
- 最終的な状態としては、物理マシン、仮想マシンそれぞれのプライベートIPアドレスは、ネットワーク部を共有したそれぞれ独立のホスト部を保持した状態になる。
最後に、物凄くざっくりブリッジ接続を説明すると・・・?
ローカルネットワーク内で2台のパソコンが1枚のネットワークアダプター(NIC)を一緒に使っている状態。