[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 04/17 19:31 / Filesize : 298 KB / Number-of Response : 923
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【鉄壁】iptablesの使い方 3【ファイアウォール】



1 名前:login:Penguin [2006/01/07(土) 09:23:53 ID:lNsnmDoV]
iptablesを使って素敵なファイアウォールとか、
快速ルータを作ったりするために、
情報を出し合うスレ

前スレ
おい、iptablesの使い方を(ry その2
pc8.2ch.net/test/read.cgi/linux/1079277604/l50


608 名前:login:Penguin [2008/07/17(木) 22:02:01 ID:nfCUoiJG]
602
すいません。厳しいの意味がわかりません。
603
現在このマシンでサーバーを立てる予定はありません。
そうゆう意味でいいですか?
つまり想定しているのはクライアント専用です。
そこからLinuxの世界に入れてもらおうと思っています。

609 名前:login:Penguin mailto:sage [2008/07/17(木) 22:45:05 ID:aqSb7+WT]
>>601
このへんから始めたら。

modprobe ip_conntrack_ftp
iptables -P INPUT DROP
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -P OUTPUT DROP
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A OUTPUT -m limit --limit 1/s --limit-burst 5 -j LOG --log-level warning --log-prefix "bad OUTPUT packet: "
iptables -P FORWARD DROP

で、最初は大量にbad OUTPUTなログが出るから、ログを見ながら必要なものを
OUTPUTのログ指定の前に足していけばいい。必要そうなものは例えば

iptables -A OUTPUT -p udp -m udp --sport bootpc -j ACCEPT
iptables -A OUTPUT -p udp -m udp --dport domain -j ACCEPT
iptables -A OUTPUT -p tcp -m tcp --dport http -j ACCEPT
iptables -A OUTPUT -p icmp -m icmp --icmp-type echo-request -j ACCEPT

てな具合。インタフェース指定やポートの細かい限定などは、
意味があるとき以外はしないでいいっしょ。管理するの面倒だし。
あと、把握できてないルールはつけない。


610 名前:一から出直し [2008/07/17(木) 23:10:07 ID:nfCUoiJG]
607
そうなんですよ。そこもチェックしてたんですけど
効果的な使い道が浮かばなくて、、とほほです。
609
ありがとうございます。
勉強の雛形にさせてもらいます


611 名前:login:Penguin mailto:sage [2008/07/23(水) 01:53:42 ID:1UUyJ2NP]
knoppix firewallの一番簡単な設定を選んで、iptables -Lしたのが
以下のやつ。
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT 0 -- anywhere anywhere
FROMINTERNET 0 -- anywhere anywhere
Chain FORWARD (policy DROP)
target prot opt source destination
ACCEPT 0 -- anywhere anywhere state RELATED,ESTABLISHED
FWDINTERNET 0 -- anywhere anywhere
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
TOINTERNET 0 -- anywhere anywhere
Chain FROMINTERNET (3 references)
target prot opt source destination
ACCEPT icmp -- anywhere anywhere
ACCEPT 0 -- anywhere anywhere state RELATED,ESTABLISHED
DROP 0 -- anywhere anywhere
Chain FWDINTERNET (3 references)
target prot opt source destination
ACCEPT 0 -- anywhere anywhere
Chain TOINTERNET (3 references)
target prot opt source destination
ACCEPT 0 -- anywhere anywhere
きっと突っ込みどころ満載だろうけど、これを参考に自分は
がんばってみる。


612 名前:login:Penguin mailto:sage [2008/07/24(木) 01:01:09 ID:ht7CyEPW]
>>611
せっかくだからiptables -L -vしたら

613 名前:login:Penguin mailto:sage [2008/07/24(木) 01:06:59 ID:FHo+/IiI]
ウチの環境(日本のみ許可、携帯のみ許可、etc...)で
そんなことしたら表示が恐ろしいことに・・・
-n を付けようぜ!

614 名前:611 mailto:sage [2008/07/25(金) 02:20:35 ID:LOINhS18]
>>612
突っ込みサンクス。INPUTが筒抜けになってるのね。改善をはかって
下のような感じにしてみた。クライアント用途ならこんな感じで
良いのかな。
Chain INPUT (policy ACCEPT)
target___prot___opt___source___destination
frominternet___0___--___anywhere___anywhere
Chain FORWARD (policy ACCEPT)
target___prot___opt___source___destination
fwdinternet___0___--___anywhere___anywhere
Chain OUTPUT (policy ACCEPT)
target___prot___opt___source___destination
tointernet___0___--___anywhere___anywhere
Chain frominternet (1 references)
target___prot___opt___source___destination
ACCEPT___icmp___--___anywhere___anywhere
ACCEPT___0___--___anywhere___anywhere___state RELATED,ESTABLISHED
DROP___0___--___anywhere___anywhere
Chain fwdinternet (1 references)
target___prot___opt___source___destination
ACCEPT___0___--___anywhere___anywhere___state RELATED,ESTABLISHED
DROP___0___--___anywhere___anywhere
Chain tointernet (1 references)
target___prot___opt___source___destination
ACCEPT___0___--___anywhere___anywhere

615 名前:login:Penguin [2008/07/31(木) 17:36:39 ID:XyjnsPYp]
Debianでどのように設定していますか
if-pre-upのどこにリンク張っていますか
pre-upに置いたらまずいですか


616 名前:login:Penguin mailto:sage [2008/07/31(木) 21:30:17 ID:zdX0l+Wk]
/etc/network/if-pre-up.d/にスクリプト
なんの話だ
別に



617 名前:login:Penguin mailto:sage [2008/08/05(火) 21:25:25 ID:Z3eVziP2]
forwardチェインでログとってもMACアドレス記録されるようにしてほすぃ

618 名前:login:Penguin [2008/08/11(月) 23:54:22 ID:TGzzuzuv]
OSはCentOS5です
ルータでは特定のIPからのポートスキャンをはじけないので、
IPテーブルの設定ではじきたいのですが、具体的なコマンドを教えてください

ちなみに、まちBBSからのポートスキャンをはじかないと書き込みができないので、
まちBBSからのポートスキャンのみはじきたいです

619 名前:login:Penguin mailto:sage [2008/08/12(火) 00:50:06 ID:Bc57GTps]
サーバ管理してるなら、それくらいは自力で頑張ってみよう

620 名前:login:Penguin mailto:sage [2008/08/14(木) 22:25:32 ID:84iyOxyD]
>>23
>>24
24氏のアドバイスで、ppp0の全てのパケットは、192.168.0.10へ
DNAT(Destination NAT)されるようになったけど、それでよかった
んだよね。

>>31
で、31氏が書いているのは、iptablesが動いているマシンに
httpdや、smtp,pop3, DNSなどのサービスが動いてたら、
それらを除外せにゃならんよねという、話だと理解しました。

で、最後にDNATがチェインの最後で実行されればいいんですよね

621 名前:login:Penguin mailto:sage [2008/08/15(金) 03:07:08 ID:AyoNWC/X]
↑2年半前にレスってどうよ?w

622 名前:login:Penguin mailto:sage [2008/08/15(金) 07:47:13 ID:g1wlhWWM]
専ブラ使っているんでね、このスレ見つけて
最初から読んで、resってみたんだが、ダメかね。

というか、このスレ立ってから、そんなに経つのか
よく落ちないな。

623 名前:login:Penguin mailto:sage [2008/08/15(金) 07:53:05 ID:3444HIb9]
UNIX板のipfilterのスレなんて5年半で200レスくらい……

624 名前:login:Penguin [2008/08/31(日) 23:21:06 ID:n+n8JTmC]
国内プロキシ経由の海外からのアクセスは防ぎようはないのかな

625 名前:login:Penguin mailto:sage [2008/09/01(月) 00:27:34 ID:fjO0v2rO]
国内プロキシを弾くしかないね。
逆に、ホワイトリストを作成し、登録したIP以外を全部弾いた方が楽だと思う。

626 名前:login:Penguin [2008/09/02(火) 03:53:13 ID:U/dhSPhZ]
うん。それもアリなんだね
だけどサーバー目的じゃないんだ
攻撃者特定の為に国内限定にしようと思ったんだけど
踏み台からの攻撃もあるから努力のしようがないことに気がついた




627 名前:login:Penguin mailto:sage [2008/09/02(火) 04:05:58 ID:CyZGqQKe]
webサーバの保護の話でないなら別に放っておけばいんでないの

628 名前:login:Penguin mailto:sage [2008/09/13(土) 13:23:36 ID:W75dUOM6]
サーバをPCルータ化して、クライアントPCでネットをしようと思い、
以下のような、サーバ用のスクリプトを作成したのですが、
Windows, Linuxのどちらからも、外に出られません。

eth1(192.168.0.1)が内向きで、ppp0 が PPPoE 接続した際にできたもので、
クライアントPCのアドレスは、DHCPで割り振っています。

添削をよろしくお願いいたします。
# 長いので、二つに分けます。

client_ip='192.168.0.0/24'
server_ip='192.168.0.1'

echo 1 > /proc/sys/net/ipv4/ip_forward

# テーブルの初期化
iptables -F
iptables -t nat -F
iptables -X

# テーブルの設定(INPUT)

iptables -P INPUT DROP

iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i eth1 -s $client_ip -d $server_ip -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

629 名前:628 mailto:sage [2008/09/13(土) 13:24:55 ID:W75dUOM6]
# テーブルの設定(OUTPUT)

iptables -P OUTPUT ACCEPT

# インターネットに向けたローカルアドレスは全て破棄
iptables -A OUTPUT -o ppp0 -d 10.0.0.0/8 -j DROP
iptables -A OUTPUT -o ppp0 -d 176.16.0.0/12 -j DROP
iptables -A OUTPUT -o ppp0 -d 192.168.0.0/16 -j DROP
iptables -A OUTPUT -o ppp0 -d 127.0.0.0/8 -j DROP

# テーブルの設定(FORWARD)

iptables -P FORWARD DROP

# ファイル共有
iptables -A FORWARD -p tcp -i eth1 -o ppp0 --dport 137:139 -j DROP
iptables -A FORWARD -p udp -i eth1 -o ppp0 --dport 137:139 -j DROP
iptables -A FORWARD -p tcp -i eth1 -o ppp0 --dport 445 -j DROP
iptables -A FORWARD -p udp -i eth1 -o ppp0 --dport 445 -j DROP

# RPC
iptables -A FORWARD -p tcp -i eth1 -o ppp0 --dport 111 -j DROP
iptables -A FORWARD -p udp -i eth1 -o ppp0 --dport 111 -j DROP

iptables -A FORWARD -i eth1 -o ppp0 -s $client_ip -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT


# IPマスカレードを設定
iptables -t nat -A POSTROUTING -o ppp0 -s $client_ip -j MASQUERADE

630 名前:login:Penguin mailto:sage [2008/09/13(土) 13:43:36 ID:12jhi4RP]
なんか一見合ってそうに見えるけどな……
カーネルはデフォルトのもの?エラーとか出ないで
スクリプト実行できてるよね。

631 名前:login:Penguin mailto:sage [2008/09/13(土) 15:13:23 ID:XkB/m5n5]
>>629
まずはチェインがどの順序で解釈されるものなのか知っておいたほうがいい。
POSTROUTINGはFORWARDやOUTPUTよりも後で実行されるので、
そこでMASQUERADEするのであればクライアントIPなどの判断はその後で
やらなきゃダメ。

632 名前:628 mailto:sage [2008/09/13(土) 15:27:44 ID:W75dUOM6]
レス、ありがとうございます。

>>630
カーネルは、Ubuntu 8.04 サーバー版で、特に手を加えていません。USBメモリに入れているくらいです。
スクリプトもエラーは出ていません。

>>631
なるほど、解釈される順番には気がつきませんでした。
早速試してみます!

633 名前:login:Penguin mailto:sage [2008/09/13(土) 15:33:01 ID:oHtnNr1m]
クライアントから外部に向かうパケットがinput段階で叩き落とされないか?

634 名前:login:Penguin mailto:sage [2008/09/13(土) 18:26:06 ID:12jhi4RP]
ホントだ。-d が余計だな。

635 名前:628 mailto:sage [2008/09/13(土) 21:32:24 ID:XplBrS+o]
返信遅れて申し訳ありません。
iptableと格闘していましたが、一向につながる気配がありません。

レスを頂いた件を、すべて試してみたり、
> Linuxで作るファイアウォール[NAT設定編]
> ttp://www.atmarkit.co.jp/flinux/rensai/security04/security04a.html
に、乗っているサンプルを改造したりしていましたが
成果はさっぱりです。

636 名前:login:Penguin mailto:sage [2008/09/14(日) 02:13:23 ID:ko4Rvcco]
>> iptables -A FORWARD -i eth1 -o ppp0 -s $client_ip -j ACCEPT
FORWARDチェインなんでエラーは出ないんだが、
-i と-o はどちらか一方でないと成立しないような気がする



637 名前:login:Penguin mailto:sage [2008/09/14(日) 02:14:57 ID:uvFDe4SI]
>>635
iptables -nvL と iptables -nvL -t nat、各種ログはチェックした?


638 名前:login:Penguin mailto:sage [2008/09/14(日) 09:28:28 ID:FG5fpXZJ]
-s -d とか -i -o あたりが自分の使ってるルールに比べると
ちと厳密だね。その辺外して後から変えていったら。

639 名前:login:Penguin [2008/09/14(日) 11:34:18 ID:aDiVPCKf]
fedorasrv.com/iptables.shtml
のやり方で海外からのアクセスを弾いてるのですが
読めば読むほどよくわからなくなってきたので
質問させていただきます。
cidr.txt ・・・ cidr.txt.1 ・・・ cidr.txt.100 ・・・ cidr.txt.1056
と同じようなファイルがどんどん増えていきます(汗
消しても消しても増えるのですが新規にファイルを作成するのではなく
cidr.txt に上書きするようにすることはできないのでしょうか??
あと、(2)IPアドレスリスト更新チェック に
毎日自動でIPアドレスリストの更新有無をチェック
と書いてますが何時に更新するか設定はできないのでしょうか?


640 名前:login:Penguin mailto:sage [2008/09/14(日) 11:42:51 ID:WXeKp2xK]
>>639
上書き
wgetを-Oで保存ファイル名指定

更新時刻
crontabで設定

641 名前:628 mailto:sage [2008/09/14(日) 16:53:01 ID:1R1R/rhZ]
>>636,638
オプションを付けたり外したり、
全部の組み合わせを同時に宣言して見ましたが、うまくいきません…

>>637
設定は、スクリプトに書いたとおりでした
ただ、ログがまったくでません。(時折外からくる、変なIPを弾くのを除く)
eth1にくるのを拒否すると、ちゃんとログに残るので
何がなんだかさっぱりです。

ログの設定は、以下です。
iptables -N LOGGING
iptables -A LOGGING -j LOG --log-level warning --log-prefix "DROP:" -m limit
iptables -A LOGGING -j DROP
iptables -A INPUT -j LOGGING
iptables -A FORWARD -j LOGGING
iptables -A OUTPUT -j LOGGING

642 名前:login:Penguin mailto:sage [2008/09/14(日) 17:40:13 ID:kd4iGQPt]
全部ACCEPTにしてもつながらないとかないのかね

643 名前:login:Penguin mailto:sage [2008/09/14(日) 17:57:54 ID:RVgh8DFt]
>>642
いや、さすがに、それは無いでしょ?
先にルーティングできることを確認しなかったら何が悪いか判らないじゃない?

644 名前:628 mailto:sage [2008/09/14(日) 19:51:28 ID:TY7yI4CN]
>>643
そうですね。何がわからないのか分からない状態です。

>>642
このような感じのもので、試してみましたが
クライアントPCでは、何もできませんでした。

echo 1 > /proc/sys/net/ipv4/ip_forward

iptables -F
iptables -t nat -F
iptables -X

iptables -P INPUT ACCEPT
iptables -A INPUT -j ACCEPT
iptables -P OUTPUT ACCEPT
iptables -A OUTPUT -j ACCEPT
iptables -P FORWARD ACCEPT
iptables -A FORWARD -j ACCEPT

iptables -t nat -A POSTROUTING -o ppp0 -s $client_ip -j MASQUERADE

ところで、-t nat -nvL で出てくる、POSTROUTING の pkts が
幾ら操作しても、0のままなのですが、これが正常なのでしょうか?

645 名前:login:Penguin mailto:sage [2008/09/14(日) 20:27:29 ID:RVgh8DFt]
>>644
> >>643
> そうですね。何がわからないのか分からない状態です。

まず、iptableを切って、クライアントから外界が見れることを確認してください。
その状態から、徐々に絞っていく方が楽でしょう。(なお、クライアントの防備は厚めに。)

646 名前:628 mailto:sage [2008/09/15(月) 22:06:16 ID:mFiXr7+/]
>>645
原因が分かりました。
すごく、くだらない原因で、DNSの設定を自動で取得してくる状態のままでした(Windowsルータ時代はこれで良かった)
手動で、指定したところ、問題なく接続できました。

皆様、ご迷惑をおかけいたしました。

# ちら裏
結果的に修正した部分は、
>>628
iptables -A INPUT -i eth1 -s $client_ip -d $server_ip -j ACCEPT を
iptables -A INPUT -i eth1 -s $client_ip -j ACCEPT
に、したくらいです。
# ちら裏終わり



647 名前:login:Penguin mailto:sage [2008/09/15(月) 23:01:45 ID:NBhfMiPw]
>>646
お疲れさん(笑

648 名前:login:Penguin mailto:sage [2008/09/26(金) 20:02:35 ID:rMTLXZXd]
2分置きに↓のログが残るんだけど何だろう?
[iptables SPOOFING] IN=eth0 OUT= MAC=01:00:5e:00:00:01:00:14:f1:65:a4:6a:08:00 SRC=172.20.1.1 DST=224.0.0.1 LEN=28 TOS=0x00 PREC=0xC0 TTL=1 ID=60045 PROTO=2


649 名前:login:Penguin mailto:sage [2008/09/26(金) 21:47:23 ID:G3dQVRC8]
ISPからくるIGMPのマルチキャストのパケットらしい。
中身まで見ると、何かわかるかも。
ttp://www.dslreports.com/forum/r20675819-My-ISPs-router-sends-me-over-1000-IGMP-hits-per-day

650 名前:login:Penguin mailto:sage [2008/09/30(火) 09:25:20 ID:6LAw1Ent]
kernel2.4系で使っていたルールをkernel2.6系に使ったら
svnのコミット出来なくなったり、一部2.4の時と動作が違うのですがどの辺が変わってるんでしょうか?

651 名前:login:Penguin [2008/10/02(木) 15:52:16 ID:Cu06Z5f2]
WebページのCGIからソケット開いて〜 ってやったものの応答をうけとるには
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
ではダメなようなのですが どうしたら受け取れますかね?

652 名前:login:Penguin mailto:sage [2008/10/02(木) 20:50:38 ID:3mmtWAQL]
>>650
と言われても何とも言えん。ルールを出せ。

>>651
そのWebページとやらはどこにあるんだよ。
構成を出せ。

653 名前:login:Penguin [2008/10/05(日) 11:41:14 ID:Fghhu9nw]
おまえら、netstat-natの出力みたことありますか。
なかなか楽しいが、見た内容を人にしゃべっちゃだめだぞ。

654 名前:login:Penguin mailto:sage [2008/10/05(日) 21:15:29 ID:1+nQfTzw]
NATを使わない単なるルーターだが、port制限行うタイプの設定が
まったくわかりません。

(LAN1) -eth0[Linux Box]eth1- (LAN2)
・LAN1からLAN2へのpingは許可
・LAN2からLAN1への pingも許可
・LAN1からLAN2へのsshは許可
・上記以外の接続は全て不可

ぐぐるとNATばかりでてきます。NATもpppoeも関係なのです。
あーん、誰か助けてくらはい。

655 名前:login:Penguin mailto:sage [2008/10/05(日) 21:17:03 ID:1+nQfTzw]
>>654
誤)ぐぐるとNATばかりでてきます。NATもpppoeも関係なのです。
正)ぐぐるとNATばかりでてきます。NATもpppoeも関係ないのです。

間違えちゃったorz

656 名前:login:Penguin mailto:sage [2008/10/05(日) 21:28:53 ID:1+nQfTzw]
>>654
間違え&連投すいません。
ルーターとして[Linux Box]は動いています。ずぼずぼ通信できてしまいます。
制限ができないのです。
連投すいません。




657 名前:login:Penguin mailto:sage [2008/10/05(日) 22:26:42 ID:j+q2VtR8]
>>654
普通にFORWARDチェインに対してACCEPTとDROPのルールを作ればいい。
-t natとかは不要。

658 名前:login:Penguin mailto:sage [2008/10/05(日) 22:38:39 ID:1+nQfTzw]
LAN1 から LAN2は全部OK
LAN2 から LAN1はDROPとした場合

iptables -P INPUT ACCEPT
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT

iptables -P FORWARD -s LAN1 -d LAN2 -j ACCEPT
iptables -P FORWARD -s LAN2 -d LAN1 -j DROP

だめですー(x x)

659 名前:login:Penguin mailto:sage [2008/10/06(月) 00:04:41 ID:Q2gv2CnD]
iptables -L -v

iptables -t nat -L -v
を晒せ


660 名前:login:Penguin mailto:sage [2008/10/06(月) 00:20:27 ID:E4Yiq6p1]
ICMPなpingは行き帰り両方をきちんと定義しないと駄目じゃないか?

661 名前:login:Penguin mailto:sage [2008/10/06(月) 07:52:15 ID:kHXndwyF]
>>658
TCPだってping (ICMP echo)だって行き帰りのパケットがあるだろうに。
ネットワークの基礎を勉強し直せ。

662 名前:login:Penguin mailto:sage [2008/10/07(火) 00:18:45 ID:L0iIKOv8]
TCPはステート情報を使うようにすれば、片方向の定義だけでいいけどね。
(FTPとか特殊なプロトコルをのぞく)

663 名前:login:Penguin mailto:sage [2008/10/07(火) 07:21:32 ID:4sfRDV6t]
RELATED,ESTABLISHEDは超重要


664 名前:login:Penguin mailto:sage [2008/10/08(水) 19:26:44 ID:Hntgc9sn]
>>652
2.4と同じじゃなかった(汗

$IPTABLES -t nat -A PREROUTING -i $INTIF -p tcp --dport 80 -j REDIRECT --to-port 8080
これでコミット出来なかった・・・
iptablesじゃなくて串の設定かorz

665 名前:login:Penguin [2008/11/02(日) 15:09:02 ID:fqVxYuim]
>>658
確立したコネクション塞いだら通信できなるだろうが
それになぜポリシーにルール設定してんだよw

iptables -P INPUT ACCEPT
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT

iptables -A FORWARD -s LAN1 -d LAN2 -j ACCEPT
iptables -A FORWARD -s LAN2 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -s LAN2 -d LAN1 -j DROP


666 名前:login:Penguin [2008/11/02(日) 15:14:37 ID:fqVxYuim]
>>664
-i $INTIF 取ってみな



667 名前:login:Penguin [2008/11/02(日) 15:51:43 ID:fqVxYuim]
>>658
あと追記だけど、LAN1/LAN2側双方へのマスカレードの設定があと必要だとおもうよ。
このくらい自分でしらべてくれよん

668 名前:login:Penguin [2008/11/07(金) 15:57:30 ID:TIV9E6l7]
ルーター(192.168.0.1)

eth0┐(192.168.0.2)
   │←pc0
   │
eth1┘(192.168.1.1)

pc1


iptables -A FORWARD -i eth1 -o eth0 -s 192.168.1.0/24 -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.1.0/24 -j MASQUERADE


pc1にインターネット共有をさせたくて上記のように設定してみましたが
だめでした
これだとpc0のWAN側がインターネットでないとダメなのかなとか
ひょっとしてできないのかなでもWindowsだとチェックボックスひとつで
共有できるしなあとか思ってはみるものの具体策がわかりません
おしえてください



669 名前:login:Penguin mailto:sage [2008/11/07(金) 16:39:12 ID:CnNNPz2n]
pc1 は ip_forward してますか?

670 名前:login:Penguin mailto:sage [2008/11/07(金) 16:39:43 ID:CnNNPz2n]
ごめん、pc0 は ip_forward してますか?

671 名前:login:Penguin mailto:sage [2008/11/07(金) 20:21:24 ID:TIV9E6l7]
>>670
/proc/sys/net/ipv4/ip_forward
に1とあり大丈夫なようです

672 名前:login:Penguin mailto:sage [2008/11/07(金) 21:48:58 ID:lFnUHJKa]
>>668
というか「ルータ」に192.168.1.0/24のスタティックルートを設定できないのか?

673 名前:login:Penguin mailto:sage [2008/11/08(土) 00:50:25 ID:hssA2L52]
前提としてルーター(192.168.0.1)には、もう一個ポートがあって、インターネット(ISP)に繋がっている。
ということでOK?
で、そのルーターは当然のごとくにIP Masquarade(NAT)している、ということでOK?
で、やりたいことは、ローカルネットワークにNATルーター(pc0)を設置してpc1は二重にNATしたい、ということでOK?

pc1をインターネットに繋がるようにしたいだけなら 192.168.0.0/24 のアドレスにしてpc0のeth0と同じ側に繋ぐか、
672 の言うとおり pc0 を(NATしない)普通のルーターとして働かせれば、いいはずだが、それを敢えて二重に
NATしたい、と。

他に -j DROP なルールなどががあったりしなければ、668の設定で基本的にはいいはずだけど、
その前にpc0からはインターネットにルーター(192.168.0.1)経由で繋がるのか?

674 名前:login:Penguin mailto:sage [2008/11/08(土) 01:41:09 ID:MJgV0EtY]
restartしてないだけというエスパー予想。

675 名前:667 mailto:sage [2008/11/08(土) 20:06:18 ID:0iWj6iOE]
>>668

#WAN側のアドレスとか差っぴいちゃうからアドレスの指定とかやらないほうがいい
iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
iptables -A FORWARD -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth0 -o eth1 -j DROP
#↓WAN出力側は、マスカレードを無条件に許可する
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
#↓LAN側から入ってきたソースだけをpc1への戻りアドレス書き換えるマスカレード
#ローカルサーバーが必要ないなら、こいつは別に要らないかな?
iptables -t nat -A POSTROUTING -o eth1 -s 192.168.0.0/16 -j MASQUERADE

で、逝けそうな気がするけど。

それから、/etc/network/options に次の記述があるか確認してみ
ip_forward=yes


676 名前:667 mailto:sage [2008/11/08(土) 20:09:41 ID:0iWj6iOE]
訂正: >>668 の図見ると、eth0 eth1 逆じゃん?

iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT
iptables -A FORWARD -i eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth1 -o eth0 -j DROP
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -t nat -A POSTROUTING -o eth1 -s 192.168.0.0/16 -j MASQUERADE

てところか




677 名前:667 mailto:sage [2008/11/08(土) 20:14:24 ID:0iWj6iOE]
WAN側からの接続をシャットアウトしたいんだっけ?
勘違いしてた。

iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
#↓この行だけ違った
iptables -A FORWARD -o eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth0 -o eth1 -j DROP
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -t nat -A POSTROUTING -o eth1 -s 192.168.0.0/16 -j MASQUERADE


678 名前:667 mailto:sage [2008/11/08(土) 20:27:54 ID:0iWj6iOE]
iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT
iptables -A FORWARD -o eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth1 -o eth0 -j DROP
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -t nat -A POSTROUTING -o eth1 -s 192.168.0.0/16 -j MASQUERADE
なんか、このほうがスッキリするけど…。

679 名前:667 mailto:sage [2008/11/08(土) 20:34:22 ID:0iWj6iOE]
>>668 をまとめるとこんな感じだな
よくわからないか、まとめてみた。

1) WANへの接続は許す
2) WANからの接続は潰す
3) ただし、LANからWANへ接続済みにしたパケットのWAN側からの転送は許す

iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
iptables -A FORWARD -o eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth0 -o eth1 -j DROP
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -t nat -A POSTROUTING -o eth1 -s 192.168.0.0/16 -j MASQUERADE


680 名前:667 mailto:sage [2008/11/08(土) 20:38:58 ID:0iWj6iOE]

iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
#↓ FORWARD に -o 張れないから やっぱこれでいいはず…
iptables -A FORWARD -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth0 -o eth1 -j DROP
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -t nat -A POSTROUTING -o eth1 -s 192.168.0.0/16 -j MASQUERADE


681 名前:login:Penguin mailto:sage [2008/11/08(土) 23:10:35 ID:iMsDtzmC]
>>680
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
これは余計じゃないかな。

>>668
それとip_conntrack モジュールはロードしている

682 名前:667 mailto:sage [2008/11/09(日) 07:45:30 ID:cyMfQhQp]
>>681
余計かなぁ…?
ルーターとPC1が別のアドレス空間になっているから
PC0用のアドレスに書き換えてやらないとパケット戻ってこない気がするけど

683 名前:login:Penguin mailto:sage [2008/11/09(日) 13:35:21 ID:uYzy9N5y]
668のやりたいことが>>673の問いかけ通り(最初の4行通り)なら、
673の指摘通り668の記述であっている(NATも以下の一つでいい)。
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.1.0/24 -j MASQUERADE

実際、最初の4行に書かれている通りのことを今やっている。
違いはeth0を固定IPにしているので、MASQUERADEでなくSNATを使ってることぐらい。
うまくいかない原因は、668に記載された3行以外にあると思うのだが?

684 名前:667 mailto:sage [2008/11/09(日) 14:02:18 ID:MyRkucom]
なーるー

原因不明だな

全部のiptablesオプションに --modprobe=/sbin/modprobe 付け足して
呼んでみるとかやってみるべきかもね

それでもダメなら pc0 に pc1 から ping して応答が帰ってくるかどうか
ぐらいのレベルから検証してみたほうがよさそうだね。


685 名前:login:Penguin mailto:sage [2008/11/10(月) 22:31:41 ID:vjcGauLJ]
eth0を物理1つのエイリアス2に区切りました。
eth0 192.168.0.10
eth0:0 192.168.0.11
eth0:1 192.168.0.12

.0.10にだけtelnetが繋がるようにするには
どうすればいいのでしょうか?

686 名前:login:Penguin mailto:sage [2008/11/11(火) 02:07:43 ID:lioaoJiT]
IPエイリアスの場合、全部eth0に変わりないので

-A INPUT -i eth0 -d 192.168.0.10 --dport 23 -j ACCEPT
-A INPUT -i eth0 --dport 23 -j REJECT

こんな感じじゃない



687 名前:login:Penguin [2008/11/13(木) 19:57:50 ID:zJ0w7PDt]
telnetにListenIP設定すれば?
絞るなら大本から絞れ

688 名前:login:Penguin mailto:sage [2008/11/14(金) 17:28:14 ID:FovMWI9O]
>>687
こういうのって(iptablesとデーモンの)両方やらないか?

689 名前:login:Penguin mailto:sage [2008/11/14(金) 20:11:16 ID:4rtpLX5i]
ポートを開けないようにアプリ(telnet)側でやり、
さらにうっかり開かないようにiptablesで縛るね。

片方だけだと「うっかり」が結構出るけど、両方とも独立に
設定するならオペミスで開いてしまう事故は非常に起こりにくくなる。

690 名前:login:Penguin [2008/11/15(土) 01:42:42 ID:Zo/JTpVo]
ssh+鍵暗号 でいいやん
telnet 殺しちゃいなよ

691 名前:login:Penguin mailto:sage [2008/11/15(土) 02:14:20 ID:26XJ0s7F]
ここでの telnet はあくまで例なんじゃないの?

692 名前:login:Penguin mailto:sage [2008/11/15(土) 08:53:49 ID:OWM1nEoc]
それやるとミスもあるんだよな。wrapperではじいてるから
後でFW設定しようとか思ってたら一台だけ設定してなかった、とか。

693 名前:login:Penguin mailto:sage [2008/11/15(土) 09:18:53 ID:4Owtonid]
後でやろうと思ったとか、ちゃんと手順にそってやったことを確認しながらやらないのは問題外
ヒューマンエラーを防止するために手順メモとチェックリストは個人的にでも作ったほうがいい。

まあ、より強固で確かな方から設定していった方が漏れがあった時被害が少ないかもな…。

694 名前:login:Penguin mailto:sage [2008/11/15(土) 13:00:17 ID:OWM1nEoc]
実際はもうちょっと複雑な過程ではまるんだが、ちと面倒だったんで……
あとはAの方ではじいてると思ってそっちのルール更新してたらBだった、とか。

695 名前:login:Penguin mailto:sage [2008/11/18(火) 00:18:36 ID:ruHhaDcu]
ubuntuのufwで出力されるiptablesのルールって誰か分かりますか?
あれってデスクトップ用に最適化されているんですかね?

696 名前:login:Penguin [2008/11/18(火) 00:24:59 ID:jDfQIBNa]
2.4 系だと MANGLE に TCPMSS 張れないから
FORWARD と OUTPUT に張っているけど
MANGLE に張る場合となにが違うのかよくわからん



697 名前:login:Penguin mailto:sage [2008/11/18(火) 04:32:57 ID:d3c/lwkM]
>>695

設定してシェルから
iptables -L -v
してみれば良いのでは?
ていうかして、参考にしたいから。
自分はknoppix firewallと同じルールにしているけど、ubuntuのやつも
見てみたい。


698 名前:login:Penguin mailto:sage [2008/11/18(火) 10:14:23 ID:MRSXpnk2]
>>697
いや、自分も手元にubuntu環境ないから見てみたいのですよ

699 名前:login:Penguin mailto:sage [2008/11/18(火) 10:17:31 ID:MRSXpnk2]
あ、ubuntuライブCDが手元にあったわ
ufw enable して iptables -L -v 見てみる

700 名前:544 mailto:sage [2008/11/24(月) 21:48:01 ID:qB2Gxz8P]
NIC二枚刺して、一方はLANを通ってLAN内のルーターから外に
もう一方はグローバルIP持ってて直接外に
   |-eth0(192.168.0.102)-ルーター-インターネット
PC-|
   |-eth1(211.4.228.10)-インターネット
こんな構成になってるんだけど
eth0からインターネットに送信するときにeth1のIPアドレスがソースアドレスになっちゃいます。
eth0からLAN内にはちゃんと192.168.0.102がソースアドレスになります。

とりあえずiptables -A POSTROUTING -t nat -o eth0 -j SNAT --to-source 192.168.0.102
として、ソースアドレス設定してるですけど
tcpdumpで見てみるとDNSとかeth1のアドレスで尋ねにいってタイムアウトしてます。

そもそも、ifconfig見るとちゃんとeth0にIPアドレス設定されてるのに、なんでSNATが必要になるんでしょうか?
SNATしなくても済む方法ありますか?


701 名前:700 mailto:sage [2008/11/24(月) 21:56:04 ID:qB2Gxz8P]
追加です。
ping 66.249.89.99 -I eth0
とかすると、ソースアドレスはeth0のアドレスになってて問題なくpingは通ります。

702 名前:login:Penguin mailto:sage [2008/11/25(火) 01:17:36 ID:zZh6AovX]
・IPv4
・マルチホームホスト
・デフォルトゲートウェイ2つ
・ポリシールーティングなし
が条件かな?

この場合、
・ルーティングエントリは、送出先インターフェースに関連づけられる。
・IPアドレスは、インターフェースに関連づけられる(が、他のインターフェース経由で送出されても良い)
・IPアドレスとルーティングエントリを直接関連づける機構がない。
・2つのデフォルトゲートウェイのうちどちらが使われるかは、メトリックによって決まる。値が同じなら平等。
みたいなかんじ。

IPアドレスと同じサブネットにいるゲートウェイが必ず使われるという保証はない、と言う状況になると思う。

解決策は、今のようにSNATをかけるか、ポリシールーティングで厳密にルーティングを指定するか、だと思うが。

703 名前:700=544 mailto:sage [2008/11/25(火) 18:33:11 ID:+bzr+l5D]
>>702
レスサンクスです
ポリシールーティングなのかわからないんだけど
>>544にあるように、UIDによってルーティングテーブルを分けてます。
mainテーブルはeth1がデフォルトになってて、
一部のユーザーはテーブル2を見て、eth0に振られます。
>>700の現象が起きるのはそのユーザーのみです。後出しですいません。
tcpdump見てると、domainのみeth1のアドレスでまず送って、その後eth0のアドレスで送ってます。
>>544で言ってた遅さの原因は最初のDNS問い合わせがタイムアウトしてるからのようです。

>・IPアドレスは、インターフェースに関連づけられる(が、他のインターフェース経由で送出されても良い)
ここを厳密にインターフェースに関連付けられればいいんですけど、SNATしかないんでしょうか?

704 名前:700=544 mailto:sage [2008/11/25(火) 18:34:16 ID:+bzr+l5D]
ipコマンドの結果とiptablesの一部載せます
# ip rule list
0: from all lookup 255
100: from 192.168.0.102 lookup 2
101: from all fwmark 0xb lookup 2
32766: from all lookup main
32767: from all lookup default

# ip route show table 2
192.168.0.0/24 dev eth0 proto kernel scope link src 192.168.0.102
default via 192.168.0.1 dev eth0 src 192.168.0.102

# ip route show table main
192.168.0.0/24 dev eth0 proto kernel scope link src 192.168.0.102
211.4.228.0/24 dev eth1 proto kernel scope link src 211.4.228.10
default via 211.4.228.1 dev eth1

# iptables -L -t mangle
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
MARK all -- anywhere anywhere MARK set 0xa
MARK all -- anywhere anywhere OWNER UID match serv1 MARK set 0xb


705 名前:700 mailto:sage [2008/11/25(火) 19:15:43 ID:+bzr+l5D]
自分でも混乱してきたのでまとめ

table2を見てる特別ユーザーの場合
>>704の状態
ソースアドレスがeth1のアドレスになってしまって通信不可

>>704に加えてSNAT
基本的にソースアドレスはSNATで指定したアドレスになり通信できるが
DNSのみeth1のアドレスで問い合わせ後、SNAT指定のアドレスで問い合わせるので遅くなる。

706 名前:login:Penguin mailto:sage [2008/12/25(木) 14:38:37 ID:W3gIymfl]
>>666
亀ですんません
-i $INTIF取ってもダメでした
結局、-s ! $OREIPで凌いでます



707 名前:login:Penguin mailto:sage [2008/12/26(金) 00:11:11 ID:VXirjz6Y]
今さっき、単純なポリシールーティング(fwmark未使用)なら動いたけど・・・・
なんか、自分のよりずいぶんややこしいことやってるな


708 名前:700 mailto:sage [2008/12/26(金) 18:06:08 ID:ltPqHwfd]
やりたいことは単純で、ユーザー毎に使うネットワークを分けたいだけなんですけどね。
宛先のみでは分けれないので静的なルーティングでは実現できず、fwmark使うしか思いつかなかったんです。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<298KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef