PPPoEの設定(固定IP環境) – RTX1200

  • ppインタフェースはipsecの場合はPPPoEの時のみ使用する。
  • VPNPPTPを使用するときはこの限りではない。
pp select 1
pppoe auto connect on
pppoe auto disconnect off
pppoe use lan2
pp auth accept pap chap
pp auth myname ユーザID パスワード
pp always-on on
ppp lcp mru on 1454
ppp ccp type none
ip pp address xxx.xxx.xxx.xxx/32
ppp ipcp msext on
ip pp mtu 1454
ip pp nat descriptor 1
pp enable 1
ip route default gateway pp 1

pp1から抜け出したいとき

pp1# pp select none
#

インターネット接続はすぐに反映されないみたいなので

restart

インターネット接続試験

まずはppインタフェースの接続状況を確認しましょう。

# show status pp 1
PP[01]:
Description:
Current PPPoE session status is Connected.
Access Concentrator: BAS
1 minute 49 seconds  connection.
Received: 14 packets [840 octets]  Load: 0.0%
Transmitted: 13 packets [511 octets]  Load: 0.0%
PPP Cofigure Options
LCP Local: Magic-Number MRU, Remote: CHAP Magic-Number MRU
IPCP Local: Primary-DNS(xxx.xxx.xxx.xxx) Secondary-DNS(xxx.xxx.xxx.xxx), Remo
te: IP-Address
PP IP Address Local: xxx.xxx.xxx.xxx, Remote: xxx.xxx.xxx.xxx
CCP: None

pingを打ってみる。

# ping 8.8.8.8
received from 8.8.8.8: icmp_seq=1 ttl=47 time=56.253ms
received from 8.8.8.8: icmp_seq=2 ttl=47 time=47.024ms
received from 8.8.8.8: icmp_seq=3 ttl=47 time=50.333ms
4 packets transmitted, 3 packets received, 25.0% packet loss
round-trip min/avg/max = 47.024/51.203/56.253 ms
# ping www.google.co.jp
received from nrt04s07-in-f24.1e100.net (173.194.126.216): icmp_seq=0 ttl=53 time=22.926ms
received from nrt04s07-in-f24.1e100.net (173.194.126.216): icmp_seq=1 ttl=53 time=24.834ms
received from nrt04s07-in-f24.1e100.net (173.194.126.216): icmp_seq=2 ttl=53 time=22.070ms
3 packets transmitted, 3 packets received, 0.0% packet loss
round-trip min/avg/max = 22.070/23.276/24.834 ms

当然ですが、この段階ではNATディスクリプタを記述していないのでRTX1200にぶら下がっている機器からはインターネットにpingを打つことはできません。

Mac OS Xでプログラミングしたい

Macで純粋にGUIプログラミングがしたくて調べてる。
WindowsGUIプログラミングしたい時と同じで、そのものズバリのものが少ない。
調べるとiOSとかスマートフォン系の記事がすごく多くヒットするんだけど、
Mac自体でのGUIプログラミングがなかなかみつからない。

何気に調べてたら知り合いが@ITで記事を書かれてた。
出世してるなあ。

Macのzshでawscliの補完を有効化する

最近、ローカルのラップトップマシンは順次、zshに乗り換え始めたんだけど、
Bashと同じノリでawscliの補完を有効化しようとして

complete -C aws_completer aws

としてsourceしたらエラーになってしまった。

/Users/noguchiwataru/.zshrc:13: command not found: complete

zshに関しては aws_zsh_completer.sh というのを読み込むらしいので、
findで探してみたらパスが通っているところにあった

% find / -name aws_zsh_completer.sh 2>/dev/null
/usr/local/bin/aws_zsh_completer.sh

なので

# ~/.zshrc
export AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE
export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
export AWS_DEFAULT_REGION=ap-northeast-1
aws_zsh_completer.sh

.zshrc に書いてsourceすればOKかな?

[noguchiwataru@Macintosh] ~
% source ~/.zshrc
/usr/local/bin/aws_zsh_completer.sh: line 18: autoload: command not found
/usr/local/bin/aws_zsh_completer.sh: line 19: compinit: command not found
/usr/local/bin/aws_zsh_completer.sh: line 20: bashcompinit: command not found

だめだった。。。
よくよく考えたらzshシェルスクリプト内で別シェルとしてさらにスクリプト実行したら意味が無いので、
ここでは aws_zsh_completer.sh をsourceするのが正しいですよね。

# ~/.zshrc
export AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE
export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
export AWS_DEFAULT_REGION=ap-northeast-1
source aws_zsh_completer.sh

今度はエラーでなかったけど、あれ、補完効かないぞ。。。ぼくの幻覚なのかな。。。
でもみんなこの書き方で動いているっぽいし、なんでだろう。

で、よく調べてみたら始めの方に記述していたのがいけなかった。
.zshrc の一番最後の方に書いたらうまく動くようになった。

# ~/.zshrc
# (snip)
export AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE
export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
export AWS_DEFAULT_REGION=ap-northeast-1
source /usr/local/bin/aws_zsh_completer.sh
complete -C aws_completer aws
# [EOF]

参考文献

NTPリフレクション関係リンクまとめ

キーワード

monlist, BCP38(イングレスフィルタリング), BCP84(DNSリフレクション)

わかりやすそうな解説

オフィシャル的な

おべんきょ

Raspberry Pi入門 – 起動まで

Raspberry Piを以前購入して、肥やしになりかけていたので、思い立って起動するところまでやってみました。

必要なもの

  • Raspberry Pi(Model B)
    以下の話は全部Model Bであることを前提としています。
  • ディスプレイ(HDMI, DVIいずれか対応必須)
  • キーボード
  • マウス
  • HDMI-DVI変換ケーブル(HDMIが繋がるテレビがあればHDMIのままでも可)
  • スマートフォンkindle等のスマートデバイス用の電源直結の充電ケーブル(micro USB タイプA)
    これで給電します。
  • ポート数が Model B でも2つしかないので、キーボードとマウスでいっぱいになっちゃいます。
    なのでUSBハブもあると便利です。バスパワーではなく、セルフパワータイプのUSBハブを購入することを強く推奨。
  • LANケーブル(ネットに繋がないとほんとできることが少ないのでつないでおいて損はないです。ちなみにDHCP環境なら自動的にIPアドレスまで設定してネットに勝手につながるようになるのでとても便利です。いたれりつくせりです。)
  • SDカードに書き込む母艦となるPC。ここではMacを使用しています。

操作メモ

では、起動までのメモをば。

パッケージの外観はこんなの。

f:id:wnoguchi0727:20140216153919j:plain

開けたら以下の様な感じになります。ほんとにカードサイズでコンパクトでびっくりしました。

f:id:wnoguchi0727:20140216153947j:plain

SDカードは16GBのものを使います。

f:id:wnoguchi0727:20140216154517j:plain

以下は最低限必要な配線をしたところ。

f:id:wnoguchi0727:20140216165233j:plain

  • 一番上の白いmicro USBケーブルはkindleのACアダプタとつながっています。
    これぐらいの電力の気合がないと立ち上がらないのかな。
    ちなみに、このケーブルを挿した瞬間に起動してしまうので、一番最後に挿し込みます。
  • 左の横っちょについてるのはHDMIケーブルです。
  • 左下の黒いケーブルはわかりにくいですが、LANケーブルです。ブロードバンドルーターを介してネットにつながっています。
  • 下中央のケーブルは右側のセルフパワーUSBハブにつながっていて、キーボードとマウスがつながっています。
  • サウンドは考慮していません。

さて、ここまでで肝心のOSをインストールしていません。ここでは Raspbian のイメージをSDカードに書き込みます。RaspbianはRaspberry Pi用にDebianから派生したものっぽいです。
イメージは以下のサイトからダウンロードします。

まずはSDカードを差し込んで、容量からどのディスクデバイス名として認識されるか確認します。

[noguchiwataru@Macintosh] ~/Documents/repositories/github/doc/raspberry-pi
% diskutil list
/dev/disk0
#:                       TYPE NAME                    SIZE       IDENTIFIER
0:      GUID_partition_scheme                        *500.3 GB   disk0
1:                        EFI EFI                     209.7 MB   disk0s1
2:                  Apple_HFS Macintosh HD            499.4 GB   disk0s2
3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3
/dev/disk1
#:                       TYPE NAME                    SIZE       IDENTIFIER
0:     FDisk_partition_scheme                        *15.8 GB    disk1
1:             Windows_FAT_32 NO NAME                 15.8 GB    disk1s1

16GBなので /dev/disk1 がSDカードに該当します。このへんはddで書き込むディスクをミスると大変なことになるので注意します。
デバイス名がわかったらアンマウントします。Finderから取り外しても大丈夫です。

[noguchiwataru@Macintosh] ~/Documents/repositories/github/doc/raspberry-pi
% diskutil unmountdisk /dev/disk1
Unmount of all volumes on disk1 was successful

そろそろイメージのダウンロードが終わった頃なので、zipを展開して、

[noguchiwataru@Macintosh] ~/Documents/repositories/github/doc/raspberry-pi
% cd ~/Downloads
[noguchiwataru@Macintosh] ~/Downloads
% unzip 2014-01-07-wheezy-raspbian.zip
Archive:  2014-01-07-wheezy-raspbian.zip
inflating: 2014-01-07-wheezy-raspbian.img  

実際にSDカードにイメージを書き込みます。3GB近くあるので辛抱強く待ちます。
コーヒーでも飲んで他のことをして待ちましょう。

[noguchiwataru@Macintosh] ~/Downloads
% sudo dd if=~/Downloads/2014-01-07-wheezy-raspbian.img of=/dev/disk1 bs=4m
Password:
706+1 records in
706+1 records out
2962227200 bytes transferred in 1478.284275 secs (2003828 bytes/sec)

ここまできたらSDカードをRaspberry Piに挿し込みます。

f:id:wnoguchi0727:20140216170439j:plain

いよいよmicro USBケーブルをPOWERに挿して起動します。PoEもいけるのかなと思ったのですが、だめでした。

f:id:wnoguchi0727:20140216170545j:plain

起動時のコンソール。

f:id:wnoguchi0727:20140216170527j:plain

とりあえずそのままFinish。

f:id:wnoguchi0727:20140216170617j:plain

startxでX Window Systemを立ち上げます。

f:id:wnoguchi0727:20140216170932j:plain

意外と軽快に立ち上がりました。

f:id:wnoguchi0727:20140216171024j:plain

Pythonのコンソールで計算させてみたところ。

f:id:wnoguchi0727:20140216171245j:plain

Googlepingを打ってみたところ。見事に外につながります。

f:id:wnoguchi0727:20140216171331j:plain

さいごに

再起動したらログインのプロンプトが立ち上がってパスワードがわからなくて焦りました。
以下の初期アカウントで入れます。

  • ID: pi
  • PASS: raspberry

感想として、ファンレスなのでほんとに静音です。しかもこのコンパクトさに似合わない軽快さも素敵です。いろいろ遊べそうです。

購買意欲のわく各種リンク

Raspberry Pi Type B 512MB

Raspberry Pi Type B 512MB

Raspberry Piユーザーガイド

Raspberry Piユーザーガイド

PLANEX HDMI-DVI変換ケーブル 2.0m PL-HDDV02

PLANEX HDMI-DVI変換ケーブル 2.0m PL-HDDV02

参考文献

GitHubのpull requestワークフローについてメモ

基本的なこと

  • マージ前に必ずリベース
  • ホットフィックス、フィーチャーにマージする意味が無い(git-flow)
  • 基本的に Fast-forward しない

コミットメッセージについて

Gitコミュニティにパッチを送る際に学習したことですが、
1行目に50文字以内でそのコミットの概要を記載する。
空行を開けて3行目以降には詳細を説明する。

Issue #1122 hogehoge.rb: [AAA] aaaaa
XXXにした。
  • なるべく豊富なコミットメッセージを残す。
  • 経緯・歴史がわかるように。

参考文献

RTX1200初期設定 – 管理者パスワードの設定編

出荷時設定に戻す。

cold start

管理者モード移行。

administrator

文字コードをASCIIに。Macとかだと文字化けしてかなわない。

console character ascii

一般ユーザーパスワード設定。

# login password
Old_Password: ←空パスキーイン
New_Password: ←パスワード設定
New_Password: ←パスワード設定(確認) 

管理者ユーザーパスワード設定。

# administrator password
Old_Password: ←空パスキーイン
New_Password: ←パスワード設定
New_Password: ←パスワード設定(確認) 

保存を忘れずに。

# save
Saving ... CONFIG0 Done .

設定は以下の様な感じになる。

# RTX1200 Rev.10.01.53 (Mon Sep  9 15:23:58 2013)
# MAC Address : 00:a0:de:6b:74:13, 00:a0:de:6b:74:14, 00:a0:de:6b:74:15
# Memory 128Mbytes, 3LAN, 1BRI
# main:  RTX1200 ver=c0 serial=D26127845 MAC-Address=00:a0:de:6b:74:13 MAC-Addr
ess=00:a0:de:6b:74:14 MAC-Address=00:a0:de:6b:74:15
# Reporting Date: Feb 15 23:36:27 2014
login password *
administrator password *
console character ascii
ip lan1 address 192.168.100.1/24
dhcp service server
dhcp server rfc2131 compliant except remain-silent
dhcp scope 1 192.168.100.2-192.168.100.191/24

GitHubの公開鍵一覧に学ぶ公開鍵認証方式の哲学

私は基本バカなので、公開鍵認証はどっちも秘密にしなきゃいけないだろって思ってたんですが、GitHubをみてわかったのですが、公開鍵はその名の通り公開しても問題のない鍵のようですね。

ちなみに私のGitHub公開鍵の一覧は以下の様な感じですね。

https://github.com/wnoguchi.keys

問題なのは秘密鍵を持つクライアントがその対応する公開鍵を持つサーバーを信頼するかどうかにあるわけですね。確かに、GitHubのサーバーなら信頼できますけど、どこぞの誰が建てたかわからないサーバーに接続するとか怖くてできないですねえ。

誰を信用するかということが重要なんですね。

我ながらまとまりのない文章だなあ。

参考文献

GitHub に登録した SSH 公開鍵は全世界に公開されている | 774::Blog