電子書籍の厳選無料作品が豊富!

FreeBSD 5.3Rにてpf+mpdにてルータを構築しています。
しかし、システム起動時にpfが先に起動するため、
interface ng0 doesn't exist
とエラーが出てしまい、pfが有効になりません。
そのため、毎回mpd起動後に
# /etc/rc.d/pf reload
としてpfを再読込みさせています。
どうすれば、pf+mpdでエラーを回避できるのでしょうか?
よろしくお願いします。
なお、mpd.shはportsにてデフォルトでインストールされるスクリプトを用いています。

pf
/etc/rc.d/pf
mpd [/usr/ports/net/mpd/]
/usr/local/etc/rc.d/mpd.sh
/etc/pf.conf
ext_if="ng0"
(↑エラー箇所)

A 回答 (2件)

私は最近試したことはないのですが、補足要求です。



--引用--
To use pf, please follow these steps:

1. Add kernel options into your kernel config file and recompile kernel:

device bpf
options PFIL_HOOKS
options RANDOM_IP_ID

2. Please set the following variables in /etc/rc.conf according to your needs:

pf_enable="Yes"
pf_logd="Yes"
pf_conf="%%PREFIX%%/etc/pf.conf"

3. Check %%PREFIX%%/etc/rc.d/pf.sh, it is the startup script for pf!
--引用--
これはちゃんとされていると思って良いですか?

この回答への補足

> fkimura さん
いつもHPを参考にさせていただいています。
補足が遅くなり、すみません。

設定は、
/etc/rc.confに以下の項目を追加しています。
pf_enable="YES"
pf_rules="/etc/pf.conf"
pflog_enable="YES"
1.についてですが、
5.3Rでは、必要なモジュールが自動でロードされるようなので、起動時にモジュールは追加していません。
http://www.freebsd.org/doc/en_US.ISO8859-1/books …

2.おそらく、上記の書き方で合っていると思います。

3.デフォルトで、/etc/rc.d/pfの起動スクリプトがあるので問題ないと思います。

色々調べたのですが解決方法が見つからず、
取りあえず、下記のスクリプトを実行してしのいでいます。

/usr/local/etc/rc.d/pf_reload.sh
#!/bin/sh
sleep 3
/etc/rc.d/pf reload

補足日時:2005/05/04 23:54
    • good
    • 0

OpenBSD の pf のマニュアルを見ると、インターフェース名を () で括ることで、そのインターフェースが認識されたり、IP が変更された/割り当てられた時点でルールを認識するようになる、と読めるんですけどね。



  Surrounding the interface name in parentheses
  changes this behaviour. When the interface
  name is surrounded by parentheses, the rule
  is automatically updated whenever the
  interface changes its address.
  The ruleset does not need to be reloaded.

検証環境が無いので、嘘だったらごめんなさい。

p.s. FreeBSD 5.4R で使ってますが、synproxy state の動きがおかしかったりするので、OpenBSD じゃないとダメな話があるのかも...

参考URL:http://www.openbsd.org/cgi-bin/man.cgi?query=pf. …
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!