正しそうな初期設定
正しそうな初期設定は別記事 (integrated configuration を使わない場合 / integrated configuration を使う場合) にまとめてみた。経緯
先日参加したIHANet Hackathon@淡路町 & peering day #9で、トンネルを張るところまではできたが、起動した Quagga の zebra に telnet localhost 2601 したところ、以下のようにパスワードが設定されていないというエラーになった。# telnet localhost 2601 Trying ::1... Connected to localhost. Escape character is '^]'. Vty password is not set. Connection closed by foreign host. #/usr/local/etc/quagga/zebra.conf には
password zebra03とパスワードを設定してあったが、これが有効になっていないようだった。
当日は時間切れで諦めてしまったが、後日改めて調査してみた。
調査した環境
FreeBSD 11.2-RELEASE-p10 に pkg install で quagga-1.2.4_4 をインストールした。原因
/usr/local/etc/quagga/zebra.conf の他に /usr/local/etc/quagga/Quagga.conf があり、それが読まれていたため。Quagga は当日初めて触ったために全く知識がなかった。そのため適当にググりながら設定を行ったのだが、zebra.conf の他に integrated configuration 用の Quagga.conf を置いてしまっていたのが敗因だった。
ちゃんとソースを追いかけるのが面倒だったので Quagga.conf がある状態とない状態で
# truss /usr/local/sbin/zebraしてシステムコールを追いかけてみたところ、以下のような結果だった。
Quagga.conf がある場合
stat("/usr/local/etc/quagga/Quagga.conf",{ mode=-rw------- inode=1448588,size=234,blksize=32768 }) = 0 (0x0)Quogga.conf を stat して 0 が返っている。その後は zebra.conf にアクセスしている形跡はなかった。
Quagga.conf がない場合
stat("/usr/local/etc/quagga/Quagga.conf",0x7fffffffe6a0) ERR#2 'No such file or directory' open("/usr/local/etc/quagga/zebra.conf",O_RDONLY,0666) = 6 (0x6)Quagga.conf を stat して No such file or directory が返った後に zebra.conf を open している。
以上の挙動から Quagga.conf があると zebra.conf は読まれないという動作をしているようだ。
あとでマニュアルを見たら、ちゃんと書いてあった……。
0 件のコメント:
コメントを投稿