From owner-freebsd-users-jp@freebsd.org Fri Jul 1 02:05:35 2016 Return-Path: Delivered-To: freebsd-users-jp@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 729EBB88230 for ; Fri, 1 Jul 2016 02:05:35 +0000 (UTC) (envelope-from maruyama@ism.ac.jp) Received: from garbha.ism.ac.jp (garbha.ism.ac.jp [133.58.120.13]) by mx1.freebsd.org (Postfix) with ESMTP id 04ECB2EA0 for ; Fri, 1 Jul 2016 02:05:34 +0000 (UTC) (envelope-from maruyama@ism.ac.jp) Received: from indra.ism.ac.jp (garbha.ism.ac.jp [133.58.120.13]) by garbha.ism.ac.jp (8.15.2/8.15.2) with ESMTPS id u6125Xoj068167 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Fri, 1 Jul 2016 11:05:33 +0900 (JST) (envelope-from maruyama@ism.ac.jp) Received: (from maruyama@localhost) by indra.ism.ac.jp (8.15.2/8.15.2/Submit) id u6125Xqp037981; Fri, 1 Jul 2016 11:05:33 +0900 (JST) (envelope-from maruyama@ism.ac.jp) X-Authentication-Warning: indra.ism.ac.jp: maruyama set sender to maruyama@ism.ac.jp using -f From: maruyama@ism.ac.jp (=?iso-2022-jp?B?GyRCNF07M0Q+PjsbKEI=?=) To: Hideki SAKAMOTO Cc: freebsd-users-jp@freebsd.org In-Reply-To: (message from Hideki SAKAMOTO on Fri, 1 Jul 2016 10:21:23 +0900) Organization: =?iso-2022-jp?B?GyRCRX03Vz90TX04JjVmPWobKEI=?= Reply-To: maruyama@ism.ac.jp Date: Fri, 01 Jul 2016 11:05:32 +0900 Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=iso-2022-jp Subject: [FreeBSD-users-jp 95839] Re: =?iso-2022-jp?b?aXBmdxskQiRIGyhCRE5T?= X-BeenThere: freebsd-users-jp@freebsd.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: Discussion relevant to FreeBSD communities in Japan List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 01 Jul 2016 02:05:35 -0000 統計数理研究所の丸山です。 皆様のお陰でだんだん賢くなってゆくような気分です。有難うございます。 やってみたところ、 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 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 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@t.kanazawa-u.ac.jp >> >> -------- >> 丸山直昌@統計数理研究所 -------- 丸山直昌@統計数理研究所