統計数理研究所の丸山です。 皆様のお陰でだんだん賢くなってゆくような気分です。有難うございます。 やってみたところ、 keep-state なしで
ipfw -q add 30000 allow ip from 192.168.255.0:255.255.255.0 to any でうまくゆきました。今のところ、これが一番気に入っています。 ipfw.openports を使う手は知っていましたが、nfs以外のものも将来やりたくなっ た場合も考えると、自分だけがいじれる閉鎖サブネット内は「何でもあり」にし ておいた方が楽だな、と思って採用せずに、そのために今回の事態に遭遇した、 という事情です。 有難うございました。 Fri, 1 Jul 2016 10:21:23 +0900 Hideki SAKAMOTO <h...@on-sky.net> writes: >坂元です > >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 <hir...@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 >>> ---- >>> 平野晃宏@金沢大学 大学院 自然科学研究科 電子情報科学専攻 >>> hir...@t.kanazawa-u.ac.jp >> >> -------- >> 丸山直昌@統計数理研究所 -------- 丸山直昌@統計数理研究所 _______________________________________________ freebsd-users-jp@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-users-jp To unsubscribe, send any mail to "freebsd-users-jp-unsubscr...@freebsd.org"