1 名前:初心者 [01/09/18 21:50 ID:vcHWxUb2] 家庭内LANのルーターとして使いたい。 web, ftp, mailサーバーをうごかしつつ、IPマスカレードして LANのPCをそとにつなげたい。 コネクションはADSL、IPはグローバルひとつだけ。 具体的なiptablesのコマンドを教えろ。 それと、/etc/sysconfig/iptablesって何なの?これについてもね。 急いでいるのですばやい解答を求む
337 名前:login:Penguin mailto:sage [02/11/08 15:39 ID:DQfNQY3o] >>336 なんか最近は出来るみたいだな。 bridge.sourceforge.net/ に情報があった。
338 名前:login:Penguin mailto:sage [02/11/08 16:00 ID:DQfNQY3o] ebtables ってのを使うとブルータにも出来るみたいね。
339 名前:332 mailto:sage [02/11/08 18:29 ID:2dyMgnfp] 各人、情報ありがとう。 ちょっと調べてみた結果、どうやらカーネルにパッチを当てると可能になるようだ。 336がリンクしてくれたサイトの、 Firewalling for Free というのが詳しげ。 これからちょっと頑張ってみます。
340 名前:332 mailto:sage [02/11/08 21:58 ID:2dyMgnfp] 言うまでもないかもしれないが、 そのままのカーネルでは実際にやってみたら、 ブリッジングしてるパケットは iptables では引っかからなかった。
341 名前:login:Penguin [02/11/10 11:04 ID:FCe696gT] bridge.sourceforge.net から bridge-nf-0.0.7-against-2.4.19.diff をダウンロード。 ringから、カーネルのソース linux-2.4.19.tar.gz をダウンロード。 # cd /usr/src # tar xzvf ~/linux-2.4.19.tar.gz # cd linux-2.4.19 # patch -p1 < ~/brige-nf-0.0.7-against-2.4.19.diff
342 名前:332 mailto:sage [02/11/10 11:05 ID:FCe696gT] # make menuconfig まず、vineのデフォルトの設定を読み込む。 一番下から2番目の、"Load 〜" で、元からあるバージョンの デフォルト設定を読み込む。 /usr/src/linux-2.4.18/arch/i386/defconfig 次に必要なモジュールを組み込む。 Network Option ---> "Network Packet filtering (replaces ipchains)"(CONFIG_NETFILTER) を yes "Network packet filtering debugging" は off にしないと大量のログがでる。 "802.1d Ethernet Bridging" を yes。 すぐその下の "netfilter (firewalling) support" を yes。 この項目は上の2つを組み込むことにしないと現れない。 次に、Netfilter Configuration ---> に入って、 必要なオプションを組み込む。 全部 y or m にしておいていいと思う。
343 名前:332 mailto:sage [02/11/10 11:06 ID:FCe696gT] コンパイルなど。 # make dep # make bzImage # cp arch/i386/boot/bzImage /boot/bzImage.bridge # vi /etc/lilo.conf で /boot/bzImage.bridge を追加。 # lilo で確認して。 リブート。 bridgeカーネルを選択。 ブートしたら、次にモジュールのインストール。 # cd /usr/src/linux-2.4.19 # make modules # make modules_install
344 名前:332 mailto:sage [02/11/10 11:08 ID:FCe696gT] >>341-343 これで、iptablesで透過型ファイアウォールができました。 ブリッジングされるパケットはFORWARDのみに引っかかります。
345 名前:login:Penguin mailto:sage [02/11/10 11:16 ID:FCe696gT] ごめん、わすれてた。 これをやったら黒画面で日本語が化けるようになりました。 どうしたらなおる?
346 名前:login:Penguin [02/11/11 18:07 ID:nGR4bMZA] iptables の入門書みたいの出てないの? とりあえず、cbook24 で iptables で検索したけどダメだったよ。 現在、RedHat 7.3 で実験ちゅ〜 ipルータは、外からのtcp、udpすべてカットする設定で、現在は鯖を公開 してない。中からのパケットは全通し。 ルータに繋がってるeth0と、PC1台だけのeth1で、とりあえずFTPだけとお るようにしてみようとしてるんだけど、なぜか到達できないと言われる。 もしかして、iptables起動してないのかな〜 googleでiptablesで検索>あちこち彷徨った限りでは、動いてそな気がす るんだが‥‥
347 名前:login:Penguin [02/11/11 18:23 ID:pjorG7KZ] >>346 出てる。amazon で Linux と ファイアウォール のキーワードで検索。
348 名前:login:Penguin [02/11/11 20:45 ID:OP0t1/jV] 以下のiptablesの設定をしているのですがFTPが通りません。 Kernelの再構築で[IP:Netfilter Configuration] - [FTP Protocol Support] は有効にしています。どなたかわかる方お教えください。 ------------------------------------------------------------ (一部省略しています) $IPTABLES -P FORWARD DROP # INPUT $IPTABLES -A INPUT -s $LAN -i eth1 -j DROP # from internet $IPTABLES -A INPUT -s $LAN -i ppp0 -j DROP # from internet $IPTABLES -A INPUT -s ! $LAN -i eth0 -j DROP # from lan # FORWARD $IPTABLES -A FORWARD -s $LAN -j ACCEPT $IPTABLES -A FORWARD -d $LAN -p tcp --sport 20 -j ACCEPT # FTP-DATA $IPTABLES -A FORWARD -d $LAN -p tcp --sport 21 -j ACCEPT # FTP # MASQUERADE $IPTABLES -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
349 名前:login:Penguin mailto:sage [02/11/11 20:54 ID:h6qHpKhg] >>348 省略しすぎなのか、それだけじゃ FTP は全然動かないよ。 FTP が 20 番と 21 番ポートをどう使うかも理解出来てないようだな。 それに iptables で FTP を通そうと思ったら connection tracking の機能を使わなきゃ駄目。
350 名前:login:Penguin [02/11/11 22:07 ID:waULcaae] >>346 あまりいい本はないみたい。 2冊ほど買ったけれど間違いだらけで参考にならない。 一冊は捨てました。捨てた本は初めてのファイヤウオールという本です。 もう一冊は今会社にあるのでタイトル覚えていない。 Linuxセキュリティ何とかだったと思う。 これも間違いだらけ。 よい本が出版されないかなといつも思っています。
351 名前:350 [02/11/11 22:24 ID:waULcaae] >>346 上に書いた本のタイトル名分かりました。 「絵で分かるLinuxセキュリティ」という本です。 これも間違いが多いので嫌気が差してます。 アーア誰かiptablesの解説書出してくれないかな。 必ず買います。
352 名前:login:Penguin mailto:sage [02/11/11 22:24 ID:GhtkW3P0] >>345 バニラカーネルでなくVineのカーネルソースからつくるよろし。 Vineのにはuniconパッチがあたってまふ。
353 名前:login:Penguin [02/11/12 00:28 ID:qQ2X9emg] >>350-351 駄目そうなタイトルの本ばかり買っているように思えるが... パケットフィルタをする奴が読むべき本は実は一冊だけだ。 タイトルは「詳解TCP/IP」。あーそこそこ、コケないで(w TCP/IP を知らずしてパケットフィルタを設定するなど笑止! TCP/IP を理解すれば man iptables と若干の設定例で充分。
354 名前:350 [02/11/12 00:48 ID:hQ0qs5QW] >>353 そうですね、TCP/IPの勉強をしてみます。 でもやっぱり、iptablesの解説本は欲しい。
355 名前:糞野郎 mailto:sage [02/11/12 02:29 ID:cWfwaRR3] LinuxWorldの8月号にiptablesの記事があって 結構詳しく書いてありました。 すみません糞レスです。
356 名前:login:Penguin [02/11/12 13:53 ID:xGLG2Wvj] >>353 www.pearsoned.co.jp/washo/inet/wa_int92-j.html か? ¥6,000もするじゃないか! もっと安い本はないのか!? ビンボーSEに愛の手を!!!
357 名前:login:Penguin mailto:sage [02/11/12 16:33 ID:sEp0SfYt] >>356 「資料」ということにして、経費で落とす。
358 名前:login:Penguin mailto:sage [02/11/12 19:30 ID:5AkTvPtc] eth1が外部、etf0がLAN内部で外部からweb、mail、ssh、DNSを許可 ルータとしてLAN内部にマスカレードなんですが、これで大丈夫でしょうか? 改良したらいいとこなどあれば指摘おねがします。 #!/bin/sh # global variance # LOCALNET='192.168.10.0/24' # clear rules /sbin/iptables -F INPUT /sbin/iptables -F FORWARD /sbin/iptables -F OUTPUT # set default policy /sbin/iptables -P INPUT DROP /sbin/iptables -P FORWARD ACCEPT /sbin/iptables -P OUTPUT ACCEPT ## for loopback (ローカルホスト自身の設定) # 自分自身は許可(ACCEPT) /sbin/iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT /sbin/iptables -A OUTPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT # for localnet (ローカルネット) # eth0(内部)からのアクセスはすべて許可(ACCEPT) /sbin/iptables -A INPUT -i eth0 -s $LOCALNET -j ACCEPT /sbin/iptables -A OUTPUT -o eth0 -d $LOCALNET -j ACCEPT
359 名前:続き mailto:sage [02/11/12 19:31 ID:5AkTvPtc] # reply # 接続が確立したパケットの応答は許可(ACCEPT) /sbin/iptables -A INPUT -m state --state ESTABLISH,RELATED -j ACCEPT # dns の問い合わせは許可(ACCEPT) /sbin/iptables -A INPUT -p udp --sport 53 -j ACCEPT /sbin/iptables -A OUTPUT -p udp --dport 53 -j ACCEPT #apache # wwwサーバへの問い合わせ許可 /sbin/iptables -A INPUT -p tcp --dport 80 -j ACCEPT /sbin/iptables -A INPUT -p udp --dport 80 -j ACCEPT #メールサーバ /sbin/iptables -A INPUT -p tcp --dport 25 -j ACCEPT /sbin/iptables -A INPUT -p tcp --dport 110 -j ACCEPT #SSH /sbin/iptables -A INPUT -p tcp --dport 22 -j ACCEPT #win file share /sbin/iptables -A OUTPUT -o eth1 -p tcp --dport 135:139 -j DROP /sbin/iptables -A OUTPUT -o eth1 -p udp --dport 135:139 -j DROP /sbin/iptables -A OUTPUT -o eth1 -p tcp --dport 445 -j DROP /sbin/iptables -A OUTPUT -o eth1 -p udp --dport 445 -j DROP #masquerade # IP マスカレードの定義 /sbin/iptables -t nat -A POSTROUTING -o eth1 -s 192.168.10.0/24 -j MASQUERADE
360 名前:350 mailto:sage [02/11/12 22:59 ID:RduSsZon] >>355 ありがとう。その雑誌持ってます。 他の雑誌にも時々iptablesの記事があるので それらを参考に、フィルタリングしています。 皮肉にもLinuxWorldの8月号には 「絵で分かる・・・」 の紹介記事が載ってます。 もっといい書籍を紹介して欲しいですね。
361 名前:iptablesはじめて [02/11/13 15:26 ID:SOdm50Ic] インターネット上の適当なFTP鯖 ↑ ルータ ↑ eth0 Linux BOX eth1 ↑ HUB ↑ +----------------+ | | Windows の Windows の クライアント1 クライアント2 ってな構成で、クライアント1・2からそれぞれ適当な鯖にFTP接続したい。
362 名前:iptablesはじめて [02/11/13 15:26 ID:SOdm50Ic] それで、いろいろサイトをみて、実験用に #!/bin/sh ##モジュールをロードする /sbin/modprobe iptable_nat /sbin/modprobe ip_nat_ftp /sbin/modprobe ip_conntrack_ftp ##初期化 /sbin/iptables -t filter -F FORWARD /sbin/iptables -t filter -F INPUT /sbin/iptables -t nat -F POSTROUTING ##ポリシー /sbin/iptables -P INPUT DROP /sbin/iptables -P FORWARD DROP /sbin/iptables -P OUTPUT ACCEPT ##ローカルからは通せ /sbin/iptables -A INPUT -i lo -j ACCEPT /sbin/iptables -A INPUT -i eth1 -j ACCEPT ##FW発は通せ /sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT ##IPマスカレード /sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE /sbin/iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT /sbin/iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT
363 名前:iptablesはじめて [02/11/13 15:26 ID:SOdm50Ic] ってなファイルを組んで、実行してみた。 iptables -L をみると組み込まれるようなのだが、クライアントからFTPでき ないし、pingすらとおらねぇ。 しかも、突然めー務サーバが引けなくなって焦った。 漏れはどこをミスしてますか?
364 名前:login:Penguin mailto:sage [02/11/14 13:37 ID:hJK7WNBJ] >>363 これ足してもだめかな /sbin/iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
365 名前:iptablesはじめて [02/11/15 17:48 ID:7+Xxugzu] >>364 だめでつた。 ##FW発は通せ /sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT /sbin/iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT に変更して起動したとたん、sambaが全滅。 Windowsクライアントのnslookupが、LinuxのDNSを捕まえられない様子で、 内部クライアント同士もわからなくなってしまっていました。 #Linux鯖にdhcpさせてるんだから、そりゃそうか。 仕方が無いので再起動しました。 起動した途端、クライアントからDNSが見つからなくなるって事は、iptables そのものは動いてるって事なのかな? その結果、LAN内部からのパケットを全部DROP してしまっている‥‥ でも、iptablesについて記述のあるサイトのほとんどが、「まず全部破棄する ポリシーにしてから、通すルールを決めていく」とあるから、最初にDROP を仕込んでるのは間違いじゃないと思うし‥‥ 本屋にLinux Worl のバックナンバー(8月号)は注文してあるけど、2週間くらい かかりそうだし‥‥ なんか判る方が居たら、教えてくださ〜い。
366 名前:login:Penguin [02/11/15 18:00 ID:KrHxUKTN] ファイアウォール越しにアクセスすると HTTP 403 エラーがでる サイトがあるんですがどうすればいいんでしょう? ファイアウォール機からそのサイトにアクセスするとちゃんと見れるので 設定が悪そうなんですが... 結構 FAQ っぽいんですが検索しても見つかりませんでした。
367 名前:login:Penguin mailto:sage [02/11/16 00:42 ID:HsVr6NVP] >>365 LAN側のソースアドレスが抜けてるからかな? ここ参考になるよ ttp://naoya.dyndns.org/tips/tips18.html >>366 わかりませぬ
368 名前:login:Penguin mailto:sage [02/11/16 06:19 ID:s3bIXOmD] sportとdportの違いがいまいち・・・ どっかわかりやすいサイトあればきぼん。
369 名前:login:Penguin [02/11/16 07:18 ID:e2RXVuI8] >>366 -A FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu を追加して味噌
370 名前:login:Penguin mailto:sage [02/11/16 15:04 ID:lfX1KTEu] >>368 ソースポート(送信元ポート)とディストネーションポート(宛先ポート)の違い…? (よくわかっていませんが…)
371 名前:login:Penguin mailto:sage [02/11/16 17:09 ID:dJo3xOZR] >>370 もっと自信をもて。そのとおりだ。
372 名前:login:Penguin [02/11/16 22:52 ID:Uvq8ir3l] >346 linux World8月号よりはUNIX MAGAZINE10月号のほうが詳しく 書かれていましたよ。 ttp://ascii25.com/25/mag/unixmag/2002/09/18/638654-000.html iptablesの構文がわかればipchinsの本でも代用が効くと思います。 FWの概念は変わらないと思います。 ttp://www.pearsoned.co.jp/washo/operate/wa_ope13-j.html 上の本ipchainsの本ですが役に立ちました。 また、オライリーより12月に下のサイトの本が翻訳されます。 iptablesは詳しく載ってなさそう。 ttp://www.oreilly.com/catalog/fire2/toc.html
373 名前:login:Penguin [02/11/16 23:14 ID:JTUI2d+e] 本じゃないけど、定番の ttp://www.linux.or.jp/JF/JFdocs/packet-filtering-HOWTO.html は短くてわかりやすかったよ。大体判っててとにかく指定の仕方が知りたい とかいう人にはいいと思う。
374 名前:login:Penguin [02/11/17 20:14 ID:kURotrjf] 話題のアレで特定IPのみ弾きたいのです。 IPの範囲指定の仕方で、 218.47.0.0-218.47.255.255 の場合は 218.47.0.0/12 とすればよいのでしょうけれど 210.153.0.0-210.153.79.255 や 219.96.96.0-219.96.125.127 などはどう表記すればよいのでしょうか。 210.153.0.0/255.255.176.0 では駄目なのですよね?
375 名前:login:Penguin [02/11/17 20:44 ID:fpuO0VEN] >>374 「話題のアレ」ってなーに?
376 名前:login:Penguin mailto:sage [02/11/18 01:41 ID:Wv4qDYb+] >>374 80 を HEX や BIN にしたら何になる?96 は?126 は?128 は?
377 名前:374 [02/11/18 04:33 ID:/WnEyB7s] >>335 勘弁してください。 >>376 80のhexは50でbinは10100000ですね。 これがどうつながるかわかりません。 ネットマスク24は255.255.255.0で11111111 11111111 11111111 00000000となったり 23は11111111 11111111 11111110 00000000 となるのはわかるのですが それで表現できないということは、やっぱりひとつずつ指定していくかないのでしょうか。
378 名前:login:Penguin [02/11/18 05:06 ID:UUKFyJtH] 80はbinaryで 01010000となって1がふたつ立ってるから、 210.153.0.0/18 210.153.64.0/20 ってふたつ指定すればよいってことなんじゃない? 面倒だけど、これ以上はどうしようもなさそう。 で「話題のアレ」ってなに?俺も知りたい。 ここからのIPは弾いた方がいいの?
379 名前:login:Penguin mailto:sage [02/11/18 05:11 ID:Wv4qDYb+] >>377 わはは。ごめん。ちょっと混乱させてみたかった。 具体的には、ぷららを弾きたいわけね。whois してみると、どういう申請の 仕方してるかわかるから、参考になるよ。 早い話、>>378 の方法でないとだめなんだ。 ちなみに、話題のアレって何?
380 名前:login:Penguin mailto:sage [02/11/18 05:29 ID:UUKFyJtH] >>379 ああ、ぷららか。やっと分かった。
381 名前:login:Penguin [02/11/18 13:39 ID:/8fBeZl6] ドキュメントによって /etc/init.d/iptables stop # この状態でルールを追加します。 とあるものとないものがあるが、stopしてしまったらどうやって起動する んだろう? やっぱ、マシンを再起動しないとダメ?
382 名前:login:Penguin mailto:sage [02/11/18 13:41 ID:k259CCr6] >>381 start じゃねーの? よく知らんけど。
383 名前:login:Penguin [02/11/18 14:17 ID:Fsz1lfyI] >>381 再起動は必要ないはず。stop する必要はないけど、既存のルールを クリアしないといけない。俺は % iptables -F; iptables -t nat -F; iptables -t mangle -F とやったけど。で、適当にルールを決めて、決まったらsave する、 という感じで設定した。
384 名前:login:Penguin mailto:sage [02/11/18 15:12 ID:yHq95x2c] >>381 > やっぱ、マシンを再起動しないとダメ? んなわきゃない。Windows じゃないんだから(わら 再起動の必要があるのは、カーネルを再構築した時くらいなもんだ。 他はせいぜい、libc に大きな変更があったときは再起動した方が安全 かもしれないって程度。 普通、init.d 以下にあるスクリプトは、start/stop/restart などを持っている。 それに、iptables にルールを追加する場合、別に stop する必要はない。
385 名前:login:Penguin [02/11/18 16:46 ID:/8fBeZl6] >>384 う〜ん、じゃぁなんでstopしてルール追加なんて書いてあるんだろう?? >>367 の教えてくれた、 ttp://naoya.dyndns.org/tips/tips18.html でもstopしてルール追加になってるんだよね。 #!/bin/sh # iptables のパス IPTABLES="/sbin/iptables" # 外向けインターフェース名 GLOBALDEV="eth0" # 内向けインターフェース名 OURDEV="eth1" # LANのアドレス OURNET="192.168.1.0/24" # 初期化 /etc/init.d/iptables stop # ポリシー $IPTABLES -P INPUT DROP $IPTABLES -P FORWARD DROP $IPTABLES -P OUTPUT ACCEPT $IPTABLES -P PREROUTING ACCEPT $IPTABLES -P POSTROUTING ACCEPT # LAN側からの入力、ループバックへの入力を無条件に許可 $IPTABLES -A INPUT -i $OURDEV -s $OURNET -j ACCEPT $IPTABLES -A INPUT -i lo -j ACCEPT # 内部から発生した接続に関連するパケットを許可 $IPTABLES -A INPUT -i $GLOBALDEV -m state --state ESTABLISHED,RELATED -j ACCEPT
386 名前:login:Penguin [02/11/18 16:46 ID:/8fBeZl6] を試してみたけど、eth1側のHUBにつながったWindows機からは、インター ネット側にpingもFTPも通らないね。 ただ、>>363 のようにネームサーバ(だろうな、あれは)を引けなくなったり することは無かった。 あと気になったのは、上のを通すと、2行、エラーが出るんだよね。 $IPTABLES -P PREROUTING ACCEPT $IPTABLES -P POSTROUTING ACCEPT で出ているようで、これをコメントアウトすると、出なくなる。 RedHat 7.3 で、rpmしてみたら、1.2.5-3だったけど、もしかしてなんかまずい のかな?
387 名前:login:Penguin [02/11/18 16:54 ID:Fsz1lfyI] >>385 だから、stop する必要はないが、stop することによって既存のルールを flush しているんでしょ。適切な対処法だと思うけど。stop して何か 不具合でもあったの?
388 名前:login:Penguin [02/11/18 17:34 ID:/8fBeZl6] >>387 >>386 のとおり、インターネットに出て行けないのが不具合です。 でも、それはstopとは関係ないって事ですよね? PREROUTING と POSTROUTING の chainが不正って言われるの も、stopとは関係ない?
389 名前:login:Penguin mailto:sage [02/11/18 18:21 ID:yHq95x2c] >>386 FORWARD を DROP してるYO!
390 名前:login:Penguin mailto:sage [02/11/18 18:44 ID:C7jy6HrM] FORWARDもだけどIPマスカレードはどうなってんのよ
391 名前:login:Penguin mailto:sage [02/11/18 20:00 ID:yHq95x2c] >>388 まー、あれだ。JF の関連文書を一度よく読んで理解する事をお勧めする。
392 名前:login:Penguin [02/11/18 21:52 ID:fWvIXW7B] おいらもいろんなサイト参考にしながら書いてみたよーー。 #以下 # Interface to Internet EXTIF=ppp0 # Interface to Local Aria Network LANIF=eth0 #IP Adress alias ANY=0.0.0.0/0 LOCAL=127.0.0.0/8 LAN=192.168.0.0/24 #Set Path export PATH=/usr/bin:/bin:/sbin:/usr/sbin: ##Delete Old Parameter ## iptables -F iptables -F -t nat iptables -X ## モジュールのロード ## modprobe ip_conntrack_ftp modprobe ip_nat_ftp # INPUT FORWARD チェインのポリシー設定 iptables -P INPUT DROP --modprobe=/sbin/modprobe iptables -P FORWARD DROP ## NAT (IPマスカレードの設定)## iptables -t nat -A POSTROUTING -o $EXTIF -j MASQUERADE --modprobe=/sbin/modprobe # LOG して DROP するチェインを作成 iptables -N log_drop iptables -A log_drop -j LOG --log-level warning -m limit --modprobe=/sbin/modprobe iptables -A log_drop -j DROP
393 名前:login:Penguin mailto:sage [02/11/18 21:53 ID:fWvIXW7B] ## 内部からのもの以外の新しいコネクションをブロックするチェインの作成 iptables -N ppp-in # ssh を ACCEPT iptables -A ppp-in -p tcp --dport ssh -j ACCEPT # www を ACCEPT iptables -A ppp-in -p tcp --dport www -j ACCEPT # dns を ACCEPT iptables -A ppp-in -p tcp --dport 53 -j ACCEPT iptables -A ppp-in -p udp --dport 53 -j ACCEPT # ftp を ACCEPT iptables -A ppp-in -p tcp --dport ftp -j ACCEPT # 内部から発生した接続に関連するパケットを ACCEPT iptables -A ppp-in -m state --state ESTABLISHED,RELATED -j ACCEPT --modprobe=/sbin/modprbe # 上記以外を LOG して DROP iptables -A ppp-in -j log_drop #NAT for Winny iptables -t nat -A PREROUTING -i $EXTIF -p tcp --dport 7743 -j DNAT --to 192.168.0.2 iptables -t nat -A PREROUTING -i $EXTIF -p udp --dport 7743 -j DNAT --to 192.168.0.2 #$EXIIFから来たデータはppp-inチェインへ iptables -A INPUT -i $EXTIF -j ppp-in iptables -A FORWARD -i $EXTIF -j ppp-in ## ユーザ定義チェイン ppp-out を新たに作成する ## iptables -N ppp-out
394 名前:login:Penguin mailto:sage [02/11/18 21:53 ID:fWvIXW7B] ## SMB プロトコルが外に洩れない様にする。## iptables -A ppp-out -p udp --dport 137:139 -j DROP iptables -A ppp-out -p tcp --dport 137:139 -j DROP ## Windows 2000 がローカルに存在すれば以下の設定 ## iptables -A ppp-out -p udp --dport 445 -j DROP iptables -A ppp-out -p tcp --dport 445 -j DROP ## ローカル IP が外に洩れない様にする。## iptables -A ppp-out -d 10.0.0.0/8 -j log_drop iptables -A ppp-out -d 172.16.0.0/12 -j log_drop iptables -A ppp-out -d 192.168.0.0/16 -j log_drop #$EXITIFからでていくデータはppp-outチェインへ iptables -A FORWARD -i $EXTIF -j ppp-out ## LAN 側および loopback からの入力のデフォルト設定 ## iptables -A INPUT -i $LANIF -j ACCEPT iptables -A INPUT -i lo -j ACCEPT ## LAN 側からの転送のデフォルト設定 iptables -A FORWARD -i $LANIF -j ACCEPT # Do masquerading echo 1 > /proc/sys/net/ipv4/ip_forward #以上 穴があったら教えてくれ。うちの環境では一応動いてる。でもiptableの説明書って難しいよ。わけわからんかったさ。
395 名前:login:Penguin [02/11/18 23:54 ID:SwYZyqVl] >392 俺も最近iptables覚えたてで詳しくないけど ># dns を ACCEPT >iptables -A ppp-in -p tcp --dport 53 -j ACCEPT >iptables -A ppp-in -p udp --dport 53 -j ACCEPT DNSサーバ立ててなかったら消した方がいいです。 内部からのDNS問い合わせは ># 内部から発生した接続に関連するパケットを ACCEPT >iptables -A ppp-in -m state --state ESTABLISHED,RELATED -j ACCEPT --modprobe=/sbin/modprbe で許可されます。
396 名前:通りがかり [02/11/19 01:00 ID:ou7lJEtc] RedHat8を試しに入れてNIC2枚でルーターにしようとおもったが・・・・・・・・ pppoeは接続できるがルーティングしてくれない もう少し粘ってみる〜〜〜 皆さんすごいですね
397 名前:ド初心者 [02/11/19 01:24 ID:ADEIXGSF] 下のようなネットワークで、 --------- -----------|LINUX BOX|----------- eth0 --------- eth1 192.168.0.0/24 192.168.1.0/24 eth0->eth1、eth0<-eth1の双方向で全てのパケットを流したいけど、 iptable でうまく渡らないです。TCP、UDP、ICMP全てをアドレス、ポート 変換ナシでやりとりしたいのです。 要するにブリッジ的な事になるんですが、このLinux Box にサーバー機 能を持たせる(FTP、HTTP)ので NIC に IP アドレスを持たせねばなり ません。IP Masquearade だと片方からしかアクセスできないので、他の 方法で通過させたいのですが、iptables での設定、何か良い手段あり ますか? とりあえず、 iptables -P INPUT ACCEPT iptables -P FORWARD ACCEPT iptables -P OUTPUT ACCEPT iptables -A FORWARD -s 192.168.0.0/24 -d 192.168.1.0/24 -j ACCEPT iptables -A FORWARD -s 192.168.1.0/24 -d 192.168.0.0/24 -j ACCEPT iptables -A INPUT -i eth0 -j ACCEPT iptables -A INPUT -i eth1 -j ACCEPT iptables -A OUTPUT -i eth0 -j ACCEPT iptables -A OUTPUT -i eth1 -j ACCEPT とまではやってみたましたが、何の変化も起きません。 /proc/sys/net/ipv4/ip_forward = 1 もやってます。 まだ、記述が足りませんか? よろしくおながいします。
398 名前:ド初心者 [02/11/19 01:25 ID:ADEIXGSF] ずれた。鬱だ氏のう。
399 名前:login:Penguin mailto:sage [02/11/19 02:57 ID:CTQtL0LP] >395 >DNSサーバ立ててなかったら消した方がいいです。 ルーターマシンにDNS建ててます。あまり意味ないですけど、 DNSキャッシュとして利用してます。 セキュリティの点から考えたらやめた方がいいですね。
400 名前:login:Penguin mailto:sage [02/11/19 09:48 ID:arV7cXf0] >>393 Winny って UDP 使うの?いや、使ってないから知らないんだけど。 必要ないなら、切った方がいいんでないかな?
401 名前:login:Penguin mailto:sage [02/11/19 15:18 ID:aAlohah3] プロバイダからSPT67のDPT68なパケットが届くんですが (/etc/servicesによるとbootp) これ何ですか? 通さないと駄目? 特に問題らしい問題起こってないんだけど・・・
402 名前:login:Penguin mailto:sage [02/11/19 15:56 ID:1IE6dYW4] >>401 DHCPだと思う
403 名前:401 mailto:sage [02/11/19 16:37 ID:aAlohah3] >>402 ええっ! 漏れDHCP通してなかったの! ・・・・って思って急いで初期化スクリプトを確認すると通してるのにろぐにはくようになってた。 そういえば 「このへん重要だからとりあえずろぐはくようにしとくか」 とか思ってたのを今思い出し。 いいかげんカオスになってきますた・・・。
404 名前:login:Penguin [02/11/19 22:19 ID:OWzgRHmu] >>397 >iptables -P INPUT ACCEPT >iptables -P FORWARD ACCEPT >iptables -P OUTPUT ACCEPT 上記で全て許可しているので、iptablesが悪いわけではありません。 /sbin/iptables -L でFORWARDがDROPされていないか確認してみてください。 ifconfigでNICが認識しているか,netstat -rでルーティングテーブルが どうなっているのか確認してみたら?
405 名前:374 [02/11/19 23:13 ID:UFMiSon6] >>378 >>379 アドバイスどうもです。 210.153.0.0/18 210.153.64.0/20 とは、210.153.0.0から210.153.64.255までの64x256個を一旦不可とし そこからまた211.153.64.0〜211.153.79.255の16x256個を不可とするということでしょうか。 大変勉強になります。 アレとはwinnyで、はじくのはぷららです。 IPの所有を調べるためのWhoisとはドメインのものとはまた別なのでしょうか。
406 名前:login:Penguin mailto:sage [02/11/19 23:16 ID:aGSHExF7] whoisは若干特殊なアドレス帳みたいなもんや。
407 名前:login:Penguin mailto:sage [02/11/19 23:16 ID:OFo4doK5] >>397 直接関係無い事だろうけどOUTPUTチェインには -i じゃなくて -o かと
408 名前:login:Penguin mailto:sage [02/11/20 03:04 ID:HV5r9xyS] >>397 そのiptablesの設定は最初の3行以外無意味(かつ最初の3行で十分)だと思う。 とりあえずiptablesの設定一度全部フラッシュして最初の3行だけ書いて もう一度試してみたら?(もちろん/proc/sys/net/ipv4/ip_forward = 1もね。) それでダメだったら、ネットワークにつながっている他のマシンの route設定が怪しい。 右側のマシンは /sbin/route add -net 192.168.0.0 netmask 255.255.255.0 gw ${LINUX BOXのeth1に割り振ったIP} 左側のマシンは /sbin/route add -net 192.168.1.0 netmask 255.255.255.0 gw ${LINUX BOXのeth0に割り振ったIP} とかってやってる? このへんがよくわかんなければ (他のマシンの)/sbin/routeの結果をかけば誰か教えてくれると思う。 明示的にMASQUERADE とか SNATとか書かなければ、パケットは そのまま流れた、、、はず、、、漏れの記憶では、、、、。
409 名前:397 [02/11/20 19:40 ID:Im4krWwB] >>404 ,407,408 ありがとさんでし。 漏れの力不足で、結局 iptable じゃなんとも出来ず、数個の Linux Box に gated を入れて ospf で繋いで、お茶を濁しました。 zebraってipv4 でも同じ事出来ましたっけ?(スレ違い) お騒がせしました。
410 名前: [02/11/20 20:09 ID:C/Xvf5My] >>409 なかなかやるな… ほれ Zebra - Free routing software pc.2ch.net/test/read.cgi/network/992166070/
411 名前:login:Penguin mailto:sage [02/11/20 23:13 ID:8v6JeWIz] iptableの設定で、FORWARDのポリシーをDROPするようにするとwebに繋がらなくなります。 いろいろいじってみたのですが、FORWARDをACCEPTするしかありません。 何処が悪いのでしょうか? #消す $IPTABLES -t filter -F $IPTABLES -t nat -F #全部拒否 $IPTABLES -P FORWARD DROP $IPTABLES -P INPUT DROP $IPTABLES -P OUTPUT ACCEPT #外部からの内部アドレス偽装拒否 $IPTABLES -A INPUT -i eth1 -s 192.168.0.0/255.255.255.0 -d 0/0 -j DROP #http-80 OK $IPTABLES -A INPUT -i ppp0 -p tcp --dport 80 -j ACCEPT #local可 $IPTABLES -A INPUT -i lo -j ACCEPT # ループバックアドレスに関してはすべて許可 $IPTABLES -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT $IPTABLES -A OUTPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
412 名前:login:Penguin mailto:sage [02/11/20 23:14 ID:8v6JeWIz] 上の続き #eth0は信用する $IPTABLES -A INPUT -i eth0 -j ACCEPT #ping可 $IPTABLES -A INPUT -p icmp -j ACCEPT #新しいコネクションは不可 $IPTABLES -A INPUT -i ppp0 -m state --state ESTABLISHED,RELATED -j ACCEPT ##### FORWARD を ACCEPTにしないと動かない! #外部からの内部アドレス偽装拒否 $IPTABLES -A FORWARD -i eth1 -s 192.168.0.0/255.255.255.0 -d 0/0 -j DROP #外からのパケットで新規と無効を禁止 $IPTABLES -A FORWARD -i ppp0 -m state --state NEW,INVALID -j DROP #内部からは通す $IPTABLES -A FORWARD -i eth0 -j ACCEPT あと、 $IPTABLES -t nat -A POSTROUTING -o ppp0 -j MASQUERADE をしています。
413 名前:login:Penguin mailto:sage [02/11/20 23:55 ID:kwHosqKI] eth0,eth1,ppp0といろいろあっていまいちわかんないけど iptables -A INPUT -i ethif -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT iptables -A OUTPUT -o extif -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT でどうでしょう。 extifが外部IFね。
414 名前:login:Penguin mailto:sage [02/11/20 23:58 ID:6Z7bLzpv] webを見るとしたら LAN->Linux Box->webserver となるから当然FORWARDの対象になると、 で、FORWARDのデフォルトをDROPとした場合、 1、設定されているルールを参照する。 2、どのルールにも該当しないパケットの場合、 デフォルトのルールが適用される。 という順番なのでACCEPTにしないとwebが見られないってことは FORWARDのルールが足りないのだと思う。 内部からの接続に起因するパケットはFORWARDするって $IPTABLES -A FORWARD -i ppp0 -m state --state ESTABLISHED,RELATED -j ACCEPT を加えてみてはどうだろう?
415 名前:login:Penguin [02/11/21 00:09 ID:wk7SK8Jc] いいかげんiptablesの初期化スクリプトが混沌としてきたので目的別にチェインを作ろうかなと思ってます。 現在 iptables -N spoofing iptables -A INPUT -i $EXTIF -s $CLASS_A -j spoofing iptables -A INPUT -i $EXTIF -s $CLASS_B -j spoofing ...(略) iptables -A INPUT -i $EXTIF -d $LOOPBACK -j spoofing iptables -A spoofing -j LOG --log-prefix ${EXTIF}_SPOOFING iptables -A spoofing -j DROP という感じのルールを iptables -N spoofing iptables -A spoofing -i $EXTIF -s $CLASS_A -j spoofing ....(略) という感じで目的別にルールをチェインに入れて管理を楽にしようと思っています。 #こうしてチェインを作っておけば後で適切な位置に目的のルールを追加できるのが楽できるかなと考えてます そこで例えば INPUT -> Aチェイン -> Bチェイン -> Cチェイン... というふうに次々とそれぞれのチェインを通るようにしたいのですがどうすればいいでしょうか? 知恵を貸してください。 INPUT,OUTPUT,FORWARDのポリシーはDROPです。
416 名前:login:Penguin mailto:sage [02/11/21 00:11 ID:uHfJryss] | ◇a |←グローバルIP ◆b |←ローカルIP ■c a ADSLモデム b LinuxBOX c HUB bのLinuxBOXでルーター兼Webサーバーをやらせたいのだけど NIC2枚でRedHat8を使ったときPingがローカルから外へ飛ばないのは iptablesが関係しているからでしょうか?
417 名前:login:Penguin mailto:sage [02/11/21 00:17 ID:BZB7hnWW] >415 >>392 がppp-inとppp-outとlog_dropと目的別チェーンつくってからみてみれ。
418 名前:411 mailto:sage [02/11/21 00:28 ID:9bvn6ilG] IPTABLES -A FORWARD -i ppp0 -m state --state ESTABLISHED,RELATED -j ACCEPT することで無事LANからwebに繋がりました。 >>413 ,414さんありがとうございます!
419 名前:415 mailto:sage [02/11/21 00:53 ID:wk7SK8Jc] >>417 ありがとうございます。見てみました。 だいたいやりたいこと通りですがこのやり方だと次のチェインを把握した書き方ですよね。 たとえば>>392-394 だと INPUT -> ppp-in -> log_drop という書き方を把握しておかないといけない。 これを例えば「INPUT」「A」「B」「C」というチェインがあるとき 「INPUT」->「A」->a->「B」->b->「C」->c.... という感じにしたいんです。 #a,b,cは単にA,B,Cの後の「場所」を表してます。 つまり、Aチェインの中に次はBに飛ぶという事を書かないで単にa地点に戻るというふうに書きたいんです。 Bチェインに入るのは単にaの次のチェインであるから・・というだけ。 こうできればチェイン(対象)が複数に増えてきたときに自由に順番を並び替えれて便利だと思うんです。 こういう書き方は無理なんでしょうか?
420 名前:417 mailto:sage [02/11/21 01:00 ID:BZB7hnWW] >>415 ごめんなさい、あっしには思いつけません。 iptableをよく理解してる人がいるといいのですが。
421 名前:login:Penguin [02/11/22 19:58 ID:vY2v6aXy] filter、nat、mangle ってどうやって使い分けるんでしょうか? 例えば filter の OUTPUT と nat の OUTPUT はどう違うんでしょうか? さっきから検索してるんですが、「3つのテーブルがある」としか書いてないところが多く、 それがどのように運用されてるのか詳しく書いてあるところが見つからないもんで。。
422 名前:login:Penguin mailto:sage [02/11/22 20:31 ID:XN/39Flj] >>421 man 見れば結構詳しく書いてあると思うんだけど。 用例はないものの、mangle とか nat とかに何が適用されるのかがわかるよ。 TOS には mangle しか使えないとかね。
423 名前:login:Penguin mailto:sage [02/11/22 20:53 ID:vY2v6aXy] >>422 ありがとうございます。 man は見てたんですが、例えば nat の 「このテーブルは新しい接続を開くようなパケットに出会った場合に」 とは、具体的にどのような場合なのか、とか、mangleの 「特別なパケット変換に」 の特別ってなんなの? とか思ってたわけです。 で、どっかに説明がないものかと。 ちなみに基本的なことで申し訳ないんですけど、 ルールを順番に評価していってマッチしたときの動きとして正しいものはどれでしょう? 1. 以降のルールは一切評価せず、その場でパケットの運命が決まる 2. 以降のルールも評価し、最終的なパケットの運命を決める 3. 以降のルールは評価するしないはターゲットによって違う
424 名前:&rle; mailto:hage [02/11/27 17:00 ID:uhLC5X2K] 保守禿
425 名前:login:Penguin [02/11/27 19:11 ID:r+wfbPCu] 表面的な大人しさ(偽善)に騙されるな! A型の特徴 ●とにかく気が小さい(二言目には「世間」) ●ストレスを溜め込んでは、キレて関係ない人間を巻き添えにして暴れまくる ●自尊心が異常に強く、自分が馬鹿にされると怒るくせに平気で他人を馬鹿にしようとする(ただし、相手を表面的・形式的にしか判断できず、実際には内容的・実質的に負けいるとしても・・・) ●他人の忠告を受け入れない、反省できない、学習能力がない(自分の筋を無理にでも通そうとするため) ●「常識、常識」と口うるさいが、実はA型の常識はピントがズレまくっている(日本の常識は世界の非常識) ●権力、強者(警察、暴走族…etc)に弱く、弱者には威張り散らす ●あら探しだけは名人級(例え10の長所があってもほめることをせず、たった1つの短所を見つけてはけなす) ●基本的に悲観主義でマイナス思考に支配されているため、根が暗くうっとうしい ●一人では何もできない、女は連れションが大好き(群れでしか行動できないヘタレ) ●多数派(注・日本では)であることをいいことに、少数派を馬鹿にする、排斥する ●異質、異文化を排斥する ●集団いじめのパイオニア&天才 ●悪口、陰口が大好き ●他人からどう見られているか、体裁をいつも気にしている ●DV夫が多い ●自分の感情をうまく表現できず、コミュニケーション能力に乏しい(知障に限りなく近い) ●頑固で融通(応用)が利かず、表面上意気投合しているようで、腹の中は各自バラバラ ●人を信じられず、疑い深い ●自分は常に自己抑制しているもんだから、自由に見える人間に嫉妬し、徒党を組んで猛烈に足を引っ張ろうとする ●おまけに執念深くしつこい(「一生恨みます」タイプ) ●自分に甘く他人に厳しい(冷酷) ●要するに女々しい、あるいは女の腐ったみたいなやつが多い
426 名前:login:Penguin mailto:sage [02/12/04 14:19 ID:MRWVHR8Z] redhat 8.0に入っているiptablesをつかってnat を構成してます redhat7.2でやってたときは上手くいってたんですが 8.0にするとパケットが上手く流れてくれません 具体的にはメッセンジャーを使ってると、会話が30秒ぶんくらい一気に流れてきます 相手側のサーバ側の問題かと思ったのですが、webを見ていても同じように 一気に流れ込むようなパケットの流れ方をするときがあるんです ------rp-ppoe3.5.1 redhat 8.0 ------hub------win 2k & win XP なにか改善策あったらヨロシクです
427 名前:426 mailto:sage [02/12/04 14:27 ID:BABdOoVG] スマソ、ちょっとぶっきらぼうだった tcpdumpかけて問題を切り分けて考えてみます
428 名前:login:Penguin mailto:sage [02/12/04 18:49 ID:oNKBboPH] MTUかな?
429 名前:login:Penguin mailto:sage [02/12/04 19:01 ID:hyhmTS23] >>428 そうかも。 >>426 iptables -j TCPMSS -A OUTPUT -p tcp --tcp-flags SYN,RST SYN --clamp-mss-to-pmtu とかしたらなおんない?
430 名前:lain [02/12/04 21:23 ID:GnyA18V1] red hat7,3を使ってるんですが、iptablesを使うにはカーネルの再構築が必要って どっかのhpに書いてあったんですけどそうなんですか? ちなみにカーネルが2.4.18−3なんですけどどうなんでしょうか。 あとカーネルを再構築しようと2.4.20のカーネルを落としてきたんですがこのhp 通りにやったんですがbootのさいにfailedが出てstart systemでとまってしまいます。 もし再構築が必要であればredhat8.0なら構築しなくても対応されているんですか? どなたか教えてもらえないでしょうか。
431 名前:login:Penguin [02/12/04 21:44 ID:CSZVCdnW] どっかのhpには嘘が書いてある。
432 名前:login:Penguin mailto:sage [02/12/05 01:14 ID:PwJUrvOu] >>426 漏れのマシンもPingが飛ばないっす tcpdump -i ppp0 でみると一応dではいるが返って来ない罠 家に帰ったらちょっと>>429 さんのとおりに試験してみます〜 とりあえずMTUをどうにかしなきゃ…
433 名前:login:Penguin mailto:sage [02/12/06 19:21 ID:uS6t3n+R] >393 Winnyの設定が間違ってた。すまそ。 IPTABLES -t nat -A PREROUTING -i ppp0 -p tcp --dport 7743 -j DNAT --to-destination 192.168.0.2:7743 IPTABLES -A FORWARD -d 192.168.0.2 -p tcp --dport 7743 -j ACCEPT だった。
434 名前:login:Penguin mailto:sage [02/12/06 20:37 ID:oo8rvqWH] 432 ですが…でけますた iptables -t nat -A POSTROUTING -o pp0 -j MASQUERADE たったこれだけで、ping が飛ばないなんて…鬱 てゆーか勉強します
435 名前:login:Penguin mailto:sage [02/12/07 12:08 ID:NCviYxiS] pp0じゃなくてppp0な
436 名前:login:Penguin mailto:sage [02/12/07 20:27 ID:TZVsgX+w] 設定ファイルってどこに置くのが正解?
437 名前:login:Penguin mailto:sage [02/12/08 01:20 ID:C0e3hfCf] >>436 /root/