こんにちは、#学生LT アドベントカレンダーの18日目を担当する焼きそばメロンパンと申します。
普段はwebの人ですが、最近Ciscoルータの1812Jという物を3台ほど購入しましたので、今回はこのルータを使って Hello, World! をしてみたいと思います。
目次
- Ciscoルータと他のルータの違い
- どうやって買うのか、一緒に買うべき物は?
- セットアップ方法
- Hello, World! を書く
- まとめ
Ciscoルータと他のルータの違い
Ciscoルータは業務用のルータで、内部のOSでは IOS というものが使われています。
この IOS には Cisco 独自のコマンドがあり、こいつを使ってIPアドレスやルーティングの設定を行います。
どうやって買うのか、一緒に買うべき物は?
ヤフオク等でも安く購入出来るそうですが、自分は秋葉原の NW工房 というところで購入しました。
購入したルータは前述した 1812J という物で、router でありながら switch のポートも付いています。
ルータと一緒に購入した物は下記の物です。(ひとまずこれがあれば接続出来る)
- コンソールケーブル
- HL340 (シリアル - USB 変換)
- 電源3ピン - 2ピン 変換プラグ
セットアップ方法
今回は ArchLinux からルータに接続しました。
(MacBook でも試したがデバイスドライバの関係で出来なかった)
- ルータに電源を接続してスイッチを入れる
- consoleと書いてある場所にコンソールケーブルを接続
- PCにUSB変換したコンソールケーブルを接続
- PCで minicom をインストール
- シリアル接続の設定をする (http://itmst.blog71.fc2.com/blog-entry-22.html 参照)
- ルータに接続
ルータに接続されるとおそらく下記の文章が表示されると思うので、今回は no と入力しましょう。
Continue with configuration dialog? [yes/no]:
すると下記のようになり、コマンドを受け付けるようになります。
Router>
Hello, World! を書く
IOS では tcl というスクリプトが書けるので、ここで Hello, World! を書いてみようと思います。
手順は下記の通りです。
- 特権EXECモードになる (enable)
- tchというスクリプトが書けるモードになる (tclsh)
- スクリプトを書いて保存する
- 特権EXECモードになる
- tchshで書いたスクリプトを実行する
実際に入力するコマンドは下記の通りです。
Router>enable
Router#tclsh
Router(tcl)#puts [open "flash:Hello" w+] {
+> puts "Hello, World!"
+>}
Router(tcl)#exit
Router#tclsh Hello
Hello, World!
Router#
上記のように Hello, World! が表示されていることが確認出来ました。
Cisco機器を勉強するには
自分は学校で学んだ知識程度しかありませんが、ネットワークエンジニアとして というサイトが参考になりました。
また、CCENT 等の資格を勉強しながら実機を購入して遊んでみるのも良いかもしれません。
CCENT の勉強には少し見づらいサイトですが Ping-T というサイトも良い感じです。
ネットワークの基礎から学びたい方には マスタリングTCP/IP という書籍がオススメです。
まとめ
tclsh では分岐や繰り返しも書けるそうなので fizzbuzz とかも書けそうです。
しかし、本来は ping を一定周期で送信したりと NW 系の操作の自動化に使われるそうなので、その辺も勉強出来たらと思っています。