From owner-freebsd-users-jp@freebsd.org Fri Jul 1 01:28:20 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 1B58AB88A05 for ; Fri, 1 Jul 2016 01:28:20 +0000 (UTC) (envelope-from hs@on-sky.net) Received: from sv.tsnr.com (sv.tsnr.com [203.181.83.169]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id E53F12012 for ; Fri, 1 Jul 2016 01:28:19 +0000 (UTC) (envelope-from hs@on-sky.net) Received: from macmini.tsnr.com (tipc00.tsnr.com [210.159.194.168]) by sv.tsnr.com (Postfix) with ESMTPSA id 2F13951E52; Fri, 1 Jul 2016 10:21:27 +0900 (JST) To: freebsd-users-jp@freebsd.org References: From: Hideki SAKAMOTO Message-ID: Date: Fri, 1 Jul 2016 10:21:23 +0900 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:45.0) Gecko/20100101 Thunderbird/45.1.1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=iso-2022-jp Content-Transfer-Encoding: 7bit Subject: [FreeBSD-users-jp 95837] Re: =?utf-8?q?ipfw=E3=81=A8DNS?= 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 01:28:20 -0000 坂元です 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 > > -------- > 丸山直昌@統計数理研究所 > _______________________________________________ > 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-unsubscribe@freebsd.org" >