トップページ⇒linux
1001コメント407KB

おい、iptablesの使い方を具体的に詳しく教えろ!

■ このスレッドは過去ログ倉庫に格納されています
0001初心者01/09/18 21:50ID:vcHWxUb2
家庭内LANのルーターとして使いたい。
web, ftp, mailサーバーをうごかしつつ、IPマスカレードして
LANのPCをそとにつなげたい。
コネクションはADSL、IPはグローバルひとつだけ。

具体的なiptablesのコマンドを教えろ。
それと、/etc/sysconfig/iptablesって何なの?これについてもね。

急いでいるのですばやい解答を求む
0369login:Penguin02/11/16 07:18ID:e2RXVuI8
>>366

-A FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

を追加して味噌
0370login:Penguin02/11/16 15:04ID:lfX1KTEu
>>368
ソースポート(送信元ポート)とディストネーションポート(宛先ポート)の違い…?
(よくわかっていませんが…)
0371login:Penguin02/11/16 17:09ID:dJo3xOZR
>>370
もっと自信をもて。そのとおりだ。
0372login:Penguin02/11/16 22:52ID: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
0373login:Penguin02/11/16 23:14ID:JTUI2d+e
本じゃないけど、定番の
ttp://www.linux.or.jp/JF/JFdocs/packet-filtering-HOWTO.html
は短くてわかりやすかったよ。大体判っててとにかく指定の仕方が知りたい
とかいう人にはいいと思う。
0374login:Penguin02/11/17 20:14ID: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 では駄目なのですよね?
0375login:Penguin02/11/17 20:44ID:fpuO0VEN
>>374 「話題のアレ」ってなーに?
0376login:Penguin02/11/18 01:41ID:Wv4qDYb+
>>374
80 を HEX や BIN にしたら何になる?96 は?126 は?128 は?
037737402/11/18 04:33ID:/WnEyB7s
>>335
勘弁してください。

>>376
80のhexは50でbinは10100000ですね。
これがどうつながるかわかりません。
ネットマスク24は255.255.255.0で11111111 11111111 11111111 00000000となったり
23は11111111 11111111 11111110 00000000 となるのはわかるのですが
それで表現できないということは、やっぱりひとつずつ指定していくかないのでしょうか。
0378login:Penguin02/11/18 05:06ID:UUKFyJtH
80はbinaryで 01010000となって1がふたつ立ってるから、
210.153.0.0/18
210.153.64.0/20
ってふたつ指定すればよいってことなんじゃない?
面倒だけど、これ以上はどうしようもなさそう。
で「話題のアレ」ってなに?俺も知りたい。
ここからのIPは弾いた方がいいの?
0379login:Penguin02/11/18 05:11ID:Wv4qDYb+
>>377
わはは。ごめん。ちょっと混乱させてみたかった。
具体的には、ぷららを弾きたいわけね。whois してみると、どういう申請の
仕方してるかわかるから、参考になるよ。
早い話、>>378 の方法でないとだめなんだ。

ちなみに、話題のアレって何?
0380login:Penguin02/11/18 05:29ID:UUKFyJtH
>>379
ああ、ぷららか。やっと分かった。
0381login:Penguin02/11/18 13:39ID:/8fBeZl6
ドキュメントによって

/etc/init.d/iptables stop
# この状態でルールを追加します。

とあるものとないものがあるが、stopしてしまったらどうやって起動する
んだろう?

やっぱ、マシンを再起動しないとダメ?
0382login:Penguin02/11/18 13:41ID:k259CCr6
>>381
start じゃねーの?
よく知らんけど。
0383login:Penguin02/11/18 14:17ID:Fsz1lfyI
>>381
再起動は必要ないはず。stop する必要はないけど、既存のルールを
クリアしないといけない。俺は
% iptables -F; iptables -t nat -F; iptables -t mangle -F
とやったけど。で、適当にルールを決めて、決まったらsave する、
という感じで設定した。
0384login:Penguin02/11/18 15:12ID:yHq95x2c
>>381
> やっぱ、マシンを再起動しないとダメ?
んなわきゃない。Windows じゃないんだから(わら
再起動の必要があるのは、カーネルを再構築した時くらいなもんだ。
他はせいぜい、libc に大きな変更があったときは再起動した方が安全
かもしれないって程度。

普通、init.d 以下にあるスクリプトは、start/stop/restart などを持っている。
それに、iptables にルールを追加する場合、別に stop する必要はない。
0385login:Penguin02/11/18 16:46ID:/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

0386login:Penguin02/11/18 16:46ID:/8fBeZl6
を試してみたけど、eth1側のHUBにつながったWindows機からは、インター
ネット側にpingもFTPも通らないね。

ただ、>>363のようにネームサーバ(だろうな、あれは)を引けなくなったり
することは無かった。

あと気になったのは、上のを通すと、2行、エラーが出るんだよね。

$IPTABLES -P PREROUTING ACCEPT
$IPTABLES -P POSTROUTING ACCEPT

で出ているようで、これをコメントアウトすると、出なくなる。

RedHat 7.3 で、rpmしてみたら、1.2.5-3だったけど、もしかしてなんかまずい
のかな?
0387login:Penguin02/11/18 16:54ID:Fsz1lfyI
>>385
だから、stop する必要はないが、stop することによって既存のルールを
flush しているんでしょ。適切な対処法だと思うけど。stop して何か
不具合でもあったの?
0388login:Penguin02/11/18 17:34ID:/8fBeZl6
>>387

>>386のとおり、インターネットに出て行けないのが不具合です。
でも、それはstopとは関係ないって事ですよね?

PREROUTING と POSTROUTING の chainが不正って言われるの
も、stopとは関係ない?
0389login:Penguin02/11/18 18:21ID:yHq95x2c
>>386
FORWARD を DROP してるYO!
0390login:Penguin02/11/18 18:44ID:C7jy6HrM
FORWARDもだけどIPマスカレードはどうなってんのよ
0391login:Penguin02/11/18 20:00ID:yHq95x2c
>>388
まー、あれだ。JF の関連文書を一度よく読んで理解する事をお勧めする。
0392login:Penguin02/11/18 21:52ID: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
0393login:Penguin02/11/18 21:53ID: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
0394login:Penguin02/11/18 21:53ID: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の説明書って難しいよ。わけわからんかったさ。
0395login:Penguin02/11/18 23:54ID: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
で許可されます。
0396通りがかり02/11/19 01:00ID:ou7lJEtc
RedHat8を試しに入れてNIC2枚でルーターにしようとおもったが・・・・・・・・
pppoeは接続できるがルーティングしてくれない

もう少し粘ってみる〜〜〜
皆さんすごいですね
0397ド初心者02/11/19 01:24ID: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
もやってます。
まだ、記述が足りませんか?
よろしくおながいします。
0398ド初心者02/11/19 01:25ID:ADEIXGSF
ずれた。鬱だ氏のう。
0399login:Penguin02/11/19 02:57ID:CTQtL0LP
>395
>DNSサーバ立ててなかったら消した方がいいです。
ルーターマシンにDNS建ててます。あまり意味ないですけど、
DNSキャッシュとして利用してます。
セキュリティの点から考えたらやめた方がいいですね。
0400login:Penguin02/11/19 09:48ID:arV7cXf0
>>393
Winny って UDP 使うの?いや、使ってないから知らないんだけど。
必要ないなら、切った方がいいんでないかな?
0401login:Penguin02/11/19 15:18ID:aAlohah3
プロバイダからSPT67のDPT68なパケットが届くんですが
(/etc/servicesによるとbootp)
これ何ですか?
通さないと駄目?

特に問題らしい問題起こってないんだけど・・・
0402login:Penguin02/11/19 15:56ID:1IE6dYW4
>>401
DHCPだと思う
040340102/11/19 16:37ID:aAlohah3
>>402
ええっ!
漏れDHCP通してなかったの!
・・・・って思って急いで初期化スクリプトを確認すると通してるのにろぐにはくようになってた。
そういえば
「このへん重要だからとりあえずろぐはくようにしとくか」
とか思ってたのを今思い出し。

いいかげんカオスになってきますた・・・。
0404login:Penguin02/11/19 22:19ID:OWzgRHmu
>>397
>iptables -P INPUT ACCEPT
>iptables -P FORWARD ACCEPT
>iptables -P OUTPUT ACCEPT
上記で全て許可しているので、iptablesが悪いわけではありません。
/sbin/iptables -L でFORWARDがDROPされていないか確認してみてください。

ifconfigでNICが認識しているか,netstat -rでルーティングテーブルが
どうなっているのか確認してみたら?
040537402/11/19 23:13ID: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とはドメインのものとはまた別なのでしょうか。
0406login:Penguin02/11/19 23:16ID:aGSHExF7
whoisは若干特殊なアドレス帳みたいなもんや。
0407login:Penguin02/11/19 23:16ID:OFo4doK5
>>397
直接関係無い事だろうけどOUTPUTチェインには -i じゃなくて -o かと
0408login:Penguin02/11/20 03:04ID: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とか書かなければ、パケットは
そのまま流れた、、、はず、、、漏れの記憶では、、、、。
040939702/11/20 19:40ID:Im4krWwB
>>404,407,408
ありがとさんでし。

漏れの力不足で、結局 iptable じゃなんとも出来ず、数個の Linux Box
に gated を入れて ospf で繋いで、お茶を濁しました。
zebraってipv4 でも同じ事出来ましたっけ?(スレ違い)

お騒がせしました。
0410   02/11/20 20:09ID:C/Xvf5My
>>409

なかなかやるな…
ほれ

Zebra - Free routing software
http://pc.2ch.net/test/read.cgi/network/992166070/
0411login:Penguin02/11/20 23:13ID: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
0412login:Penguin02/11/20 23:14ID: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
をしています。
0413login:Penguin02/11/20 23:55ID: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ね。
0414login:Penguin02/11/20 23:58ID: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
を加えてみてはどうだろう?

0415login:Penguin02/11/21 00:09ID: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です。
0416login:Penguin02/11/21 00:11ID:uHfJryss
 |
 ◇a
 |←グローバルIP
 ◆b
 |←ローカルIP
 ■c

a ADSLモデム
b LinuxBOX
c HUB

bのLinuxBOXでルーター兼Webサーバーをやらせたいのだけど
NIC2枚でRedHat8を使ったときPingがローカルから外へ飛ばないのは
iptablesが関係しているからでしょうか?
0417login:Penguin02/11/21 00:17ID:BZB7hnWW
>415
>>392がppp-inとppp-outとlog_dropと目的別チェーンつくってからみてみれ。
041841102/11/21 00:28ID:9bvn6ilG
IPTABLES -A FORWARD -i ppp0 -m state --state ESTABLISHED,RELATED -j ACCEPT
することで無事LANからwebに繋がりました。
>>413,414さんありがとうございます!
041941502/11/21 00:53ID: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の次のチェインであるから・・というだけ。
こうできればチェイン(対象)が複数に増えてきたときに自由に順番を並び替えれて便利だと思うんです。

こういう書き方は無理なんでしょうか?
042041702/11/21 01:00ID:BZB7hnWW
>>415
ごめんなさい、あっしには思いつけません。
iptableをよく理解してる人がいるといいのですが。
0421login:Penguin02/11/22 19:58ID:vY2v6aXy
filter、nat、mangle ってどうやって使い分けるんでしょうか?

例えば
 filter の OUTPUT
と
 nat の OUTPUT
はどう違うんでしょうか?

さっきから検索してるんですが、「3つのテーブルがある」としか書いてないところが多く、
それがどのように運用されてるのか詳しく書いてあるところが見つからないもんで。。
0422login:Penguin02/11/22 20:31ID:XN/39Flj
>>421
man 見れば結構詳しく書いてあると思うんだけど。
用例はないものの、mangle とか nat とかに何が適用されるのかがわかるよ。
TOS には mangle しか使えないとかね。
0423login:Penguin02/11/22 20:53ID:vY2v6aXy
>>422
ありがとうございます。
man は見てたんですが、例えば nat の
「このテーブルは新しい接続を開くようなパケットに出会った場合に」
とは、具体的にどのような場合なのか、とか、mangleの
「特別なパケット変換に」
の特別ってなんなの? とか思ってたわけです。

で、どっかに説明がないものかと。

ちなみに基本的なことで申し訳ないんですけど、
ルールを順番に評価していってマッチしたときの動きとして正しいものはどれでしょう?
1. 以降のルールは一切評価せず、その場でパケットの運命が決まる
2. 以降のルールも評価し、最終的なパケットの運命を決める
3. 以降のルールは評価するしないはターゲットによって違う

0424&rle;02/11/27 17:00ID:uhLC5X2K
保守禿
0425login:Penguin02/11/27 19:11ID:r+wfbPCu
表面的な大人しさ(偽善)に騙されるな!
A型の特徴

●とにかく気が小さい(二言目には「世間」)
●ストレスを溜め込んでは、キレて関係ない人間を巻き添えにして暴れまくる
●自尊心が異常に強く、自分が馬鹿にされると怒るくせに平気で他人を馬鹿にしようとする(ただし、相手を表面的・形式的にしか判断できず、実際には内容的・実質的に負けいるとしても・・・)
●他人の忠告を受け入れない、反省できない、学習能力がない(自分の筋を無理にでも通そうとするため)
●「常識、常識」と口うるさいが、実はA型の常識はピントがズレまくっている(日本の常識は世界の非常識)
●権力、強者(警察、暴走族…etc)に弱く、弱者には威張り散らす
●あら探しだけは名人級(例え10の長所があってもほめることをせず、たった1つの短所を見つけてはけなす)
●基本的に悲観主義でマイナス思考に支配されているため、根が暗くうっとうしい
●一人では何もできない、女は連れションが大好き(群れでしか行動できないヘタレ)
●多数派(注・日本では)であることをいいことに、少数派を馬鹿にする、排斥する
●異質、異文化を排斥する
●集団いじめのパイオニア&天才
●悪口、陰口が大好き
●他人からどう見られているか、体裁をいつも気にしている
●DV夫が多い
●自分の感情をうまく表現できず、コミュニケーション能力に乏しい(知障に限りなく近い)
●頑固で融通(応用)が利かず、表面上意気投合しているようで、腹の中は各自バラバラ
●人を信じられず、疑い深い
●自分は常に自己抑制しているもんだから、自由に見える人間に嫉妬し、徒党を組んで猛烈に足を引っ張ろうとする
●おまけに執念深くしつこい(「一生恨みます」タイプ)
●自分に甘く他人に厳しい(冷酷)
●要するに女々しい、あるいは女の腐ったみたいなやつが多い
0426login:Penguin02/12/04 14:19ID:MRWVHR8Z
redhat 8.0に入っているiptablesをつかってnat を構成してます
redhat7.2でやってたときは上手くいってたんですが
8.0にするとパケットが上手く流れてくれません
具体的にはメッセンジャーを使ってると、会話が30秒ぶんくらい一気に流れてきます
相手側のサーバ側の問題かと思ったのですが、webを見ていても同じように
一気に流れ込むようなパケットの流れ方をするときがあるんです

------rp-ppoe3.5.1 redhat 8.0 ------hub------win 2k & win XP

なにか改善策あったらヨロシクです
042742602/12/04 14:27ID:BABdOoVG
スマソ、ちょっとぶっきらぼうだった
tcpdumpかけて問題を切り分けて考えてみます
0428login:Penguin02/12/04 18:49ID:oNKBboPH
MTUかな?
0429login:Penguin02/12/04 19:01ID:hyhmTS23
>>428
そうかも。

>>426
iptables -j TCPMSS -A OUTPUT -p tcp --tcp-flags SYN,RST SYN --clamp-mss-to-pmtu
とかしたらなおんない?
0430lain02/12/04 21:23ID:GnyA18V1
red hat7,3を使ってるんですが、iptablesを使うにはカーネルの再構築が必要って
どっかのhpに書いてあったんですけどそうなんですか?
ちなみにカーネルが2.4.18−3なんですけどどうなんでしょうか。
あとカーネルを再構築しようと2.4.20のカーネルを落としてきたんですがこのhp
通りにやったんですがbootのさいにfailedが出てstart systemでとまってしまいます。
もし再構築が必要であればredhat8.0なら構築しなくても対応されているんですか?
どなたか教えてもらえないでしょうか。
0431login:Penguin02/12/04 21:44ID:CSZVCdnW
どっかのhpには嘘が書いてある。
0432login:Penguin02/12/05 01:14ID:PwJUrvOu
>>426

漏れのマシンもPingが飛ばないっす
tcpdump -i ppp0 でみると一応�dではいるが返って来ない罠

家に帰ったらちょっと>>429さんのとおりに試験してみます〜
とりあえずMTUをどうにかしなきゃ…
0433login:Penguin02/12/06 19:21ID: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

だった。
0434login:Penguin02/12/06 20:37ID:oo8rvqWH
432 ですが…でけますた

iptables -t nat -A POSTROUTING -o pp0 -j MASQUERADE
たったこれだけで、ping が飛ばないなんて…鬱

てゆーか勉強します
0435login:Penguin02/12/07 12:08ID:NCviYxiS
pp0じゃなくてppp0な
0436login:Penguin02/12/07 20:27ID:TZVsgX+w
設定ファイルってどこに置くのが正解?
0437login:Penguin02/12/08 01:20ID:C0e3hfCf
>>436
/root/
0438login:Penguin02/12/08 07:48ID:Slh85d4S
Dec 8 07:36:42 itteyoshi kernel: IN= OUT=lo SRC=192.168.74.15 DST=192.168.74.15 LE
N=156 TOS=0x00 PREC=0xC0 TTL=255 ID=23783 PROTO=ICMP TYPE=3 CODE=1

今日ログを見てみたら、こんなのがでてました。
ん?自分の eth0 に割り当てられたアドレスをソースとしておしゃべりするときも、
ローカルループバック使ってるのかな?

いや、ローカルループバックから出入りするのって
src or dst が 127.0.0.1 のやつだけだとおもってたから。
0439login:Penguin02/12/08 11:45ID:Slh85d4S
100個くらいのアドレス(てか、アドレス範囲)からのパケットを DROP するようにしたら、
iptables -L での表示にめちゃくちゃ時間がかかるようになった・・・

でもストリームの再生なんかにも支障ないから、
負荷はそれほどかかってないのかも。

ESTABLISHED と RELATED を真っ先に通すようにしているからも。
0440login:Penguin02/12/08 11:46ID:Slh85d4S
>>439
ごめん、勘違いでした。
単に IP アドレスの逆引きに時間がかかってただけだった。
iptables -n -L だったらすぐに表示されました。
0441他力本願02/12/09 23:14ID:rWoEcFo6
やりかたとしてはrootで

service iptables stop (止める)

iptables -L        (ルール確認)

(一行ずつルール入力か書いておいたスクリプト実行)

/sbin/iptables -L    (ルール確認)

cd /etc/sysconfig
iptables-save > iptables (ルール保存)

であってる?
で、スクリプトは
www.geocities.co.jp/SiliconValley-Cupertino/9120/firewall.html
使おうと思うんだけど、穴ないですか?
0442login:Penguin02/12/10 10:43ID:d+RVM/g7
>>441

> service iptables stop (止める)
をつかうんだったら
> iptables -L        (ルール確認)
> iptables-save > iptables (ルール保存)
じゃなくて
service iptables status
service iptables save

とかつかったら?
0443login:Penguin02/12/14 19:21ID:zukM5Gsi
教えてください。
WAN側から許可されたアクセスは大丈夫なのですが、(PING,HTTP等)
LAN側からの通信がすべて拒否され(すべて許可したいのですが)、
サーバは自分自身へのPINGすら通らない状況です。

ちょっと変則的(というか邪道なんですけど)と思いますが下記構成となっています。
ルータ:202.111.1.1----サーバeth0:202.111.1.2
:192.168.1.1---------------eth1:192.168.1.2
|
+クライアント:192.168.1.3

・ルータにてNATをしています。
・サーバのeth0はWAN用eth1はLAN用としています。
・クライアントはルータにて外へ出られますのでサーバでのマスカレード等は
 していません。
・routeは
Destination GW mask    Flag M R U Iface
202.111.1.0 * 255.255.255.0 U 0 0 0 eth0
192.168.1.0 * 255.255.255.0 U 0 0 0 eth1
loopback  * 255.0.0.0   U 0 0 0 lo
default  202.111.1.1 0.0.0.0 UG 0 0 0 eth0
です。
----続く----
0444login:Penguin02/12/14 19:22ID:zukM5Gsi
---続き--
・以下の設定をしています。
iptables -F
iptables -P FORWORD DROP
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT

#lo
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
#LAN:eth1
iptables -A INPUT -s 192.168.1.0/24 -d 192.168.1.2 -i eth1 -j ACCEPT
iptables -A OUTPUT -s 192.168.1.2 -d 192.168.1.0/24 -o eth1 -j ACCEPT

iptables -A INPUT -m stat --state ESTABLISHED,RELATED -j ACCPET

#WAN:eth0
iptables -A INPUT -p icmp --icmp-type 8 -d 202.111.1.2 -i eth0 -j ACCEPT
iptables -A INPUT -p icmp --icmp-type 0 -s 202.111.1.2 -o eth0 -j ACCEPT
以下domain,http等の許可
OUTPUTのポリシーがACCEPTなのでOUTPUTは不要かもしれませんが・・・。
0445名無しさん@Emacs02/12/14 19:29ID:vNfCYX4w
winny するなら、7743 bカゃなくて 8080 とか使えよ。
0446login:Penguin02/12/14 22:25ID:xbIuqtoX
>>443

loopback,eth1のinputを下のように変更しろ。

# loopbackアドレスの許可
iptables -A INPUT -i lo -j ACCEPT

# 内部LANからのパケットを全て許可
iptables -A INPUT -i eth1 -s 192.168.1.0/24 -j ACCEPT

で、あなたはwinnyを使ってるの?
044744302/12/15 15:15ID:OHhH+ux/
>446
ありがとうございます。一時的に動作しました。
一時的というのは、
nmap -p 80とか単ポートだと正常に動作いしてくれるのだけど
nmap -p 1-1024とかやると全部DROPしちゃうようになります。
以降、全部socketエラーになって孤立してしまいます。
(nmapをkillしてもwwwやdnsに接続できなくなるのです)
こういうものなのでしょうか?

ところで、なぜ、
-d 指定するとダメなのでしょうか。
また、loはすべて受け付けなければならないのはなぜでしょうか。

なお、winnyは使っていません。googleでwinnyを調べた程です。
0448login:Penguin02/12/15 15:29ID:7XPAQsID
すげー、自演ってのりでやりきれるんだな。
LINUX板きて初めてスゲーと思った
0449login:Penguin02/12/15 15:31ID:7XPAQsID
すげー、自演ってのりでやりきれるんだな。
LINUX板きて初めてスゲーと思った
045044302/12/15 17:26ID:OHhH+ux/
>>448-449
ふかわりょうさん?

お忙しいとは思いますが
447についてご存知でしたら教えてください。
よろしくお願いいたします。
0451login:Penguin02/12/16 12:39ID:JuYp5PKI
Bフレッツ固定IP8 で rp-pppoe使っている人いません?
どうしてもppp0がnetmask 255.255.255.255になってしまうのですが、
iptables でnat するとルーター以降のアドレスも使えるのですがいいのでしょうか
なんか気味悪い
0452login:Penguin02/12/16 12:52ID:sd7nxVLn
>451
rp-pppoeは「正式に」unnumbered接続に対応しているの?
よく考えてみてね。
0453login:Penguin02/12/16 15:34ID:7RUDYi0x
>>452
そんな聞きかたじゃ全く理解出来ないだろ。
それに考えてわかる問題でもないような。
>>451
固定 IP 8 で rp-pppoe 使ってルータにしてる奴はいっぱい居るよ。
まず point-to-point の PPP では netmask は常に 255.255.255.255。
PPP は一対一接続だから IP アドレスを割り当てる必要は無いんだよ。
OCN からもらった IP アドレスは LAN 側の NIC に割り当てるもの。
これが unnumbered 接続。
でも Linux の場合 PPP に割り当てないで動かすわけにいかないから、
たいていは LAN 側の NIC に割り当てたのと同じアドレスにする。
これでルーティング出来るのか不思議に思うかもしれないが
要は nexthop router を指定せずに直接 point-to-point の
インタフェースをデフォルトルートに指定すればいいだけ。
Linux はこれが出来るので unnumbered 接続も可能だと言える。
ただし、rp-pppoe に自動でデフォルトルートを割り当てさせると
うまくいかないかもしれないので、手動で設定する必要がある。
045444602/12/16 16:05ID:LhWOSzF6
>>447

IPTABLESの設定見た限りでは、eth1よりブロードキャストが受け取れ
無いようになっていたので,-d 以下を削除するように指示しました。

つまりeth1から入ってくるパケットは宛先が192.168.1.2のみ受付、
255.255.255.255や192.168.1.255は拒否するようになっていました。
これだとarpパケットを受信することができないので、基本的にサーバ
との通信はできません。

クライアントが外へ出れるのは、恐らくFORWARDチェインには上記の
ような記述が無いため、ルータへパケット転送することが可能だったの
では?と思います。

(>>444に書いてないだけで、ブロードキャストを受け付けるように記述して
あったり、FORWARDチェインはDROPの設定しかしていないなら見当違い
ですね)
0455login:Penguin02/12/16 17:11ID:wyRqnPSR
通りがかりだが

おまいらすてきです!
0456login:Penguin02/12/18 21:05ID:oUPdxj1d
ってなことでRedHat7.3のipchain から iptablesに切り替えたいと思います

まずどーしましょ?>>みなさま
0457login:Penguin02/12/18 21:20ID:xfe3SzcC
>>456
乗り換えたい理由を教えろ。
0458login:Penguin02/12/19 10:24ID:TVluSG+E
たぶんipchainがいまいちだからだろ?
0459login:Penguin02/12/19 22:27ID:7ZOYMtgI
まぁ、これならたいていは大丈夫だろう。
ってゆーテンプレートみたいなのはないの?
0460login:Penguin02/12/19 23:42ID:b9zHgWC9
>>459
うちはここのを参考にさせてもらって(ちょっとだけいじった)けど、どうよ。
http://www.geocities.co.jp/SiliconValley-Cupertino/9120/firewall.html
046145902/12/22 22:33ID:hvl9DCHS
>>460
遅くなったけどサンクス。
漏れもこれ参考(つーかほとんど一緒)させてもらいますた。
0462login:Penguin02/12/23 00:23ID:NIbQFJ2u
-m state 使えばいいのに。
ちなみにワシの

modprobe ip_conntrack_ftp

iptables -F
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

iptables -A INPUT -i lo -j ACCEPT

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

iptables -A INPUT -p tcp -s どっか -d わし --dport ssh -m state --state NEW -j ACCEPT
iptables -A INPUT -p tcp -d わし --dport 何か -m state --state NEW -j ACCEPT
iptables -A INPUT -p icmp -d わし --icmp-type echo-request -j ACCEPT
0463login:Penguin02/12/24 18:37ID:sMsKLTYD
オレメモ
PPPoE同士でipsecするとき
iptables -t nat POSTROUTING -o ipsec -s このマシンのipsec0外部ip -d 相手側のprivateip_xx.xx.xx.xx/24 -j SNAT --to 自分のLANがわprivateip
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
で -o ppp0 を忘れない
であとはfilterを設定してみるす
0464login:Penguin02/12/25 01:15ID:wMDDvDbB
>>460
それ使ってみたけど、マスカレードされなくて困ってます。

|Windows(192.168.0.2) |======|(192.168.0.1 eth1) Vine2.6 (eth0)|=====|ONU(ppp0)|===
っていう構成です。>>460にあったやつで、
EXTIF=ppp+
INTIF=eth1
として使ってます。Vine側からは普通にネットできるんですが、
内側のWinマシンから外部にPing打つと
Destination host unreachable.
となります。
Win<>Vineはお互いにping通ってます。

どなたかアドバイスお願いします。
0465login:Penguin02/12/25 02:45ID:wCcaR+6g
460のやつはicmpのFORWARDを許可してないみたいだから、pingが通らないのは当たり前。
というかsshでVineにloginして、pingはVineから打てばそれでいいような気もするけど。
046646402/12/25 03:34ID:NLATh2Me
>>465
ping(ICMP)については納得なんですが、
それ以外も通らないんで困ってます。
Vine側の設定は
eth1 リンク方法:イーサーネット ハードウェアアドレス **.**.**.**.**.**.**
inetアドレス:192.168.0.1 ブロードキャスト:192.168.0.255 マスク:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:14 errors:0 dropped:0 overruns:0 frame:0
TX packets:10 errors:0 dropped:0 overruns:0 carrier:0
衝突(Collisions):0 TXキュー長:100
RX bytes:1464 (1.4 Kb) TX bytes:548 (548.0 b)
割り込み:11 ベースアドレス:0x9400
ppp0 リンク方法:Point-to-Pointプロトコル
inetアドレス:***.***.***.*** P-t-P:***.***.***.*** マスク:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1454 Metric:1
RX packets:4 errors:0 dropped:0 overruns:0 frame:0
TX packets:3 errors:0 dropped:0 overruns:0 carrier:0
衝突(Collisions):0 TXキュー長:3
RX bytes:40 (40.0 b) TX bytes:30 (30.0 b)
ってなってます。
0467login:Penguin02/12/25 10:53ID:W2lR38ei
>>460 初期化のところにiptables -F -t natが入ってないので、なんかnat操作するときに更新できなくて困った
0468login:Penguin02/12/25 11:01ID:W2lR38ei
>>466 ますフィルターをとりあえず全部初期化してはずしてできるか試してみたら?
# /sbin/service iptables stop
# iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
# echo 1 > /proc/sys/net/ipv4/ip_forward
だけだとつながりますか?(RedHat系のコマンドだが若干違うかも)
■ このスレッドは過去ログ倉庫に格納されています