[FreeBSD-users-jp 95837] Re: ipfwとDNS
Hideki SAKAMOTO
hs @ on-sky.net
2016年 7月 1日 (金) 01:28:20 UTC
坂元です
NFSサーバを立てる目的であれば、/etc/ipfw.openportsに以下の行を
追加しておいて、/etc/exportsの方でIPを制限するのがよいかと思い
ます。
tcp 111
udp 111
tcp 1110
udp 1110
tcp 2049
udp 2049
tcp 4045
udp 4045
参考:https://forums.freebsd.org/threads/5123/
元の質問のルール番号については、/etc/ipfw.rulesを見ると、
・2000番台以下はクライアントとして良きに計らうための設定
(よほど自信が無い限りは触れないのが吉)
・10000番台に/etc/ipfw.openportsで指定されたポートを(サーバとして)
解放する設定
・20000番台に/etc/ipfw.openipで指定されたIPアドレスに来る通信を
許可する設定
(なので上の代わりに"192.168.255.1"って書いても一応目的は叶い
ますが、やっちゃダメです(^^;;)
という思惑が見てとれますので、/etc/ipfw.customで指定するルールの
番号は30000 - 63999あたりを使うようにすれば、
ipfw -q add 30000 allow ip from 192.168.255.0:255.255.255.0 to any keep-state
の1行だけで済むかと思います。keep-stateはあってもなくてもよいはず
です(返りのパケットを1000番のcheck-stateでパスするかどうかの違い)。
あと蛇足ながら、
> 00020 allow ip from any to any via lo0
は、lo0インターフェイス(127.0.0.1/::1)を経由するすべての通信を許可
するという意味なので、localhost<->localhostの通信のみが対象です。
On 2016/06/30 18:57, 丸山直昌 wrote:
> 平野 様、川崎 様、鯉江 様
>
> 丸山です。有難うございました。お陰様にて少し私の理解が進んだように思いま
> す。
>
> 02000 allow ip from any to any out keep-state
>
> を
>
> 00110 allow ip from 133.58.124.49 to any
>
> で上書きしちゃっているので、133.58.124.49 で DNS response が受け取れなく
> なった、という結論でしょうか。
>
> 自宅の PC では今
>
> ipfw -q add 1200 allow ip from 192.168.255.1 to any keep-state
> ipfw -q add 1200 allow ip from 192.168.255.0:255.255.255.0 to any
>
> として、問題解決しました。
>
> で、何でこんなことしたかというと、NFSサーバーを仕立てて、サブネット内の
> 他のマシンからマウントしたかったのです。ですから to any ではなく、もっと
> ポートを絞れるのですが、面倒だから to any にしてこういうことになってしまっ
> たという次第です。
>
> で、追加でお尋ねしますが、こういう状況で
>
> 設定1
> ipfw -q add 1200 allow ip from 192.168.255.1 to any keep-state
> ipfw -q add 1200 allow ip from 192.168.255.0:255.255.255.0 to any
>
> 設定2
> ipfw -q add 1200 allow ip from 192.168.255.1 to any keep-state
> ipfw -q add 1201 allow ip from 192.168.255.0:255.255.255.0 to any
>
> 設定3
> ipfw -q add 1201 allow ip from 192.168.255.1 to any keep-state
> ipfw -q add 1200 allow ip from 192.168.255.0:255.255.255.0 to any
>
> 設定4
> ipfw -q add 1200 allow ip from 192.168.255.0:255.255.255.0 to any keep-state
>
> のどれが「正解」、あるいはお勧めでしょうか。
>
> localhost = 192.168.255.1 で、 DNSサーバーへの query はこのインターフェー
> スを通ります。
>
> (恥ずかしながら keep-state の意味がわかっていないので、こういう質問をし
> ております。)
>
> Thu, 30 Jun 2016 18:11:19 +0900
> Akihiro HIRANO <hirano at t.kanazawa-u.ac.jp> writes:
>
>> 平野@金沢大です。
>>
>> On 2016/06/30 17:39, 丸山直昌 wrote:
>>> # ipfw list
>>> 00020 allow ip from any to any via lo0
>>> 01000 check-state
>>> 01050 allow tcp from any to any established
>>> 01100 allow udp from any to any established
>>> 02000 allow ip from any to any out keep-state
>>> 02050 allow ip6 from any to any out keep-state
>>> 02100 allow ipv6-icmp from any to any keep-state
>>> 02150 allow icmp from any to any keep-state
>>> 10000 allow udp from any to any dst-port 5353 in keep-state
>>> 10001 allow tcp from any to any dst-port 22 in keep-state
>>> 64000 deny log ip from any to any
>>> 65535 allow ip from any to any
>>>
>>> この状態では dig @133.58.32.12 ism.ac.jp ns は正常に結果を表示。
>>
>> DNSの問い合わせを送信するパケットが
>>
>>> 02000 allow ip from any to any out keep-state
>>
>> に合致して、その後のセッションを許可する動的ルールが生成されて、
>> という流れのようです。
>>
>>> # ipfw list
>>> 00020 allow ip from any to any via lo0
>>> 00110 allow ip from 133.58.124.49 to any
>>> 01000 check-state
>>> 01050 allow tcp from any to any established
>>> 01100 allow udp from any to any established
>>> 02000 allow ip from any to any out keep-state
>>> 02050 allow ip6 from any to any out keep-state
>>> 02100 allow ipv6-icmp from any to any keep-state
>>> 02150 allow icmp from any to any keep-state
>>> 10000 allow udp from any to any dst-port 5353 in keep-state
>>> 10001 allow tcp from any to any dst-port 22 in keep-state
>>> 64000 deny log ip from any to any
>>> 65535 allow ip from any to any
>>>
>>> このとき、
>>>
>>> % dig @133.58.32.12 ism.ac.jp ns
>>
>> この場合は、
>>
>>> 00110 allow ip from 133.58.124.49 to any
>>
>> で送信パケットを許可して、後はなにもしないので、
>> 戻りパケットは
>>
>>> 64000 deny log ip from any to any
>>
>> で拒否される、かと。
>>
>> おそらく、
>>
>> /etc/ipfw.custom
>> ipfw -q add 1200 allow ip from 133.58.124.49 to any keep-state
>>
>> あたりで動くのではないかと思います。
>> 番号はそのまま110でも良いのですが、
>> 許可済みのセッションはcheck-stateやestablishedで早めに合致させたい
>> という趣旨だと思いますので、これらよりは後がいいと思います。
>>
>> 【ご参考】
>> http://www.wakhok.ac.jp/~kanayama/semi/bsd/node141.html
>> ----
>> 平野晃宏@金沢大学 大学院 自然科学研究科 電子情報科学専攻
>> hirano at t.kanazawa-u.ac.jp
>
> --------
> 丸山直昌@統計数理研究所
> _______________________________________________
> freebsd-users-jp at freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-users-jp
> To unsubscribe, send any mail to "freebsd-users-jp-unsubscribe at freebsd.org"
>
freebsd-users-jp メーリングリストの案内