僕の自宅のルータはVyattaを使っていて、PPTPのVPNサーバもやってくれる便利なやつなんだけど、リモートからのアクセスVPNならともかく、別々のネットワークに置いてあるノードを同一サブネットで通信させたいときに、わざわざ自宅のルータを経由するのはいけてないなあ、と前から思っていたので、さくらのVPSにVyattaをおいてみることにしました。
Vyattaが何か、というのはググってみてください。自宅のBBルータとして使うにはあまりに勿体無いくらいの多機能なルータ用Linuxディストリビューションです。でもBBルータとして使うにも設定が簡単なので、PCや仮想環境のリソースが余っていれば、使ってみればいいんじゃないかな。
そのVyattaの機能の一つとしてVPNサーバがあります。IPsec+L2TPやOpenVPNでSite-to-Siteでつないだり、PPTPでアクセスVPNを提供したりできます。あくまで自宅に設置してあるルータなので僕の利用方法は概ねアクセスVPNだったのですが、当然VPNで接続していれば、複数の場所のノードが同一サブネットで通信できるわけで、アクセスVPNのクライアント同士の通信を手軽に提供できるので、実は最近はそういうクライアント間のバイパス目的でVPNを利用することが増えてきました。
そうなると、別に自宅のマシンにアクセスしたいわけでもないのに、自宅のルータを経由してトラフィックを流しているということになります。しかし僕の自宅はごく一般的な毎日のトラフィックがあまりに多いと規制します、と宣言しているISPを利用していますから、できるだけ、不要な通信はしたくないわけです。(実際には規制に引っかかるような量の通信をすることはないのですが)
じゃあ、どこか他に制限されない中継サーバがあればいいわけで、そこで登場するのがさくらののVPSです。通信帯域の制限はoutが100Mbpsという上限がありますが、転送量制限はありません。天国ですね。僕の自宅よりも圧倒的に回線品質もいいですし。最近のさくらのVPSは大阪のDCに収容されているようですが、たまたま初期に契約した東京のVPSが余っている(わけではないけどどうせFreeBSDのCURRENTをビルドするだけに使っていた)のでここにVyattaをインストールしてみることにしました。(さくらのバックボーンとか対外接続を考えたら僕が使うVPNのトラフィックなんて大阪のDC経由だって何も問題はないと思うけど)
まずは標準のCentOSを再インストール。あとVyatta6.2 virtのインストールCDのISOイメージをwgetしておきましょう。カスタムOSにないLinuxのインストール方法はここを参考にしました。後述する以外で作業の上で違うことをしているとすれば、最初からVNCで作業をしていることくらい。
まず/etc/fstabを編集してswapを利用しないようにします。最終行の記述を削除なりコメントアウトすればOK。ここで一度再起動。
パーティションのタイプを変更します。
# fdisk /dev/hda
でfdiskを起動して
:p Disk /dev/hda: 21.4 GB, 21474836480 bytes 255 heads, 63 sectors/track, 2610 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/hda1 * 1 13 104391 83 Linux /dev/hda2 14 2355 18812115 83 Linux /dev/hda3 2356 2610 2048287+ 82 Linux swap / Solaris :t Partition number (1-4): 3 Hex code (type L to list codes): 83 Changed system type of partition 3 to 83 (Linux) :w
こんな感じでswapだった領域をLinuxのパーティションに変更する。Kernelが古い情報をつかんだままだよ!って警告がでたらここでまた再起動。あとネットワークの情報をメモっておく。/etc/sysconfig/network-scripts/ifcfg-eth0と/etc/resolv.confの中身があればOK。(僕はresolv.confの中身をメモるの忘れたので今は8.8.8.8をとりあえず利用しています。)
元swap領域を使えるようにフォーマットしてマウント、あとISOイメージもマウントする。んで、ISOイメージの中身をhda3にコピー
# mkfs /dev/hda3 # mkdir hdd # mount /dev/hda3 ./hdd # mkdir iso # mount -t iso9660 -o loop ./vyatta.iso ./iso # cp -R ./iso/* ./hdd
hda3からVyattaのインストーラを起動できるようにgrubの設定をする。
# vi /boot/grub/menu.lst title VyattaInstall root (hd0,2) kernel /live/vmlinuz boot=live config hostname=vyatta union=unionfs quiet initrd /live/initrd.img
vmlinuzとinitrc.imgはlive/にあるのでそれを指定するけど、kernelのパラメータはisolinux/のlive.cfgを参考に。appendのinitrd以外のパラメータをkernelの後ろにくっつければOK。これで再起動すればgrubのメニューにVyattaInstallが現れるので選択して起動する。シェルが起動したらinstall-systemコマンドを実行してVyattaのインストール開始。ただいつもならEnter連打で済ませるところだけど、今回いつもと違うのはCDから起動しているのではなくてHDDから起動しているということ。なのでさくっとHDDの中身を消去してVyattaをインストールというわけにはいかない。具体的にはパーティションの処理をAutoではなくてSkipにして、そのあとリストに表示されるsda2にVyattaをインストールする。それ以外はいつも通り。grubまでインストールが完了したらここで再起動。おめでとうございます、Vyattaのインストールが完了しました。
あとはさっきメモっておいたネットワーク設定を反映して、通信が出来ることを確認。ここから先はVyatta自体の設定なので、インストール作業としてはここまで。
“さくらのVPSにVyattaをインストール” への1件のフィードバック