ライン

ポイント:リモートアクセスサーバがあっという間に完成して驚き

ライン

 はじめに

SEIL/x86

 仮想マシン上で動作するソフトウェアルータ SEIL(ザイル)/x86。
何故か今更試すことにしました。動作環境は、VMware 5.5系上で動かし、自PCとL2TP+IPsecで接続しようと思います。

最終的には、会社とデータセンターの間のトンネル用に使うかは結果考えようと思っています。
Vyattaなどでも良いのですけど、専門性が高いと他の人で対応できないので。今回これを利用してみようと思います。
価格もキャンペーン価格ということで、1ホスト800円で利用できるそうなので、2拠点分を購入しておこうとは思っています。
(※実際に購入しました)
# 使わなかったら、別用途で利用できそうであるし。いまさらだけど、ALIX.2D13で遊ぶとかも静かで省電力で良さげ…

 準備

SEIL/x86 のダウンロード

 まずは、詳細な情報を眺めます。
ダウンロードをするためには、メールアドレスのみが必要になるみたいです。
「VMware版、ディスクイメージ版、およびアップデート用のIMG形式が提供されます」と書かれているので、VMware版をいただくことにします。SEIL/x86 Fuji version 3.22 (VMware形式,OVF版を同梱)というものがseilx86-322-vmware.zipとしてゲットできました。
 でも、必要そうな起動キーは、「※なんらかの理由で、SEIL/x86の起動キー送付に失敗しました。※」と表示されています。
gmailのメールアドレスにZIPファイルの添付をしているのかも知れないですね。これはどうすればいいのかは後で情報を捜します。

 動作環境は、VMware ESXi 5.5 ・VMware ESXi 5.0 ということなので、大丈夫そう。
「vmxnet3を含むVMwareの準仮想化デバイスには対応していません。また、VMware ToolsはSEIL/x86に対応していません」だそうです。
NetBSDだとのことなので、これに併せて入れても良さそうだけど、例外的なことはよそうかな。

 ドキュメントが少ない…と書かれているのをいくつかのページで目にしましたが、特にそんなこともなさそうです。
日本語でこれだけ情報があれば、大丈夫なのでは、と思うのですが。実際に設定で悩むかどうかをのちほど体験します。

ZIPファイルの中身を確認します。

 これを取り込む作業を開始します。
下記、OVFテンプレートのデプロイを選択して進めます。

こんな流れで導入は完了。
メモリーは、512MBで1CPU。ディスクも1GB未満というお手軽サイズです。

 設定

ログイン

さて、ログインです。
初期IDは「admin」でパスワードは空であると、Google先生が教えてくれます。
ドキュメント上にこの手の情報はどこに書かれているのか未確認です。

IPアドレスとsshdの有効化を行って、SSHで作業を行うことにします。

Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
    The NetBSD Foundation, Inc.  All rights reserved.
Copyright (c) 1982, 1986, 1989, 1991, 1993
    The Regents of the University of California.  All rights reserved.

  Warning! Do not forget to set admin password.

# ?
    bye              load-from        report-to        telnetd
    clear            logout           set              traceroute
    date             measure          show             traceroute6
    exit             ping             ssh              uninstall-key
    help             ping6            sshd             update
    install-key      quit             tcpdump          wol
    interface        reboot           telnet
#

最初は、192.168.0.1/24でSSHなしになっているみたい。ヘタをするとIPかぶっちゃうから、初期値はもっと当たらないのにして欲しいのに。

# interface lan0 address 192.168.253.164/24

のような形式で投入しました。(※上記は例です)
もちろん、先にIPアドレスが既に利用されていないかを確認してから実施です。

# sshd enable

これで、接続できるようになりました。
TeraTermなどで接続できるようになったことを確認します。
さて、インストールキーの入力ができないので、先に進めません…というか、保存するためのコマンドが有効にならないので不便です。

とりあえず、営業日にならないと、起動キーはどうにもならないと思うので、今日はこれまでです。
続きは後日になります。

…というところで続き。(※ここで数時間たっています)
良く考えれば、gmail以外で登録すればいいだけなんで、再登録を実施してみました。
「SEIL/x86 起動キーのリクエストありがとうございます」というタイトルの電子メールが届きました。

[2] 起動キーのインストール

   起動キー: startkey.txt (本メールに添付)

ということで、添付もゲット。意外にも添付メールはテキストファイル形式でした。
俺のメルアド登録がおかしいのかな?

# install-key from stdin
please enter key data ("." for end of key data)

のように表示されるので、メールに添付された内容をコピペします。

...<= (入力した内容はここでは非表示にしています)
.OK?[y/N]y
Startup Key:
  Distribution ID : 0001-0000-0000-0086-0001-****-****-****
  Memo     : Distributed via SEIL Community Site.
  Status   : VALID and registered.

#

こんな感じ。

# ?
    administrator          ike                    resolver
    application-gateway    install-key            route
    arp                    interface              route6
    authentication         ipsec                  rtadvd
    bridge                 l2tp                   save-to
    bye                    load-from              set
    cbq                    logout                 show
    certificate            macfilter              snmp
    clear                  measure                ssh
    connect                monitor                ssh-config
    date                   nat                    sshd
    dhcp                   nat6                   syslog
    dhcp6                  ntp                    tcpdump
    dialup-device          option                 telnet
    dialup-network         password               telnetd
    disconnect             ping                   timezone
    dns                    ping6                  traceroute
    environment            ppp                    traceroute6
    exit                   pppac                  translator
    factory-config         proxyarp               unicast-rpf
    filter                 quit                   uninstall-key
    filter6                reboot                 update
    floatlink              reconnect              vrrp
    help                   remote-console         vrrp3
    hostname               report-to              wol
    httpd                  reset                  wol-target
#

入力できるコマンドが拡張しました。
これでやっとIPアドレスが保存できるようになるはずですよね。

その前にパスワードを付与することができるようになりましたので先に変更します。
※ちなみに、このタイミングで userのパスワードも付与してください
わたしは、telnetd disable やhttpd disableも加えました。

# password admin
New password:
Retype new password:
#

ファイルの保存方法は、以下でいいはず。

# save-to flashrom
please install "save-to function key".

ダメでした。stoutで出力した内容を、テキストファイルで保存する方法しかまだダメみたいでした。
先に機能キー(ファンクションキー)を入れてからじゃないとダメなんだね? こういう順番になるんだね?

SEIL-x86 LaIT サプライ というページから購入できる。

# えーっ。クレジットカードですぐにゲットできるんじゃないんだね?
「代理店コード」という入力画面が来るが、無視して先に進むでいいらしい。
800円は税別らしい。
# 将来のメジャーバージョンになった際にはいくらになるのかわからないし、そもそもいつリリースされるのだろうか?

先に進めると、「ログイン/LaIT ID登録」という画面で「LaIT ID 登録」というものが求められる。
(LaIT ID の登録は無料です。年会費等もございません。)とのことなので、作ることにします。
そこそこの情報を入力することが求められます。
ソフトウェアルータの購入に、住所と電話番号入力が必須なのかなぁ…とちょっと疑心暗鬼。

そして決済はクレジットカードを選択。

そして決済はクレジットカードを選択。
お届け先に決定画面では、お届け希望日の決定という指定。
キーの配送に5日必要なんすよねぇ…。

# クレジットカードなら、キーは電子メールですぐに来るんじゃないの…。まぁ、いいんだけど。

面倒なのがgmailが使えないことだよねぇ。普段見ていないメールボックスを見ておかないとダメってこと。
とりあえず、ここでファンクションキー(SEIL/x86 Fuji 機能キー)の到着待ちでページ記載も待ち状態。
VMwareの仮想はそのまま放置しておけばいいので大丈夫。

2日後にメールが到着しました。

2個の購入でしたので、添付ファイルは2ファイルありました。
今回利用するのは1つだけなので、早番側を利用することにしました。

さて、登録を実施することにします。

# install-key from stdin
please enter key data ("." for end of key data)
FuncKey0...(略)...
...(略)...=
.OK?[y/N]y
Function Key(s):
  Function : 'save-to' command
  Issued   : 2011/04/01 08:00:00
  Memo     : Delivered via LaIT Supply
  Status   : VALID and registered.

# 

のように登録できました。以降確認は、「show key」で確認ができます。

# save-to flashrom
#

保存完了です。
これで再起動ができます。

ここまでのメモは、いつかまた思い出すために必要そうかなと。
さて、自PCとL2TP+IPsecでの接続を試します。ここからは参考リンクにあるページの内容そのままなので細かいメモは省略です。

 設定

接続を試す

 実際に設定をしてみました。
SEIL側は、書かれている内容を参考に設定。クライアント側も同様。
接続してみると、結果エラー。
 早速ログを確認します。

info    ike racoon: sendfromto サーバ側IP[500] -> 接続元IP[500] failed

こっち(自PCがある環境)側のルータがパススルーしていない感じだ。
ルータのマニュアル見て、静的NATでUDP/500をパススルーできるように設定。その後に再度実施。
その部分はクリアできたようです。(…というか、既にページに記載した順番が逆かな、いいか)
しかしまだエラー。SEILから外が見えない感じ?

# ping yahoo.com
yahoo.com: No address associated with hostname
# ping 98.139.183.24
PING 98.139.183.24 (98.139.183.24): 56 data bytes
ping: sendto: No route to host

まず、名前が引けない。resolver address add (プライベート側の)DNSのアドレスを指定。これでルータも名前解決できるようになりました。
次に、通信が外に出て行かない。route add default private側のデフォルトゲートウェイを指定。これでOK。

これで、自宅にあるWindows7のパソコンから職場への接続はできるようになりました。
IIJのSEILのページにある L2TP-IPsecリモートアクセスサーバの設定手順に書かれている内容に加えたのは、

# environment login-timer 1800
# interface lan0 add (プライベート側のSEILのIP)/24
# interface lan1 add (固定IPのグローバルIP)/28
# ntp enable
# ntp server add 210.173.160.87
# resolver enable
# resolver address add (private側のDNSのIP)
# httpd disable
# telnetd disable
# nat napt add private 192.168.128.0-192.168.128.255 interface lan0

という感じ。すっごくあっさりとL2TP+IPsecなVPN接続ができました。
VyattaやVyOSで作るよりもかなりあっさりでした。

httpdをlan1側に見せないようにするには、

# filter add manage_http interface lan1 direction in protocol tcp dstport 80 action block 

とかでいいのかな。大丈夫だったら、httpd enableのままで利用できると思うけど。
アクセスしてきたログ取得したい場合には、 logging on enableをつければいいみたいだ。

グローバルに見せちゃっているので、DNSとかも便利に利用できる状態で放置になっているので、少しだけ対処。

# filter add manage_dns interface lan1 direction in protocol udp dstport 53 action block

という感じ。

まだまだやるべき箇所が沢山ありそうなので、考えないと。
あくまで、暫定な設定なので、動作確認ができるところまでやってみようと思っています。

参考リンクに書いているユーザーズガイドがわかりやすくて便利。SEIL/x86とほぼ同じ使い方で良いと思うので情報不足と思われる方は入手されると幸せになれるかもです。

次回は、2つの拠点間をVPNでトンネルさせて利用する設定を行う予定です。
ただし、物理サーバの搬入ができないと何もできないので、その後の作業になります。

【改訂履歴】作成:2014/11/09 更新:2014/11/14

【参考リンク】

SEILシリーズ技術情報 … ドキュメント系のページ
L2TP-IPsecリモートアクセスサーバの設定手順 … L2TP-IPsecリモートアクセスサーバの設定手順の説明ページ
Windows 7のVPN(L2TP/IPsec)設定手順 … Windows 7での接続手順説明ページ
リモートアクセスVPNの構成例
L2TPv3によるVPN接続の設定手順 … L2TPv3によるVPN接続の設定手順説明ページ
CS-SEILユーザーズガイド
SEIL-X86 カテゴリーの記事一覧 - NETWORK ENGINEER BLOG

Copyright © 1996,1997-2006,2007- by F.Kimura,