専用ルータと同等の機能を備えるLinuxベースのソフトウェアルーター「Vyatta」を使う

 専用サーバーサービスを使って複数のサーバーを利用している場合や、サーバー上に仮想マシンを複数稼働させてネットワークを構築しているといった場合、仮想的なルーターを利用できると便利なことが多い。本記事では仮想マシン上にインストールして利用できるLinuxベースのソフトウェアルーター「Vyatta」を使い、専用サーバーのネットワーク上にルーターを設置する方法を紹介する。

Linuxベースのソフトウェアルーター「Vyatta」を使う

 ネットワーク環境を構築する場合、インターネットに直接接続されている必要の無いマシンについてはローカルネットワークを作成してそこに接続するのが一般的だ。これにより、マシンへの不適切なアクセスを防ぐことができ、セキュリティを向上させることができる。たとえば「さくらの専用サーバ」ではローカル接続機能が提供されており、複数台のサーバーをローカルネットワークで接続することが可能だ。これを利用することで、ローカルネットワークだけに接続され、インターネットとは直接通信を行えないサーバーを用意することができる。このような構成の場合、ローカルネットワークだけに接続されたマシンはインターネットに接続されたマシンをルーターとして使用し、このマシンを経由することでインターネットに接続できる(図1)。

図1 ローカル接続機能を利用し、インターネットから特定のマシンを切り離す構成
図1 ローカル接続機能を利用し、インターネットから特定のマシンを切り離す構成

 元々Linuxにはルーターとしての機能も搭載されており、たとえばNATを利用したい場合はiptables、DHCPサーバーを提供したい場合はdhcpdなどのソフトウェアを利用することでLinuxマシンをルーターとして利用することが可能だ。しかし、これらはそれぞれ個別のソフトウェアとして提供されるため、インストールや設定などをそれぞれ行う必要があり手間がかかってしまう。そこで最近注目されているのが、ルーターとして必要なソフトウェアやその統一的な設定ツールを含むLinuxディストリビューション「Vyatta」だ。VyattaはDebian GNU/Linuxをベースに独自の管理インターフェイスやソフトウェアの組み込みといったカスタマイズを行ったもので、ルーターとして必要な設定を統一的に管理することができる。VyattaはLinuxベースということで、仮想環境上に容易にインストールできるのも特徴だ。そのため、仮想マシンを複数運用している環境で仮想ルーターとして利用する例も増えている。

 本記事では、このVyattaを仮想マシン上にインストールし、ルーターとして利用する方法について紹介していく。

今回作成するネットワーク構成

 今回作成するネットワーク構成では、1台のサーバーのみがインターネットに直接接続される。このサーバー上でKVMを利用して稼働させている仮想マシンにVyattaをインストールし、ルーターとして利用する(図2)。

図2 今回作成するネットワーク構成
図2 今回作成するネットワーク構成

 また、Vyattaをインストールした仮想マシンはブリッジ接続を使用してWAN側のネットワークとローカルネットワークの両方にアクセスできるように設定しておく。これにより、Vyattaをルーターとして利用できるようになる。

 なお、仮想マシンのホストとするLinuxディストリビューションにはRed Hat Enterprise Linux(RHEL)互換のCentOS 6.3を使用している。また、仮想化ソフトウェアにはRHEL(およびその互換OS)が標準でサポートしているKVMを使用している。