タグ付けされた質問 「iptables」

iptablesを使用すると、パケットフィルタリング動作を定義するルールを作成できます。

3
宛先ネットワークごとにトラフィックを別のゲートウェイにルーティングする
いくつかのゲートウェイがあり、宛先に基づいていくつかのトラフィックを異なるゲートウェイからルーティングしたいと考えています。iproute2とiptablesのルールを組み合わせて使用​​する必要があると思いますが、どこから始めればよいかわかりません。 誰かが例を提供できますか?

2
送信パケットを静かにドロップするにはどうすればよいですか?
作業中のアプリケーションのテストを行っています。発生する可能性のある障害モードを複製するために、送信UDPパケットを短時間、静かにドロップできる必要があります。 これを行う方法はありますか? 注:iptables DROP は送信メッセージに対してサイレントではありません!ときsend()または類似の呼び出しがで落とされiptables、それが返されますEPERMいくつかの奇妙な理由(参照のためにここに。私の目的地が離れて、単一のホップであるとして残念ながら、私はその答えを使用することはできません)。 xtables-addons 以前はSTEAL動詞がありましたが、数年前に削除されましたが、理由はわかりません。 私は今、ルーティングテーブルに偽のルートを使用してみましたが、残念ながら、それは破るために表示され、両方の COMMトラフィックの方向を。 私がする必要があるテストでは、私が持ってできるように、インバウンド UDPトラフィックを、そしてソースはまだそれらを送信しているかのようにすぐに私は、偽のルート、ストリーミング着信パケットただちに停止をインストールして。

1
NATがマシンのTCPおよびUDPポートプールからポートを予約しないのはなぜですか?
私は2つの実験を行いました。これは、両方のネットワークです。 [private network] [public network] A -------------------- R ----------------- B 192.168.0.5 192.168.0.1|192.0.2.1 192.0.2.8 AのデフォルトゲートウェイはRです。RにはIPv4転送がアクティブで、次のiptablesルールがあります。 iptables -t nat -A POSTROUTING -p TCP -j MASQUERADE --to-ports 50000 その意図は、Aからの TCPはすべて、Rのポート50000 を使用して192.0.2.1としてマスクされることです。 を使用して、Bのポート60000にTCPサービスを公開しましたnc -4l 192.0.2.8 60000。 次に、Aから接続を開きました。nc -4 192.0.2.8 60000 Aはこのように見えたパケットの送信を開始しました: 192.168.0.5:53269 -> 192.0.2.8:60000 Rはそれを 192.0.2.1:50000 -> 192.0.2.8:60000 ここまでは順調ですね。 私はその後に、次のクライアントを開こうとしたR:nc -4 192.0.2.8 60000 -p …

3
CenOS / RHEL7で再起動後にiptablesサービスを自動的に開始するにはどうすればよいですか?
私が準備している新しくインストールされたホームサーバーでいくつかの問題があります。CentOS7をインストールしましたが、デフォルトでポート80と443がオフになっています。したがって、次のコマンドを使用してそれらをiptablesに追加しました。 iptables -I INPUT 5 -i eth0 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT iptables -I INPUT 5 -i eth0 -p tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT service iptables save 存在しないiptableサービスもインストールしました。問題は、マシンをリブートするたびに新しい構成が消去されることです。 iptableサービスをchkconfigに追加しようとしましたが、次のエラーが発生しました。 [root@CentOS-7]# chkconfig --add iptables error reading information on service iptables: No such …

1
iptablesを使用して発信トラフィックポートを転送する
を使用してすべての発信トラフィックをポート80からポート8080に転送しようとしiptablesていますが、機能しませんでしたが、次のルールを試しました。 iptables -t nat -A OUTPUT -p tcp --dport 80 -j REDIRECT --to-port 8080 また、着信トラフィックについては、同じホストのポートをプロキシとして転送しないというルールが必要です。

4
ファイアウォールログでいっぱいになったdmesg
私のiptablesには、ドロップされたパケットをログに記録するルールがあります。 -A INPUT -i eth0 -j LOG --log-prefix "FW: " --log-level 7 -A INPUT -i eth0 -j DROP そして、/etc/rsyslog.confこれらのログを専用ファイルに送信する別のルールがあります/var/log/firewall.log。 :msg, contains, "FW: " -/var/log/firewall.log & ~ & ~彼らがあふれないようにすることを、すぐにログを削除しsyslogたり、他のログファイル。 これはうまくいきますが、dmesgそれらのファイアウォールログで溢れ/var/log/dmesgます(commandの出力ではありませんdmesg)。 これらのログが表示されるのを防ぐ方法はありdmesgますか?

2
ルールリストに「-A INPUT -j DROP」を追加すると、IPTABLESが遅くなる
私はiptablesを使い始めたばかりで、よくわからないものに出会いました。 ちなみに、私はUbuntu wikiのIptablesHowToの指示に従いました。 natテーブルとmangleテーブルは空です。現在、フィルターテーブルのみを使用しています。 問題 次のiptablesルールを追加すると、 iptables -A INPUT -p tcp --dport ssh -j ACCEPT iptables -A INPUT -j DROP ...その後も引き続きssh経由で自分のマシンにアクセスできますが、すべてのiptablesコマンドの実行には1〜2分かかります。これはDNSの問題で-nはなく、変更されません。 ソリューション テーブルをフラッシュし、代わりにこれらの3つのルールを追加すると、すべてが正常に機能します。 sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -p tcp --dport ssh -j ACCEPT iptables -A INPUT -j DROP 誰かが私に説明できますか、なぜ最初のルールがiptablesにそれほど大きな影響を与えるのですか?確立されたセッションがトラフィックを受信できることを理解していますが、sshが開いている場合になぜそれが必要なのですか?
8 iptables 

5
UDPユニキャストパケットをブロードキャストに変換しますか?
内部LAN上の一部のコンピューターをインターネットからウェイクアップする必要があります。 ある程度閉じたルーターがあり、構成方法はほとんどありません。 デーモンなどを必要としないため、これを行うためにnetfilter(iptables)を使用したいのですが、他のソリューションでも問題ありません。 私が考えていること: 外部コンピューターがWOL(Wake-On-LAN)パケットを(正しいMACが内部にある)パブリックIPアドレスに発行する ルーターで正しいポートが開いており(たとえば1234)、データをLinuxボックスにリダイレクトします。 Linuxボックスは、UDPユニキャストパケットをブロードキャストパケットに変換します(まったく同じ内容、宛先アドレスのみが255.255.255.255または192.168.0.255に変更されます) マルチキャストパケットがすべてのNICに到達し、目的のコンピューターが起動している そのため、非常に単純なnetfilterルールは次のとおりです。 iptables --table nat --append PREROUTING --in-interface eth+ --protocol udp --destination-port 1234 --jump DNAT --to-destination 192.168.0.255 ああnetfilterはブロードキャストへの変換を無視しているようです。192.168.0.255と255.255.255.255は何も与えません。また、192.168.0.0と0.0.0.0でテストしました。tcpdump を使用して何が起こるかを確認しました tcpdump -n dst port 1234 13:54:28.583556 IP www.xxx.yyy.zzz.43852 > 192.168.0.100.1234: UDP, length 102 。次のような2行目が必要です。 13:54:28.xxxxxx IP www.xxx.yyy.zzz.43852 > 192.168.0.255.1234: UDP, length 102 非マルチキャストアドレスにリダイレクトする場合は、すべて問題ありません。予想される2つの行があります。しかし、明らかにこれはWOLでは機能しません。 ブロードキャストパケットを発行するようにnetfilterに指示する方法はありますか? …

2
iptables -Fはすべてのiptablesルールを完全に削除しますか?
著者は、RHELトレーニングドキュメントで次のように述べています。 ...次のコマンドを実行して、現在のシステムのファイアウォールを無効にします。iptables -F 彼は明示的に「無効にする」という言葉を使用していますが、これは簡単に再度有効にすることができることを示唆しています。iptablesのmanページを読んでいると、これがわかります。 選択したチェーンをフラッシュします(何も指定されていない場合は、テーブル内のすべてのチェーン)。これは、すべてのルールを1つずつ削除することと同じです。 予想される動作を明確にすることはできますか?
8 rhel  iptables 

3
着信ACCEPTすべてのiptablesルールがまだ表示されている
私はこのガイドに従っています:http : //isalazyadmin.net/2009/07/02/configuring-a-basic-firewall-for-debian-linux/ リストにiptablesが表示されていますが、サーバーはすべての着信接続を受け入れているようです(つまり、これらのポートを許可していなくても、ビットトレントピアはまだ接続しています)。 /etc/iptables.rules *filter # This will allow all loopback (lo0) traffic and drop all traffic to 127/8 # that does not use lo0 -A INPUT -i lo -j ACCEPT -A INPUT ! -i lo -d 127.0.0.0/8 -j REJECT # This accepts all already established connections -A INPUT …

2
iptablesポートミラーリング
ポート8001からポート8002で受信したパケットのコピーを取得できるようにする必要があります。以下を試しましたが、-teeが未定義であるというエラーが表示されます。 sudo iptables -t nat -A PREROUTING -p TCP -s 127.0.0.1 --sport 8001 -j DNAT --to-destination 127.0.0.1:8002 --tee
8 linux  iptables  tcp 

1
XYアプリケーション/ユーザーのみを許可するiptables / pfルール?
たとえば、送信TCPポート80、eth0などのXYアプリケーションのみを許可するiptables / pfソリューションはないと思います。したがって、ユーザーIDが「500」の場合、他の通信をどのようにブロックできますか?次に、ポート80 / outbound / tcp / eth0で言及されている通信をブロックできますか?(例:privoxyがeth0でポート80を使用している) 追加:virtualboxもポート80を使用していますか?ゲストOSのブラウザーがサイトにアクセスしたとき。-通常のユーザーを設定すると、穴が多すぎます
8 iptables  firewall  pf 

2
ポート転送を実行するものを見つけるにはどうすればよいですか?
6か月前にAWS EC2サーバーの1つで何らかの方法でポート転送を設定しましたが、その方法を思い出せません。 Amazon Linuxインスタンスです。私はiptablesを使用したと思っていましたが、ルールテーブルには何でも表示されます。 $ sudo iptables -L Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination DOCKER-ISOLATION all -- anywhere anywhere DOCKER all -- anywhere anywhere ACCEPT all -- anywhere anywhere ctstate RELATED,ESTABLISHED ACCEPT all -- anywhere anywhere ACCEPT all …

3
Apache WebサーバーでのDoS攻撃の防止
これは、使用しているバージョンのApacheです-httpd-2.2.15-39.el6.centos.x86_64 最近、DoS攻撃のためにWebサイトがダウンしたため、iptablesの調査を開始し、DoS攻撃を防ぐためにそれを使用する方法を調べました。いくつかのフォーラムに出くわし、今理解しようとしている十分なルールがあります。単一のIPから作成される接続の数に上限を設けるために、クライアント(Webブラウザー)とサーバー(Webサーバー-httpd)間の通信を理解したかったのです。たとえば、Google Chromeで「www.mywebsite.com」にアクセスしてから、Webサイトのさまざまなページを調べ始めました。これで、クライアントとWebサーバー間でいくつの接続が確立されましたか。ウェブサーバーでnetstatを実行して確認しました。IP(chrome web browser)との接続が1つしか表示されません。いつもそうですか?クライアントとWebサーバー間で1つの接続のみが確立され、この1つの接続のみで通信が行われますか?この接続はどれくらい長く続きますか? 以下のルールを使用しても安全ですか? iptables -I INPUT -p tcp --dport 80 -i eth0 -m state --state NEW -m recent --set iptables -I INPUT -p tcp --dport 80 -i eth0 -m state --state NEW -m recent --update --seconds 60 --hitcount 10 -j DROP 上記の2つのルールは、自分のマシンからWebサーバーへの接続が非常に多くなるというシナリオのリスクを完全に排除します(1分あたり10接続を正当と見なしませんか?)。 次に、以下の2つのルールを検討します iptables -A INPUT -p …

1
サブネットのインターネットへのアクセスをブロックする
これが私のセットアップです。特定のサブネット(192.168.200.X)のインターネットへのアクセスをブロックしたい。内部Webサーバーにアクセスできるようにしたい。以下を追加してサブネットをブロックしようとしました: iptables -I INPUT -s 192.168.200.0/255.255.255.0 -j DROP しかし、それは機能していません。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.