vyattaのNATの設定

これまでにKVMを使って図1のような仮想環境を構築してきました。図1の仮想環境において、各仮想マシンubuntu1、ubuntu2がインターネットへ接続するには、vyattaBにおいて、NATの設定を行う必要があります。よってここでは、vyattaのNATの設定方法をメモします。

virtual_net_configure
図1 KVMによる仮想環境イメージ図

状況としては、図1のようにKVM上で動作している仮想マシンubuntu1を、vyattaA —> vyattaBを経由してインターネットにつなぎたいという場合です。なお、ubuntu2についてもvyattaC —> vyattaBを経由してインターネットに接続できるようにします。

ちなみに、KVMでは、デフォルトで用意されている仮想ネットワーク「default」に接続された仮想マシンはインターネットへ接続することができます。そして「default」のネットワークアドレスは「192.168.122.0/24」です。この仮想ネットワーク「default」に属する仮想マシンのトラフィックは、KVMが動作するホストマシンのiptablesのNATの設定によってホストマシンのトラフィックに変換されます。これにより「default」に属する仮想マシンのインターネット接続を実現しています。なお、この仮想ネットワーク「default」やiptablesの設定についてはKVM (Kernel-based Virtual Machine) による仮想環境の構築手順(KVMのインストールと仮想ネットワーク作成手順)を参照下さい。

よって、図1において「default」に属するvyattaBはすでにインターネットへ接続することができます。そこで、ubuntu1、ubuntu2の通信を、vyattaBにおいてNATを使って「default」に属する仮想マシンのトラフィックに変換することで、ubuntu1、ubuntu2をインターネットに接続できるようにします。

vyattaのNATの設定

vyattaBにNATの設定を行うことで、vyattaBのeth6に入ってきたトラフィックのIPアドレスをvyattaBのeth7のIPアドレス192.168.122.3に変換します。これにより、ubuntu1、ubuntu2のトラフィックがあたかも仮想ネットワーク「default」に属するvyattaBのeth7からのトラフィックとして扱われ、ubuntu1、ubuntu2がインターネットへ接続できるようになります。そしてこれを実現するためには、vyattaBにおいて、以下のコマンドを実行し、NATを設定します。

・1行目
NATによって変換する送信元IPアドレスを「0.0.0.0/0」に指定しています。「0.0.0.0/0」はすべてのIPアドレスが対象になります。したがって、この場合は、送信元IPアドレスに関わらず全てのトラフィックが変換対象となります。ちなみに、「rule」の後に続く数字の「1」は、任意の番号です。


・2行目
1行目で指定した送信元IPアドレスを「192.168.122.3」に変換しています。


・3行目
1行目、2行目で変換したトラフィックが出て行くインターフェースを「eth7」に指定しています。


以上により、送信元IPアドレスに関わらずvyattaBに入ってきたトラフィックの送信元IPアドレスは「192.168.122.3」に変換され、eth7から出て行くことになります。
そして、NATの設定内容を確認すると、以下のようになっています。

このエントリーをはてなブックマークに追加

SPONSORED LINK

この投稿へのコメント

コメントはありません。

コメントを残す

メールアドレスが公開されることはありません。

この投稿へのトラックバック

トラックバックはありません。

トラックバック URL