Vyatta導入のメモ。前にGIGAZINEで記事があがっていたけど、DHCPとかの設定までは載っていなかったので、自分のために。
基本的にはVyattaの公式ページに公開されているクイックスタートガイドを読みながらやれば簡単。というかその内容の焼き直し。あくまでメモなので。
用意するもの
- NICが2つあるPC
- Vyattaのイメージを焼いたCD
ただし僕は実験として構築したのでVMware ESXi上で全部やりました。
まずは適当なスペックの仮想マシンを作成。CPU1つ(特にリソース制限無し)、メモリ256MB、HDD 2GBを割り当て。ルータなのでNICは2つ搭載。
WAN側NICは宅内LANにつながった仮装スイッチに接続し、LAN側を独立した仮装スイッチに接続。
CDドライブのソースをVyattaのISOイメージに設定して起動すればVyattaがLiveCDから起動するので、ID/Passともにvyattaでログイン。 install-system コマンドをたたくとインストールが開始されます。
基本的にデフォルトの選択肢でOKですが、「ほんとに消しちゃうよ?」っていう質問だけはデフォルトがNoになっているのでそのままエンターしないでYesと入力してください。聞かれる内容とおそらく多くの環境での選択はこんな感じ。
- パーティション切るのどうする? → Auto
- どのHDDに入れる? → sda
- 全部消しちゃうよ? → Yesを入力
- /のサイズは? → HDD全部割り当て
- 設定ファイルの場所 → デフォルトで
- ユーザアカウントのパスワード設定する? → する
- システム管理者(root)のパスワードは? → 入力
- ルータ管理者(vyatta)のパスワードは? → 入力
- GRUBどこに入れる? → sda
- 完了!
注意するほどでもないけど、気になった点をいくつか挙げておくと、
- 以前いれたHDDに上書きインストールしようとすると、設定のバックアップとリストアをする選択肢が表示される。Yesを選択すれば以前の設定が引き継がれる。その場合設定ファイルの場所とかパスワードは聞かれないでこれも引き継がれる。
- パスワードの入力はエコーバック(打ったものが表示)される。そのかわり、2度入力を求められたりはしない。特にrootパスワード入力後パスワードの確認かと思ってよく見ないで打つとvyattaアカウントのパスワードが設定される(←実際やった
ここまで来たら一度再起動する。CDは不要なので一応抜いておく。ESXiの場合設定からConnect at power onのチェックを外しておく。標準のBIOS設定ならHDD起動可能であればHDDが優先されると思うので抜かなくても大丈夫かもしれない。
次。まずはVyatta自身が外に出られるようにする。vyattaユーザでログインしてconfigureコマンドで設定モードに入る。まずはホスト名の設定。
set system host-name v1
set system domain-name kawataso.net
commit
NICのアドレス設定をして、DNSサーバとゲートウェイを設定する。
set interfaces ethernet eth0 address 192.168.11.253/24
set system name-server 192.168.11.1
set system gateway-address 192.168.11.1
commit
ここまでで、このルータ自身は外に出られるはずなので
ping www.google.com
とかして確かめておく。問題なさそうならこの設定をファイルに保存する。
save
と一発。
このあとNATルータとしての設定をするわけだけど、その前に一応パッケージの更新とかをしておく。といってもaptが使えるので
apt-get update
apt-get upgrade
とするだけ。マニュアルだとconfigureモードでできると書いてあるのだけど、僕がやったときは権限が足りなくてできなかったので普通にsuしてから実行。特に更新は無かった。更新があった場合は再起動とかしておくといいかも。
LAN側の設定をしてルータとして使えるようにする。
set interfaces ethernet eth1 address 192.168.101.1/24
commit
もしDHCPとか使わないならこれだけでもう外に出られるはず(DNSは外部のを直接指定する)。でもまだNATをかけていないので、あっちもこっちもルーティングの設定をしないとだめだけどね。
DHCPサーバの設定をする。
set service dhcp-server shared-network-name ETH1_POOL subnet 192.168.101.0/24 start 192.168.101.100 stop 192.168.101.199
set service dhcp-server shared-network-name ETH1_POOL subnet 192.168.101.0/24 default-router 192.168.101.1
set service dhcp-server shared-network-name ETH1_POOL subnet 192.168.101.0/24 dns-server 192.168.11.1
commit
NATをかける。
set service nat rule 1 source address 192.168.101.0/24
set service nat rule 1 outbound-interface eth0
set service nat rule 1 type masquerade
commit
これで、最低限NATルータとして動作するようになる。あとは必要に応じてFWかけたり、ポートフォワードの設定をしたりすればおk。
各設定のあとのcommitによってその設定は即座に動作に反映されるのだけど、saveコマンドをたたかないとファイルには保存されないので注意。せっかく設定したのに再起動したら設定が無くなっていて涙目になる可能性がある。特に中途半端に設定が残っていて変な挙動になった日には吊るしかない。
GIGAZINEがFreeBSDに手を出した?
なんかまたGIGAZINE方面からのネタ。 FreeBSDをインストールしてみた…