pam_af 導入

投稿日: Leave a comment

外からsshdにたくさんアクセスが来ていて気持が悪いので、pam_afを入れてブロックすることにした。

まず、portsからインストール

# cd /usr/ports/securty/pam_af
# make build
# make install

pam_af.soを使うように/etc/pam.d/sshdに追加

# access control (pam_af)
auth   requisite   /usr/local/lib/pam_af.so

pam_af_toolで15分間で5回認証に失敗したらロックするようにルールを追加 (manそのまま)。ついでに、localhostからはロックしないようにするルールも追加。

# pam_af_tool ruleadd -h '*' -a 5 -t 15M
# pam_af_tool ruleadd -h localhost -a unlimited -t 0

リモートのPCからわざとパスワードを間違えたらちゃんとロックが掛かったので、ちゃんと動いてそう。とりあえず、これでしばらく様子を見てみる。

dhcp6s自動設定

投稿日: 2 Comments

またまたここの続き。dhcp6cで入手したIPv6のDNSサーバをdhcp6sで配るようにここを参考に設定してみた。

/usr/ports/net/mpd-l2tp-ipv6pd-client を入れると、mpd5に加えてdhcp6cの設定スクリプトを設定してくれるのだけど、このスクリプトで呼ばれる設定ファイルのテンプレート dhcp6c.conf.in にdnsサーバを聞きに行く設定と、それで得られたdnsサーバアドレスをresolv.confとdhcp6s.confに書く設定を追加。

ついでに、dhcp6cのstart/stopに同期して、dhcp6sも動くように設定。止める方はdhcp6c_pd.shのstopのスクリプト内に記載。

#!/bin/sh

mv /etc/resolv.conf /etc/resolv.conf.bak
cp /etc/resolv.conf.in /etc/resolv.conf

mv /usr/local/etc/dhcp6s.conf /usr/local/etc/dhcp6s.conf.bak

for nameserver in $new_domain_name_servers; do
      echo nameserver $nameserver >> /etc/resolv.conf
      echo option domain-name-servers $nameserver \; >> /usr/local/etc/dhcp6s.conf
done

/usr/local/etc/rc.d/dhcp6s start

L2TPでIPv6をつなぐ (2)

投稿日: Leave a comment

ここの続き。

rtadvdのpidにSIGUSR1を投げて状態をダンプさせてみると、RAにプレフィックスが入っていないことが判明。rtadvdのマニュアルを見ると

設定ファイル中でインタフェースに対する記述が存在しない、または設定ファイルが存在しない場合には、rtadvd は全てのパラメータに対してデフォルト値を設定します。特に、rtadvd は全てのインタフェースの経路を経路表より取得し、リンク上のプレフィックスとして通知します。

とあるので、経路表(ルーティングテーブル)がおかしいと考えて、アドレスとにらめっこしてみた。

普通IPv6アドレスのプレフィックス長は64ビットのはずだけど、fxp0に割り当てられたアドレスは56になっている。もしかしたら、dhcp6cが付けたアドレスがおかしいのかもと思い、sla-lenを64-56=8に設定し、ついでにsla-idをここにあるように1に変更した。ちなみに、デフォルトではsla-id, sla-lenともに0になっていた。

すると、RAがプレフィックスを流すようになったので、rtadvd.confでMフラグを指定してIPv6アドレスをdhcp6sで配るようにしていたのを、Oフラグに変えてdhcp6sからはDNSサーバ情報だけを流すように変更したら、VistaでIPv6アドレスを自動生成してくれるようになった。もちろん亀も踊っている。

dhcp6sで配るDNSサーバ情報は相変わらず決め打ちにしちゃっているので、何とかdhcp6cで受け取ったアドレスを配るようにしたいところ。dhcp6c.confでscriptを実行できるっぽいので、もう少し調べてみようと思う。

L2TPでIPv6をつなぐ (1)

投稿日: Leave a comment

ネイティブのIPv6作戦、auひかりもマンションタプはまだデュアルスタック対応していないみたいなので、自宅のFreeBSD機 (命名=toby) でトンネルを掘って、WindowsからのIPv6はFreeBSDのトンネルを通るようにしてみた。

まだまだ修正したいところはあるけど、以下の作業でが踊るようになった。

  • /usr/ports/net/mpd-l2tp-ipv6pd-client をインストール
  • dhcp6sを設定

もともとIIJmioのIPv6仮想アクセスの端末型というのをWindows機で使っていたのを、FreeBSD機経由のネットワーク接続型に変更する作業になる。

mpd-l2tp-ipv6pd-clientはもともとOCNのIPv6接続用だけど、同じL2TPを使うIIJmioのでもそのまま動いた。

ただ、そのままだとRAを受け取ったVista機がIPv6のアドレスを自動生成してくれないので、dhcp6sでアドレスとDNSサーバを配るように追加設定。そのとき、rtadvd.confでraflagsにm flagをセットするように設定を追加。

mpd-l2tp-ipv6pd-client で mpd接続からdhcp6cによるアドレス取得までは自動で動くけど、dhcp6sの起動はまだ手動の状態。アドレスプレフィックスも決め打ちしちゃっているので、なにかうまい方法が無いか考え中。

本当はrtadvdだけで済ませたいけど、そういうわけには行かないものだろうか。。。

http://www.freebsd.org/cgi/cvsweb.cgi/ports/net/mpd-l2tp-ipv6pd-client/

カーネルのコンパイル

投稿日: Leave a comment

ファンも交換してFreeBSDを再インストール。

RELENG_8_2に同期させようと思っているけど、いきなりは大変なので、とりあえずインストールしてすぐの状態でカーネルのコンパイルができるか確認。

10年ぶりくらいにやるので断片的にしか覚えておらず、ここを見ながらの試行錯誤。

こういう時、ブラウザで見ながらteratermでログインして作業ができるワイドモニタって便利だなぁと痛感。もちろんデュアルモニタでもいいけど。

South Ryukyu Islands の謎

投稿日: 2 Comments

twitterを眺めていたらこんな記事を見つけた。

2.2.7Rにあって、3.x-stableでなくなっているということは、自分がFreeBSDを使い始めた2.2.8Rにもあったのかなぁ。全然気づかなかった。

ちなみにこのページが動いているサーバもFreeBSD。またFreeBSD使ってみたくなってきた。