X

IPFilter関連スレッド vol1

11
垢版 |
NGNG
IPFilterと、PFやIPNAT関連のスレッドです。

関連URLは>>2あたりにあるかもよん
NGNG
config fileの記法が似ているって聞いたけど、本当?
NGNG
似てる。pass in quick on tun0 proto tcp from any to any port ssh
こんなふうに、ipf のルールがそのまま pf でも書けることもある。

でも pf には ipf の head、group は無いし、動作も微妙に違うので上位互換というわけではない。
(groupキーワードはパケットを出したソケットのownerの条件として使われる)
9088
垢版 |
NGNG
>89 サンクスコ
91名無しさん@お腹いっぱい。
垢版 |
NGNG
IPにフィルタをかけるとそれはパケットになってしまうのです。
92名無しさん@お腹いっぱい。
垢版 |
NGNG
>>87
OpenBSD使ってるんだったら、pfで良いじゃん。ipfなんて関係ないだろ。
NGNG
OpenBSD 用の ipf も、ipfilter.org の方で、まだ保守されてるん
じゃなかったっけ? いやまあ、普通に使うんなら pf 使う方が
楽だとは思うけどさ。

あと、pf の NAT って、今では ipf の NAT 機能全て備えているん
だっけ? なんか、できない機能がいろいろあったような覚えが
あるんだけど。
NGNG
>>93
あれはTheo君がipfにぶちきれて作ったもんだからねぇ
多少は機能が落ちるのかも
95名無しさん@お腹いっぱい。
垢版 |
NGNG
>あと、pf の NAT って、今では ipf の NAT 機能全て備えているん
>だっけ? なんか、できない機能がいろいろあったような覚えが
>あるんだけど。

IPv6があるじゃないか。
NGNG
pfはipfより見易くて綺麗と思う。
つかipfてソース見りゃわかるが結構ぐちゃぐちゃな気が。
97名無しさん@お腹いっぱい。
垢版 |
NGNG
>>65遅レスだけど...

詳しくないけどP2PのWinnyでは、正確にポートマッピング
してやらないと正常動作しないのではないかと思う。
だから、ipnatにrdrで転送ポートをローカルのIPアドレス側に
流してやる。
例えば、
rdr xxx.xxx.xxx.xxx/32 port yyyyy -> rdr 192.168.0.1 port zzzzz tcp
とか。

やってみたら?ってもうやってるか...
98名無しさん@お腹いっぱい。
垢版 |
NGNG
>>97
間違え
>rdr xxx.xxx.xxx.xxx/32 port yyyyy -> rdr 192.168.0.1 port zzzzz tcp
rdr xxx.xxx.xxx.xxx/32 port yyyyy -> 192.168.0.1 port zzzzz tcp
NGNG
rdr を書く位置って 特に気にする必要はあるんですか?
map の直後でいいんですよね…
NGNG
>>99
普通はmapの後だと思うけど、見栄えだけの問題かな。
位置はnatの場合特に問題なし。
NGNG
ポート接続を他ホストに丸投げってできませんか?
一つ一つ rdr 書かないと無理?
NGNG
>>101
言っている意味がわからないのだが...
NGNG
>>101
rdr if x.x.x.x/32 port 0-65535 -> y.y.y.y port 0 tcp/udp
みたいなこと?
いや、これで動くかは知らんが…。
104101
垢版 |
NGNG
rdr fx0 0.0.0.0/0 port 1025 -> 192.168.0.2 port 1025 tcp
rdr fx0 0.0.0.0/0 port 1026 -> 192.168.0.2 port 1026 tcp
rdr fx0 0.0.0.0/0 port 1027 -> 192.168.0.2 port 1027 tcp
(中略)
rdr fx0 0.0.0.0/0 port 20000 -> 192.168.0.2 port 20000 tcp

をポート1つに1行ではなく、略して書けないのかということです。
NGNG
俺は詳しくないですが、ipf-howto(ググってみれ)を見たけど、
そういう書き方は載ってませんでした。
丸投げはセキュリティ上よくないような。最小限にした方がいいと
思う。つーか、IPFilter入れている意味なくない?
NGNG
http://www.ietf.org/rfc/rfc3514.txt
にある Security Flag が立っているパケットを落とすにはどうしたらよいですか?
NGNG
>>106
http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/netinet/ip_output.c?rev=1.181&content-type=text/x-cvsweb-markup
NGNG
>>101
オンラインゲームでホストを立てようとした時、どうしてもrdr記述する必要があったので同じように一行一行記述しますた。
ゲームのマニュアルには「2300-2400を空ける」とか書いてあってipnat.confに2300-2400まで、ポートづつ一行一行100行も追加記述....
見栄え悪いし簡略化出来ないっすかねぇ....
オンラインゲームでホスト役する人はipf+ipnat使うなって事かな....
NGNG
そーゆーのは手で直接書くのではなく、
スクリプトで自動生成してやるとよろしいかと。
ipfilter は使ったことないけど、こんな感じでいいのかな?

% cat hoge.m4
divert(-1)
define(`forloop',
`pushdef(`$1', `$2')_forloop(`$1', `$2', `$3', `$4')popdef(`$1')')
define(`_forloop',
`$4`'ifelse($1, `$3', ,
`define(`$1', incr($1))_forloop(`$1', `$2', `$3', `$4')')')
divert`'dnl
forloop(`i', 2300, 2400, `rdr fx0 0.0.0.0/0 port i -> 192.168.0.2 port i tcp
')dnl
% m4 hoge.m4
rdr fx0 0.0.0.0/0 port 2300 -> 192.168.0.2 port 2300 tcp
rdr fx0 0.0.0.0/0 port 2301 -> 192.168.0.2 port 2301 tcp
rdr fx0 0.0.0.0/0 port 2302 -> 192.168.0.2 port 2302 tcp
...

forloop マクロについては GNU m4 の info に載ってるです。
NGNG
そういうのは
rdr fx0 0.0.0.0/0 port 2300-2400 -> 192.168.0.2 port 2300 tcp
ってするんだってさ


NGNG
>>110
おかしくないか?
NGNG
>>110
100個分のポートが全てport:2300に...
113110
垢版 |
NGNG
まぁ、これでも見てや。
FreeBSD 4.7-STABLE #0: Sat Feb 8 08:14:20 JST 2003

/usr/src/sys/contrib/ip_nat.c

int ip_natin(ip, fin)
ip_t *ip;
fr_info_t *fin;
{

...[[snip snip snip]].....

for (np = rdr_rules[hv]; np; np = np->in_rnext) {

...[[snip snip snip]].....

if ((!np->in_pmin || (np->in_flags & IPN_FILTER) ||
((ntohs(np->in_pmax) >= ntohs(dport)) &&
(ntohs(dport) >= ntohs(np->in_pmin)))))
if ((nat = nat_new(fin, ip, np, NULL, nflags,
NAT_INBOUND))) {
np->in_hits++;
break;
}
114110
垢版 |
NGNG
ファイル名typo /usr/src/sys/contrib/ipfilter/netinet/ip_nat.c
115山崎渉
垢版 |
NGNG
(^^)
116あぼーん
垢版 |
NGNG
あぼーん
117名無しさん@お腹いっぱい。
垢版 |
NGNG
age
NGNG
低脳な俺はipfwでいいや。
NGNG
そんなこと言わずにがんばるだよもん
120名無しさん@お腹いっぱい。
垢版 |
NGNG
がむばるなりよ
121名無しさん@お腹いっぱい。
垢版 |
NGNG
お味噌汁のお揚げはお好きですか?
NGNG
block in quick from >>121 to 2ch.net
123名無しさん@お腹いっぱい。
垢版 |
NGNG
>>121
はい、大好きです(ウフッ
NGNG
激しく勘違いしていることはあきらかなんですが、established が S/SA(or S/AS) と表現されるのが
どうもしっくりきません。
Syn->
<-AckSyn
Ack->
なので、established だったら AckSyn か Ack がついてるってことで、
AS/Aと表現する気がしてなりません。
だれか私の誤解を解いてください。
NGNG
>>124
>>80-83
NGNG
>>125
いえ、SynだけかAckSynがついてるのがestablishedだというんなら80-83で納得いくんですが、
Synだけなのはestablished(確立済み)じゃないんじゃないのかな、と。
私は完全に勘違いしてるんでしょうか?
NGNG
flags yyy/xxx で、xxx でマスクしたものを yyy と比べるんだから、
AS/A は絶対にマッチしないのでは。

外からのSynをblockすればいいだけの話なんだから、

 block in quick proto tcp from any to any flags S/SA
 pass in quick proto tcp from any to any



 pass in quick proto tcp from any to any flags A/A
 block in quick proto tcp from any to any

と書けるだけの話。
128126
垢版 |
NGNG
>>127
解説ありがとうございます。やはり大きな勘違いをしていました。
以前検索したとき、ipf.confにかかれている S や A は Syn や Ack を表していて、
「複数書きたいときは / でつなぐ」って書かれてるページを読んで鵜呑みにしてしまっていました。

/ の後ろにかかれているのはマスクだったんですね。
とても分かりやすい説明、本当にありがとうございました。
129あぼーん
垢版 |
NGNG
あぼーん
130名無しさん@お腹いっぱい。
垢版 |
NGNG
>>128
もうちょっと基礎から詳しく説明してくれよ。
131あぼーん
垢版 |
NGNG
あぼーん
NGNG
>>10のリンク先の、「MailとWeb」をよく読んでごらんなさい。
133名無しさん@お腹いっぱい。
垢版 |
NGNG
NATルータを仕上げたつもりなんですが、なんだかうまく動いていません。
webアクセスでしかチェックしていないのですが、
2chやその他一部のページは普通にアクセスできるのに、www.yahoo.co.jpなどにうまくアクセスできないのです。
logを見てみると
sppp0 @100:18 b img.yahoo.co.jp[211.14.14.240],80 -> 192.168.10.29,2315 PR tcp len 20 40 -R IN
と出力されており、ページにある他のサーバの画像などがうまく持ってこれていないようです。
ipf.confには
pass in quick proto tcp from any to any flags A/A group 100
とかいて、確立済みな通信は通しているつもりなのですが、これが効いてくれません。
ルータになっているPCではこの症状が少しマシなので、NAT周りが原因だと思うんですが、
ルータPCではまったく症状が出ないというわけでもないのです。
ipnat.confは
map sppp0 192.168.10.0/24 -> xxx.xxx.xxx.xxx/32 proxy port ftp ftp/tcp
map sppp0 192.168.10.0/24 -> xxx.xxx.xxx.xxx/32 portmap tcp/udp 10000:65000
map sppp0 192.168.10.0/24 -> xxx.xxx.xxx.xxx/32
としています。xxx.xxx.xxx.xxxはルータPCの外側のインタフェースのIPアドレスです。
とても基本的なことかもしれないんですが、教えていただけないでしょうか。
134110
垢版 |
NGNG
>>133
map sppp0 192.168.10.0/24 -> xxx.xxx.xxx.xxx/32 proxy port ftp ftp/tcp mssclamp 1414
map sppp0 192.168.10.0/24 -> xxx.xxx.xxx.xxx/32 portmap tcp/udp 10000:65000 mssclamp 1414
map sppp0 192.168.10.0/24 -> xxx.xxx.xxx.xxx/32 mssclamp 1414

でどうよ?


135133
垢版 |
NGNG
>>134
ありがとうございます、バッチリでした。
ルータPCのMTU-20-20ってことですね。
そんなこと全然思いつかなくて3時間くらい悩み抜いていました。
136名無しさん@お腹いっぱい。
垢版 |
NGNG
ipfw2ってどうよ?
137あぼーん
垢版 |
NGNG
あぼーん
138あぼーん
垢版 |
NGNG
あぼーん
139名無しさん@お腹いっぱい。
垢版 |
NGNG
netfilter で nat の OUTPU と filter の OUTPU の差がよくわからないのですが,
誰か教えてくれませんでしょうか?

google で調べたところ,
nat-OUTPUT ローカル生成のネットワークパケットが 送信される前にそれを変更します
filter-OUTPUT ローカル生成のネットワークパケットに適用します
らしいのですがこの両者の差がよくわからないです.

iptables で状態を見ると nat-OUTPUT の方が通過量が多いため,両者は違うものだと考えられるのですが...
NGNG
>>139
Netfilter(iptables)は板違い。ここは ip_fil3.4.32.tar.gz とかで配布されてる
IP Filterのスレのはず。
Linuxのiptablesは慣れてないので、IP FilterがLinuxにも対応して欲しいとは思うが・・
たしか、kernel 2.0.x までは対応してたが、そのあと放置されたと思う・・
NGNG
iptablesの話題はLinux板の方が回答を貰いやすいと思われ
NGNG
>>140,141
これより前,Linux 板に netfilter に関係するスレが見当たらなかったので,
Linux 板のくだ質スレに同じことを書き込んだのですが誰も答えてくれる人はいなかったんです.
Linux 板をもう少し探索して適当なスレを探してみます.
NGNG
こんな明らかなスレがあるのに目に入らなかったのだろうか…
http://pc.2ch.net/test/read.cgi/linux/1000817457/
NGNG
>>143
ありがとうございます.
スレ一覧で Firebird にて検索(netfilter,iptablesで)したはずなのですが...
何で見つからなかったんだろう...鬱だ...いや注意力不足か...
NGNG
>>144
この板の住人の大半はnetfilterは使ってないだろう、多分。
だから質問してもスレ建てても答えが貰えない可能性が大。
スレタイで検索するなら i-mode 版を w3m と併用するといい。
146あぼーん
垢版 |
NGNG
あぼーん
NGNG
保守
NGNG
(・∀・)ノ
NGNG
ヽ(・∀・)人(・∀・)ノ
150名無しさん@お腹いっぱい。
垢版 |
NGNG
http://jbbs.shitaraba.com/school/14/
NGNG
保守
152名無しさん@お腹いっぱい。
垢版 |
NGNG
おしえてください
ipf で、アドレスのとこに0.0.0.0みたいな表記してるのって
どういう意味なんでしょうか?
0.0.0.0/0 と 0.0.0.0/32 で意味は変わりすか?
あと、単に 0 って書くと何を差すのでしょう??
NGNG
>>152
0.0.0.0/0 は 0.0.0.0の0bit分を比較するので、どんなアドレスにもmatchする。
従って 0.0.0.0/0 も 1.2.3.4/0 も同じ意味。

0.0.0.0/32 は 0.0.0.0の32bit分を比較するので、0.0.0.0にしかmatchしない。

0はアドレスとしては0.0.0.0と同義。これはinet_aton()あたりの仕様だが、
ライブラリによってはparseできない(しない)ものも。SEE ALSO inet_aton(3)

あと、0.0.0.0 は書く場所によっては特殊な意味を持つ場合もある。
ipnat.confではinterfaceについてるアドレスに置換されたり。詳しくは各manを読め。
154152
垢版 |
NGNG
ありがとうございます。
とくに、「...bit分を比較するので」ってとこ、
もやもやがすっきりしました。
NGNG
ipf+ipnatを使ってルータにしてる人に聞きたいんだけど、
ipfのルールってやっぱり全通ししてるの?
NGNG
>>155
いいえ
NGNG
>>156
d
NGNG
保守
NGNG
ng0に動的なグローバルIPアドレスが割り当てられてるんですがipfilterでこのIPアドレスを
指定するにはどのように記述したらいいんでしょうか?
ipnatのmapのように0/32みたいに書けますか?
NGNG
>>159
これじゃだめなの?
block in quick on ng0 proto tcp from any to any port = 123456
みたいな。
NGNG
保守
NGNG
Set 1 now inactive

の1という数字ってどういう意味?
NGNG
>>162
ルールセット1を無効にして、ルールセット0を有効にしたということ。

ipfにはルールセット0とルールセット1の2つがあって、どちらを有効にするかを
一瞬で切り変えられる。
たとえば一度ルールをご破算してaddしなおしたい時なんかに、
inactiveな方にルールを設定し、activeとinactiveをswapすれば、
ファイアウォール的には一瞬たりともフィルタ無しの状態は発生しない。
NGNG
ログファイルを編集してアクセス権を変更せずに上書き保存をしたら、
ろぐを記述しなくなってしまいました… 環境はNetBSD1.6.1と最初から入っているipfです。

rc.confには
ipmon_flags="-D /kubota/kakurei/kanbai/filter.logfile"
のように記述して、ログファイル/kubota/kakurei/kanbai/filter.logfileのアクセス権は777にしてあります。
ipf.confにログが記録されるルールにマッチするような状況にして実験をしても
ログが記録されません。ついさっきまで正常にログに記録されていたのにいきなりのことでさぱーり
原因がわかりません。どうかお助けくださいませ。
NGNG
ipmon をリスタートすれば直る。
ipmon に限らず、UNIX のファイルオープンの仕組みを知ってれば
当然なんだが…
実際には、君がファイルを編集して保存することで削除された、
古いファイルの方にずっとログが記録され続けていた筈。
(UNIX の場合、削除されたファイルも名前が存在しないだけで、
オープンしているプロセスが存在する限り、ファイルの実体が
存在し続ける)
君の使っているエディタの場合、上書き保存というのは、実際には
上書きではなく、新しいファイルを保存して改名という手順で動い
ていたようだね。

そもそも、ログを編集するという発想が何か変だ。ログの意味が
なくなるから、そういうことはやめた方がいい。
NGNG
>>165
サンクスです。リスタートをしたら解決しました。不勉強で申し訳ないです。
ログファイルを数ヶ月ほったらかしにしていたせいでログが巨大化し
ディスクスペースを圧迫していたので一度バックアップをとってから新しく
ログファイルを作ろうとしたら、バックアップさえ取れない程ログファイルが巨大化
していたので、バックアップは諦めてログファイルの中から重要そうなものだけ
抽出して後は削除、という感じで編集したのです。勿論恒常的にやっては
いないので今回だけは自分の怠慢が招いたことで特別でした。
以上助かりました。有難う御座います。
NGNG
ログは普通自動で rotate しとくもんよ。
俺も NetBSD だが、ipf のログは syslog 経由で出して、
newsyslog を使って rotate してる。
こんな感じ。

/etc/rc.conf
ipmon=YES ipmon_flags="-s"

/etc/syslog.conf
local0.info /var/log/ipflog

/etc/newsyslog.conf
/var/log/ipflog 640 7 30 * Z

全てのログを残したいなら、定期的にバックアップ
をとるようにすること。
NGNG
漏れちょっと前にBSD始めたんだけど WEBには初心者に優しいIPFの説明してるページないぽ・・

実働sampleみたいなの置いてくれるとありがたいんだけど・・・

ここに実働sampleあったよ兄者!
NGNG
NATだとmmsを越えられないですか?
すれ違いかも。すまそ
170166
垢版 |
NGNG
>>167
亀レスで申し訳ありません。
こういった指南は私のような人間にとっては大変ありがたいです。
早速試してみます。本当に有難うございました。
NGNG
>>169
mms:もrtsp:も、とくに何も考えずにNAT(ipnat)を通ってアクセスできていますが、何か?
NGNG
NetBSD 1.6.2から2.0にしたらなにやらipfilter周りの挙動が訳わからなく。。
ルールにflags S/SAとか設定してると通らないし,,
reloadするとioctl(add/insert rule): No such processとか怒られるし。
でもちゃんとフィルタはされてたり。

なにか書式とか変わってたりするんでしょうか・・・(つД`)
173名無しさん@お腹いっぱい。
垢版 |
NGNG
>>172
FreeBSDだから関係なさそうだけど5.2→5.3にしてからipfの挙動がわけわからん。
通ったり通らなかったり。
ルールは特に変更してないんだけどねえ。
この際pfにしようかな
1741.6.2
垢版 |
NGNG
pfは簡易版だからちょと抵抗あるな…
ifp側に問題があるのかねぇ。
175名無しさん@お腹いっぱい。
垢版 |
NGNG
pfスレが無いのでここで質問
FreeBSD 6-current(12月始めくらい)でpf利用、接続はmpdでdc0上でPPPoE(ng1)を使用。
マルチキャスト宛てのSRCアドレス==自アドレスとなる不思議なパケットに悩んでる。

tcpdump -nei ng1 dst host 239.255.255.250
20:24:58.016297 AF 2 318: IP xxx.xxx.xxx.xxx.55382 > 239.255.255.250.1900: UDP, length: 290
(20個、同様のログ)
と、ng1に入ってきたように見える。

pfでマルチキャストにマッチするルール作っておいて、tcpdump -ner /var/log/pflogでも
20:54:28.012920 rule 15/0(match): pass in on ng1: IP xxx.xxx.xxx.xxx.52327 > 239.255.255.250.1900: UDP, length: 290
(18個、同様のログ)←2個少ない。

ところが、
tcpdump -ni dc0では
20:24:28.759625 PPPoE [ses 0xc11a] IP zzz.zzz.zzz.zzz.80 > xxx.xxx.xxx.xxx.53185: . ack 1542 win 5840
20:24:28.938608 PPPoE [ses 0xc11a] IP xxx.xxx.xxx.xxx.53185 > zzz.zzz.zzz.zzz.80: . ack 16188 win 55293
20:30:01.219286 PPPoE [ses 0xc11a] LCP, Echo-Request (0x09), id 75, Magic-Num 0x00d1b68f, length 8
20:30:01.223649 PPPoE [ses 0xc11a] LCP, Echo-Reply (0x0a), id 75, Magic-Num 0xf8178dc6, length 8
なので、インターネット側から来たものではない。

続く...
176名無しさん@お腹いっぱい。
垢版 |
NGNG
ルールは
# pfctl -sr
scrub in on ng1 all fragment reassemble
block return in quick on ng1 from <bann_ip> to any
block return in quick on ng1 proto tcp from any to any port = loc-srv
block return in quick on ng1 proto tcp from any to any port = netbios-ns
block return in quick on ng1 proto tcp from any to any port = netbios-ssn
block return in quick on ng1 proto tcp from any to any port = microsoft-ds
block return in quick on ng1 proto udp from any to any port = loc-srv
block return in quick on ng1 proto udp from any to any port = netbios-ns
block return in quick on ng1 proto udp from any to any port = netbios-ssn
block return in quick on ng1 proto udp from any to any port = microsoft-ds
pass in quick on lo0 all
pass in quick on dc1 all
pass in all
pass out all
block return in log on ng1 all
pass in log on ng1 inet proto udp from (ng1) to 224.0.0.0/4
pass in on ng1 proto tcp from <office_ip> to (ng1) port = ssh keep state
pass out on ng1 proto tcp all keep state
pass out on ng1 proto udp all keep state
pass out on ng1 proto icmp all keep state
block return out on ng1 inet proto udp from any to 224.0.0.0/4 port = 1900
pass in on ng1 inet proto tcp from any to (ng1) user = 62 keep state
# pfctl -sn
nat on ng1 inet from 192.168.0.0/24 to any -> (ng1) round-robin
rdr on dc1 inet proto tcp from any to ! 192.168.0.0/24 port = ftp -> 127.0.0.1 port 8021
と、特に怪しくないはずだけど。pfってまだ駄目?
177名無しさん@お腹いっぱい。
垢版 |
NGNG
ちなみに内部ネット(dc1)から、入ってくる239.255.255.250.1900のならば心当たりありまくり。
178名無しさん@お腹いっぱい。
垢版 |
NGNG
pfでestablishedってどうやって設定するのでしょうか?
NGNG
keep state
180名無しさん@お腹いっぱい。
垢版 |
05/01/21 23:15:46
pfのログ(/var/log/pflog)を毎日ローテーションしたいのですが、方法ありますか?
ファイルがtcpdump形式だからなのかログをmvしても新しく作成してくれません。
pf -d;pf -eしてもダメです。
05/01/22 13:18:09
>>180
man pflogd
182名無しさん@お腹いっぱい。
垢版 |
05/03/04 10:41:54
インターネットルーターとして利用してますが。
例えば、インターネット側セッションが2つ以上でも
IPFは使えますか?
05/03/04 11:24:57
>>182
pass in on <インターフェイス名> all head 100
ルールごにょごにょ group 100
見たいな感じでインターフェイスごとに設定すれば無問題。
IN は100 OUTは200 次のIFのINは300 OUTは400みたいに。
184名無しさん@お腹いっぱい。
垢版 |
05/03/04 11:50:20
>>183
ども、できるんですね(当り前みたいでしたね・・・orz

ありがとです。
2005/05/28(土) 11:26:29
例えばhttpを見に行きたい場合、
pass in quick proto tcp all flags A/A group 100
pass out quick proto tcp all flags A/A group 150
pass out quick proto tcp from any to any port = 80 flags S/SA group 100
みたいな感じで許可するのと、
pass out quick proto tcp from any to any port = 80 flags S keep state group 100
みたいな感じではどっちが良いでしょうか。
186名無しさん@お腹いっぱい。
垢版 |
2005/05/28(土) 11:26:58
age
2005/06/16(木) 03:40:49
pfとmpdについて質問です。
pfが先に起動してその後、mpdが起動する場合、
mpdを起動後、再度pfをReloadしていたのですが、
pfのManualを見ると、()でインターフェイス名を囲めばReloadしなくてもいいようなのですが
インターフェイスを()で囲むとSyntax Errorが出てReloadできません。
どのように囲めばよいのでしょうか?

pf.confは、
http://www.openbsd.org/faq/pf/ja/example1.html
の最後に記述しているサンプルとext_if="ng0"の箇所が異なるだけです。
全てのフィルタルールのext_ifに()を付けたり、マクロの部分で()を付けるとエラーになりました。

(ext_if)="ng0"
or
pass in on ($ext_if) inet proto tcp from any to ($ext_if) \
port $tcp_services flags S/SA keep state
↑前の$ext_ifに()を付けるとエラーになります。

OS FreeBSD 5.4R

http://www.openbsd.org/cgi-bin/man.cgi?query=pf.conf&sektion=5&arch=&apropos=0&manpath=OpenBSD+3.4

Host name resolution and interface to address translation are done
at ruleset load-time. When the address of an interface (or host name)
changes (under DHCP or PPP, for instance), the ruleset must
be reloaded for the change to be reflected in the kernel. 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. This is especially useful with nat.
レスを投稿する

5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況