専用ルータと同等の機能を備えるLinuxベースのソフトウェアルーター「Vyatta」を使う 4ページ
Vyattaの起動と停止
仮想マシン上にインストールしたVyatta環境の起動と停止、再起動についても説明しておこう。仮想マシンを起動させるには、virsh startコマンドを使用する。
virsh start <仮想マシン名>
たとえば「Vyatta01」という名前で作成した仮想マシンを起動するには、以下のようにする。
# virsh start Vyatta01
起動した仮想マシンのコンソールにアクセスするには、まずvirsh listコマンドで仮想マシンのIDを調べる。
# virsh list Id Name State ---------------------------------------------------- 4 Vyatta01 running
この場合、Vyatta01という仮想マシンには4というIDが割り当てられている。続いてこのIDを指定してvirsh consoleコマンドを実行することで、仮想マシンのコンソールにアクセスできる。
# virsh console 4 Connected to domain Vyatta01 Escape character is ^] Welcome to Vyatta - vyatta ttyS0 vyatta login:
なお、コンソールから抜けるにはCtrl+]を入力すれば良い。
Vyattaでは、Linuxのshutdownコマンドやrebootコマンドを使ってシャットダウンや再起動を行えるほか、独自の「poweroff」や「reboot」といったコマンドでこれらの操作を行える。たとえば再起動を行うには、以下のようにrebootコマンドを実行すれば良い。
$ reboot
NICの追加
virt-installコマンドで作成された仮想マシンでは、デフォルトでは1つの仮想NICが搭載されている。しかし、仮想マシンをルーターとして利用するには複数のNICが必要だ。そこで、仮想マシンの設定ファイルを編集してNICを追加する作業を行っておく。仮想マシンのハードウェア構成や設定を変更するには、仮想マシンを停止させた状態でvirsh editコマンドを実行する。virsh editコマンドの引数には、設定を変更したい仮想マシンの名前を指定する。
# virsh edit <仮想マシン名>
たとえばVyatta01という仮想マシンの設定を変更するには、以下のようにする。
# virsh edit Vyatta01
virsh editコマンドを実行するとテキストエディタ(デフォルトではvi)が起動し、そこで設定ファイルの編集を行っていく。この設定ファイルにはXML形式で仮想マシンの名前やメモリ容量、仮想CPU数といったハードウェア構成や仮想ディスクの設定、仮想NICの設定などが記述されている。仮想NICの設定は、以下の「interface」要素として記述されている。
<interface type='bridge'> <mac address='52:54:00:d8:dd:e9'/> <source bridge='br0'/> <model type='virtio'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> </interface>
仮想NICを追加するには、このinterface要素の次に以下のような新たにinterface要素を追加すれば良い。
<interface type='bridge'> <mac address='52:54:00:d8:dd:f0'/> <source bridge='br1'/> <model type='virtio'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/> </interface>
なお、太字の個所は環境に応じて適切なものに変更しておく必要がある。mac要素のaddress属性には仮想NICに割り当てるMACアドレスを、address要素のslot属性には仮想PCIスロットIDを指定する。設定ファイル内ではほかにもaddress要素を使って接続する仮想PCIスロットを指定しているものがあるので、重複しないよう値を設定しておく。また、3つ以上の仮想NICを利用したい場合は同様にして必要な数だけinterface要素を追加すれば良い。
設定ファイルの修正・保存を行ってエディタを終了すると、自動的に変更した設定が保存される。続いて仮想マシンを起動し、正しく追加した仮想NICが認識されているかどうかを確認しておこう。Vyatta上で接続されているNICを確認するには、以下のようにshow interfacesコマンドを実行すれば良い。
$ show interfaces Codes: S - State, L - Link, u - Up, D - Down, A - Admin Down Interface IP Address S/L Description --------- ---------- --- ----------- eth0 - u/u eth1 - u/u lo 127.0.0.1/8 u/u ::1/128
ここでは「Interface」欄にeth0およびeth1の2つが表示されており、2つの仮想NICが認識されていることが分かる。