6. 質問

6.1. limit 500 reached on entry 2800” のようなメッセージが出た後、私のマシンはそのルール番号に対 応する拒否されたパケットを記録しなくなりました。 ファイアウォールはまだ動作しているのでしょうか?
6.2. 何か間違っているに違いありません。 私はあなたの説明に文字通り従いましたが、 締め出されてしまいました。

6.1.limit 500 reached on entry 2800” のようなメッセージが出た後、私のマシンはそのルール番号に対 応する拒否されたパケットを記録しなくなりました。 ファイアウォールはまだ動作しているのでしょうか?

単にそのルールのログカウントが最大値に達した ということを意味しています。ルール自体はまだ機能していますが、 ログカウンタをリセットするまでそれ以上ログを記録しません。 カウンタのリセット方法の例を以下に示します。

# ipfw resetlog

また、この限界値を上述の IPFIREWALL_VERBOSE_LIMIT オプションで 変更することもできます。 さらに、この限界値は (カーネルを再構築して再起動せずに) sysctl(8) の net.inet.ip.fw.verbose_limit 変数により 変更することもできます。

6.2. 何か間違っているに違いありません。 私はあなたの説明に文字通り従いましたが、 締め出されてしまいました。

このチュートリアルはあなたが userland-ppp を稼働していて、その結果 tun0 [ppp(8) (またの名を user-ppp) で作られる最初の接続に相当します] インタフェース上で供給されたルールセットが動作していることを想定しています。 さらなる接続は tun1tun2 などを用います。

pppd(8)ppp0 インタフェースを代わりに用いるということにも注意するすべきです。 よって pppd(8) による接続を始めるなら ppp0 の代わりに tun0 を用いて下さい。 この変更を反映するファイアウォールのルールを 編集する早道は以下に示されています。 元のルールセットは fwrules_tun0 としてバックアップされています。

       % cd /etc/firewall
        /etc/firewall% su
        Password:
        /etc/firewall# mv fwrules fwrules_tun0
        /etc/firewall# cat fwrules_tun0 | sed s/tun0/ppp0/g > fwrules
     

いったん接続が確立したら、 現在 ppp(8)pppd(8) のどちらを利用しているかを知るために ifconfig(8) の出力で検査することができます。 例として、pppd(8) で作成された接続では、 このようなものが目にするでしょう (関係のあるものだけ示しています)。

       % ifconfig
        (skipped...)
        ppp0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1524
                    inet xxx.xxx.xxx.xxx --> xxx.xxx.xxx.xxx netmask 0xff000000
        (skipped...)
       

他方で、ppp(8) (user-ppp) で作成された接続では、 あなたはこれに似たものを目にするはずです。

       % ifconfig
        (skipped...)
        ppp0: flags=8010<POINTOPOINT,MULTICAST> mtu 1500
        (skipped...)
        tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1524
                (IPv6 stuff skipped...)
                    inet xxx.xxx.xxx.xxx --> xxx.xxx.xxx.xxx netmask 0xffffff00
                    Opened by PID xxxxx
            (skipped...)