IPFilter関連スレッド vol1

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

関連URLは>>2あたりにあるかもよん
NGNG
>>51
もしかしてステートフルインスペクション機能を使ってないとか?
pass out quick proto tcp from any to any flags S/SA keep state keep frags
53山崎渉
垢版 |
NGNG
(^^)
NGNG
>>52
そういう手があったか。
60秒ルールというのがちょっと不安な感じもします(変更可能?)が試してみます…

試してみたところ、どうも既存のルールにつけたしでやる分には不都合が
あるみたいで新しくルールを作り直さなくてはいけなさそうです。
NGNG
FreeBSD 4-STABLEで、
ipnatとports/net/linuxigdでUPnPしようとしているのですが、
upnpdが落ちてしまったり、WinXPが落ちてしまったりで、
不要なリダイレクトのルールが残ってしまうことがあります。

お手軽でうまい方法があればいいのですが、
何か対策をされている方はいらっしゃいませんか?
56名無しさん@お腹いっぱい。
垢版 |
NGNG
S/SAってS/ASって書いちゃ駄目なんですか?
57age
垢版 |
NGNG
age
58名無しさん@お腹いっぱい。
垢版 |
NGNG
1 #! /sbin/ipf -Fa -Z -f
1 #pass in quick all
1 #pass out quick all
1 block in log quick from any to any with ipopts
1 block in log quick from any to any with short
1 #
1 # rules on lo0
1 #
1 pass in quick on lo0 all
1 pass out quick on lo0 all
1 #
1 # rules for icmp packets
1 #
1 block in on fxp0 proto icmp all
1 block out on fxp0 proto icmp all
1 pass in on fxp0 proto icmp all
1 pass out on fxp0 proto icmp all
1 #
1 # rules for tcp packets
1 #
1 block in log on fxp0 proto tcp all
1 block out log on fxp0 proto tcp all
1 pass in quick on fxp0 proto tcp all flags A/A
1 #lpr
1 pass in quick on fxp0 proto tcp from any to any port = 515 flags S/SA
59名無しさん@お腹いっぱい。
垢版 |
NGNG
1 #afpd
1 pass in quick on fxp0 proto tcp from any to any port = 548 flags S/SA
1 #windows network
1 pass in quick on fxp0 proto tcp from any to any port 136 >< 140 flags S/SA
1 pass in quick on fxp0 proto tcp from any port 136 >< 140 to any flags S/SA
1 #
1 # rules for udp packets
1 #
1 block in log on fxp0 proto udp all
1 block out log on fxp0 proto udp all
1 #DNS
1 pass in quick on fxp0 proto udp from any port = 53 to any
1 pass out quick on fxp0 proto udp from any to any port = 53
1 #ntp
1 pass in quick on fxp0 proto udp from any port = 123 to any
1 pass out quick on fxp0 proto udp from any to any port = 123
1 #windows network
1 pass in quick on fxp0 proto udp from any to any port 136 >< 140
1 pass in quick on fxp0 proto udp from any port 136 >< 140 to any
1 pass out quick on fxp0 proto udp from any to any port 136 >< 140
1 pass out quick on fxp0 proto udp from any port 136 >< 140 to any
60名無しさん@お腹いっぱい。
垢版 |
NGNG
たたき台
ざっと書いてみた

誰か間違いを修正してくれるとこのスレ的にネタ提供もできるし
漏れのpcも硬くなって一石二丁

とりあえず自分突っ込みで137-139を開いているのは根本的な誤り
NGNG
あぼーん
6260
垢版 |
NGNG
>1 block in on fxp0 proto icmp all
>1 block out on fxp0 proto icmp all
>1 pass in on fxp0 proto icmp all
>1 pass out on fxp0 proto icmp all
>
?

行頭の1は無視
NGNG
あぼーん
NGNG
> block in on fxp0 proto icmp all
> block out on fxp0 proto icmp all
> pass in on fxp0 proto icmp all
> pass out on fxp0 proto icmp all
blockが無意味
NGNG
FreeBSD をルータ(ipnat)にして LAN で Winny やろうとしてるんですが
うまくいきません。ご指南お願いします…

ネット側(fxp0)は PPPoE(フレッツ) 、LAN側(fxp1 192.168.0.1)に
Win マシン(192.168.0.2)をつないでます。

ipf.rules は
pass in quick proto tcp from any to 192.168.0.2 port = 7743
pass in quick proto tcp from any to 192.168.0.2 port = 7744
pass in quick all
pass out quick all

ipnat は
map pppoe0 192.168.0.1/24 -> 0/32 proxy port ftp ftp/tcp
map pppoe0 192.168.0.1/24 -> 0/32 portmap tcp/udp 40000:60000
map pppoe0 192.168.0.1/24 -> 0/32


ですが、これでもポート警告が出ちゃう……(;´Д`)
NGNG
nyユーザはフィルターなんぞするな。インターネット直結フルオープンで逝け。
NGNG
なにを思ったか自家LANのgatewayをSolaris8(x86)にしてみた。
とうぜんNATにしたわけだが、NATができるソフトウェアが"SunScreen"と"ipf"しかない。

一見手軽そうにみえたipfを入れてみたがかなりてこずった。
LAN ->外 にftpがとおらない。

ftp-proxyとかいろいろ試してみたが、
主力であるDebianクライアントからapt-getで外につなぐと
なんとSolarisNAT箱がハングアップする。

ipfのバージョンを安定してそうな古いのに落として、
ipf.confは"なにもしなくていいですよ"というのにした。
その上でwwwとftpのみLAN内の鯖マシンにforwardする、という設定を
ipnat.confに書いてようやく安定した。

外へのftpはpassiveでしかできないけど、
どうしても必要な場合は
sshでルータまでトンネルを掘るということで妥協した。
6867
垢版 |
NGNG
# Solaris(x86)ルータの設定
# ipfstat -i
pass in quick on rf0 from any to any
pass in quick on ni0 from any to any
pass in quick on lo0 from any to any

# ipnat -l
map ni0 192.168.0.0/24 -> 0.0.0.0/32 portmap tcp/udp 40000:60000
map ni0 192.168.0.0/24 -> 0.0.0.0/32
rdr ni0 0.0.0.0/0 port 80 -> 192.168.0.253 port 80 tcp //LAN内web鯖用
rdr ni0 0.0.0.0/0 port 20 -> 192.168.0.253 port 20 tcp //以下LAN内ftp鯖用
rdr ni0 0.0.0.0/0 port 21 -> 192.168.0.253 port 21 tcp
rdr ni0 0.0.0.0/0 port 30011 -> 192.168.0.253 port 30011 tcp
rdr ni0 0.0.0.0/0 port 30012 -> 192.168.0.253 port 30012 tcp
rdr ni0 0.0.0.0/0 port 30013 -> 192.168.0.253 port 30013 tcp //LAN内ftp鯖用passive ports (30011-30080)
...
rdr ni0 0.0.0.0/0 port 30080 -> 192.168.0.253 port 30080 tcp

# ndd /dev/tcp tcp_smallest_anon_port tcp_largest_anon_port
32768
65535



# Debianの設定
$ cat /etc/apt/apt.conf
ftp
{
Passive "true";
};
6967
垢版 |
NGNG
# ipfのバージョン
$ pkginfo -l ipf
PKGINST: ipf
NAME: IP Filter
CATEGORY: system
ARCH: i386(32-bit)
VERSION: 3.3.22
VENDOR: Darren Reed
DESC: This package contains tools for building a firewall
INSTDATE: Jan 29 2003 13:07
EMAIL: darrenr@pobox.com
STATUS: completely installed
FILES: 75 installed pathnames
11 shared pathnames
1 linked files
21 directories
10 executables
1214 blocks used (approx)

外からLAN内ftp鯖にちゃんとつながるのか、ちょっと不安。
どなたかよかったらテストよろしこ
ftp://lev.ii2.cc/
70名無しさん@お腹いっぱい。
垢版 |
NGNG
>>67
初心者なんですけど、教えていただけますか?
Solaris8(x86)でipfilterをコンパイルするとエラーがでます。
3.4.31です。
バージョンはいくつのものを使ってますか?
NGNG
はぁ。
configure出現以前フリーソフトはコンパイルエラーが出て当然だったんだが。
7267
垢版 |
NGNG
>>70
わたしもトーシロですが、
3.4.31/3.3.22共にSFWgcc
# pkginfo -l SFWgcc | grep VERSION
VERSION: 2.95.3,REV=2001.11.28.08.39
を使ってコンパイルしました。
SFWncurのncursesのヘッダがSolaris標準のcursesのヘッダとconflictしているようだったので
コンパイルするときだけ pkgrm SFWncur してみたところうまくいきました。

で、このあいだの続報ですが
NICを蟹+蟹純正ドライバ(rtls)に交換/調整したところ、ルールを設定してもハングアップしなくなりました。

どうやら原因はipfではなく、NIC(+非純正ドライバ)のほうだったようです。
Solarisが死ぬ直前に出していたメッセージ↓
[ID 503123 kern.warning] WARNING: rf0: transmit timeout,cr: d<RE,TE,BUFE>, isr: 0, msr: 8<SPEED_10>
[ID 252603 kern.notice] rf0: tx-list: head:-19 tail:-15
7367
垢版 |
NGNG
現在以下のようなルールで快調に動いています。
pass in quick on lo0 from any to any
pass in quick on rtls0 from any to any
block in log on rtls1 from any to any
block in log quick on rtls1 from 127.0.0.0/8 to any
block in log quick on rtls1 from 192.168.0.0/24 to any
block in log quick on rtls1 from any to any with opt lsrr
block in log quick on rtls1 from any to any with opt ssrr
block in log quick on rtls1 proto tcp from any to any with short
pass in quick on rtls1 proto tcp from any to any port = 20 flags S/SA keep state
pass in quick on rtls1 proto tcp from any to any port = 21 flags S/SA keep state
pass in quick on rtls1 proto tcp from any to any port = 22 flags S/SA keep state
pass in quick on rtls1 proto tcp from any to any port = 25 flags S/SA keep state
pass in quick on rtls1 proto tcp from any to any port = 80 flags S/SA keep state
pass in quick on rtls1 proto tcp from any to any port = 113 flags S/SA keep state
pass in quick on rtls1 proto tcp from any to any port 30010 >< 30081 flags S/SA keep state
pass in quick proto icmp from any to any icmp-type echorep
pass in quick proto icmp from any to any icmp-type unreach
pass in quick proto icmp from any to any icmp-type squench
pass in quick proto icmp from any to any icmp-type echo
pass in quick proto icmp from any to any icmp-type timex

またipnat.confのてっぺんに↓を追加するとLAN内部から普通のモードでftpできるようになりました。
map rtls1 192.168.0.0/24 -> 0/32 proxy port ftp ftp/tcp

コピペばっかでごめんなさいでした。退散。
NGNG
keep state するんなら大抵 port 番号を見てると思うけど、
その場合は keep frags も足した方がいいと思うよ。
NGNG
>>74
ご指導ありがとうございます。

今回ipfの日本語ドキュメントをネットでいろいろ捜したのですが、
tarballにも含まれている"IPF.KANJI"以外には
断片的な設定例が発見できただけでした。

きっちり解説してあるものとなると、やはり
http://coombs.anu.edu.au/~avalon/examples.html
http://www.unixcircle.com/ipf/ipf-howto.html
あたりの英語を読まないといけないようですが、
そもそも"IPパケット"の構造がわかっていないと理解は難しいようで、
私にはよくわかりませんでした。

[flags] は RFC793とかに書いてある"tcpヘッダ"のURG ACK PSH RST SYN FIN などを頭文字で名指しで指定できる(らしい?)
[S] だけ指定すると S/AUPRFS を指定したことになる(らしい?)
[S/SA] とはいわゆる"established"を指す(らしい?)が"UPRFS"は見ない(らしい?)

[keep state] は入ってきたパケットの[最初の部分]が[怪しくない]ものと判定されれば、"state table"に登録して
以降はチェックしない(らしい?)

[keep frags] は断片化したパケットが入って来ると、残りの部分を予測して、その部分は通す(らしい?)

...ようするに"えらく難しい"ということは理解できた気がします。
7667
垢版 |
NGNG
以上を考慮してルールは以下のようになりました。

pass in quick on rtls0 from any to any
pass out quick on rtls0 from any to any
pass out quick on rtls1 proto icmp from any to any keep state
pass out quick on rtls1 proto udp from any to any keep state
pass out quick on rtls1 proto tcp from any to any flags S keep state keep frags
block in log on rtls1 from any to any
block in log quick on rtls1 from 127.0.0.0/8 to any
block in log quick on rtls1 from 192.168.0.0/24 to any
block in log quick on rtls1 from any to any with opt lsrr
block in log quick on rtls1 from any to any with opt ssrr
block in log quick on rtls1 proto tcp from any to any with short
pass in quick on rtls1 proto tcp from any to any port = 20 flags S keep state keep frags
pass in quick on rtls1 proto tcp from any to any port = 21 flags S keep state keep frags
pass in quick on rtls1 proto tcp from any to any port = 22 flags S keep state keep frags
pass in quick on rtls1 proto tcp from any to any port = 25 flags S keep state keep frags
pass in quick on rtls1 proto tcp from any to any port = 80 flags S keep state keep fragsいてます。
pass in quick on rtls1 proto tcp from any to any port = 113 flags S keep state keep frags
pass in quick on rtls1 proto tcp from any to any port 30010 >< 30081 flags S keep state keep frags
pass in quick proto icmp from any to any icmp-type echorep
pass in quick proto icmp from any to any icmp-type unreach
pass in quick proto icmp from any to any icmp-type squench
pass in quick proto icmp from any to any icmp-type echo
pass in quick proto icmp from any to any icmp-type timex
pass in quick on lo0 from any to any
pass out quick on lo0 from any to any

...一見快調に動いてるようですが、
あからさまに蛸な部分がありましたらまたご指導お願いします。ではこのへんで

退散。
NGNG
最後にblockルールでログ取る。
7870
垢版 |
NGNG
>>67
まだエラーが出ます。
・SFWgccのVERSION: 2.95.3,にあげました。(REV=2001.11.28.08.39ではない)
・pkgrm SFWncur をしました。
ソースに手を入れる必要ありますかね?
ちなみにSFWncurのソースだというのはどこを見れば分かるんでしょうか?
NGNG
>>76
head, group 使ってみ

block in log on rtls1 from any to any head 100
block in log quick from 127.0.0.0/8 to any group 100
....
block in log proto tcp from any to any head 110 group 100
pass in quick proto tcp from any to any port = 22 flags S keep state keep frags group 110
....
とかな

>>75 みたいにまとめてるのを見ると、成長がみられて微笑ましくて、(・∀・)イイ!!
NGNG
S/SAってS/ASと書いてはだめなのですか?
Syn->
<-AckSyn
Ack->
というように勉強していたのでSAと書くとどうも違和感が....

実際試して見たところ特に問題は無く動作しているようなのですが、もしかしたら
ルールにマッチしていると思ったつもりで実はマッチしていないのかもしれません。
NGNG
224件
http://www.google.com/search?q=acksyn
4590件
http://www.google.com/search?q=synack
NGNG
>>80
順番は全く問題ない。

=== common.c ===
char flagset[] = "FSRPAUEC";
u_char flags[] = { TH_FIN, TH_SYN, TH_RST, TH_PUSH, TH_ACK, TH_URG,
TH_ECN, TH_CWR };
〜〜
u_char tcp_flags(flgs, mask, linenum)
〜〜
if (!(t = index(flagset, *s))) {
fprintf(stderr, "%d: unknown flag (%c)\n", linenum, *s);
return 0;
}
*fp |= flags[t - flagset];
NGNG
最近の雑誌にはACK+SYNと書いてあった
NGNG
保守
85名無しさん@お腹いっぱい。
垢版 |
NGNG
OpenBSDから見事に外されたIPFカワイソウ
NGNG
>>85
だってipfのライセンスてイヤーンなんだもん
NGNG
OpenBSD の pf って ipf 互換?
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
保守
レスを投稿する

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

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