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

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

2
コマンドライン経由で対話するのではなく、ファイルを編集することでiptablesルールを変更する方法は?
履歴では、ファイルを編集してから サーバー全体を再起動します。 ポート22が開いている行をクローン して80に変更し、ファイルを保存します。そして 、システム全体を再起動して、iptablesがポート80を開いて起動するようにします。 しかし最近では..そのファイルは 私のcentos 6.5 OSにはもう存在していません Googleのほとんどの回答は、 ポートを有効または無効にするためにiptables と対話する必要があることを示唆しています。 iptablesと対話せず、むしろ あなたの前のすべてを1つの編集可能なファイルとして見ることは可能ですか?
27 centos  iptables 


4
宛先ポートに基づいて異なるインターフェイスで出力トラフィック
私の質問は基本的に特定のインターフェースで特定のアウトバウンドトラフィックのみを許可すると同じです。 2つのインターフェイスeth1(10.0.0.2)とwlan0(192.168.0.2)があります。私のデフォルトのルートはですeth1。すべてのhttps-trafficを通過させたいとしましょうwlan0。ここで、他の質問で提案されたソリューションを使用すると、httpsトラフィックは通過しますwlan0が、送信元アドレスはeth1(10.0.0.2)のままです。このアドレスはwlan0ゲートウェイにルーティングできないため、回答が返されることはありません。簡単な方法は、アプリケーションでbind-addrを適切に設定することですが、この場合は適用できません。 私はsrc-addrを書き換える必要があると考えています: # first mark it so that iproute can route it through wlan0 iptables -A OUTPUT -t mangle -o eth1 -p tcp --dport 443 -j MARK --set-mark 1 # now rewrite the src-addr iptables -A POSTROUTING -t nat -o wlan0 -p tcp --dport 443 -j SNAT --to 192.168.0.2 …

1
netfilter / iptables:生のテーブルを使用しないのはなぜですか?
Linuxでは、通常、「filter」テーブルを使用して一般的なフィルタリングを行います。 iptables --table filter --append INPUT --source 1.2.3.4 --jump DROP iptables --table filter --append INPUT --in-interface lo --jump ACCEPT 以下のnetfilterのフローチャートによると、パケットは最初に「生の」テーブルを通過します。 だから私たちは書くことができます: iptables --table raw --append PREROUTING --source 1.2.3.4 --jump DROP iptables --table raw --append PREROUTING --in-interface lo --jump ACCEPT パケットはconntrack + mangle + nat + routingを経由する必要なく、より早く処理されます。使用されるCPU /メモリがわずかに少ない(そしてiptable_rawモジュールをロードしなければならないという事実によってわずかに補正される) フィルター/転送に同じルールを追加する必要がないため、ボックスがルーターでもある場合のルールは1つだけです(すべてのルールで問題ないことは明らかです) 私は迅速なテストのみを行いましたが、これは完璧に機能します。 私が見つけたドキュメントでは、厳密な場合に使用される生のテーブルについて常に説明しています。しかし、最小の正当化さえも与えません。 …
22 linux  iptables 

1
iptablesのテーブルとチェーンの走査方法
Linuxには3つの組み込みテーブルがあり、それぞれに次のような独自のチェーンがあります。 フィルター:事前、事前、事後 NAT:事前ルーティング、入力、出力、ポストルーティング MANGLE:事前ルーティング、入力、転送、出力、ポストルーティング しかし、もしあれば、どの順序でどのようにトラバースされるのか理解できません。たとえば、次の場合にどのようにトラバースされますか? 同じローカルネットワークのPCにパケットを送信します 別のネットワークのPCにパケットを送信するとき ゲートウェイがパケットを受信し、それを転送する必要がある場合 自分宛のパケットを受け取ったとき その他の場合(ある場合)

2
iptablesのOUTPUTチェーンとFORWARDチェーンの違いは何ですか?
CentOS 6.0 私はiptablesを研究していますが、FORWARDチェーンとOUTPUTチェーンの違いについて混乱しています。私のトレーニング文書では、次のように述べています: チェーンに追加する(-A)か、チェーンから削除する(-D)場合は、次の3つの方向のいずれかに移動するネットワークデータに適用します。 INPUT-すべての着信パケットがこのチェーンのルールに対してチェックされます。 出力-すべての発信パケットは、このチェーンのルールに対してチェックされます。 FORWARD-別のコンピューターに送信されるすべてのパケットは、このチェーンのルールに対してチェックされます。 私の頭の中では、ホスト宛てのパケットが送信されるので、これは私を混乱させます。だから、パケットが別のコンピューターに行くが「発信」しないシナリオはありますか?iptablesはこの2つをどのように区別しますか?
22 linux  iptables 

5
DNSルックアップIPおよびポートをリダイレクトするためのiptables
ISP(verizon)がポート53ですべてのDNSトラフィックをインターセプトしていることを発見しました。 iptablesを使用して、すべてのDNSルックアップトラフィックを特定のIPとポート(5353)にリダイレクトします。コンピューターがポート53で別のコンピューターに接続しようとすると、23.226.230.72:5353にリダイレクトされます。 使用しようとしているDNSサーバーとポートを確認するために、このコマンドを実行しました。 ~$ dig +short serverfault.com @23.226.230.72 -p5353 198.252.206.16 これは私が使用しようとしているiptablesルールです。 iptables -t nat -A OUTPUT -p udp -m udp --dport 53 -j DNAT --to-destination 23.226.230.72:5353 そのルールを追加した後、すべてのDNSルックアップが見つかりません。ウェブサイトのpingが戻りunknown hostます。Webページには「サーバーが見つかりません」と表示されます。 ~$ mtr serverfault.com Failed to resolve host: Name or service not known DNSを検索して23.226.230.72:5353からプルするようにします。iptablesルールを機能させるにはどうすればよいですか? 編集 ISPによるDNS(ポート53)インターセプトのデモ。digから23.226.230.72までのポート5353、次にポート53を介して出力をトレースします。 ~$ dig +trace stackexchange.com @23.226.230.72 -p5353 ; …
21 iptables  dns 

4
ポートをVPNクライアントに転送しますか?
私はちょっとしたパズルに遭遇しましたが、解決策を見つけることができませんでした。現在、私はVerizon 3Gを介して(悲しいことに)ネットに接続しています。すべての着信トラフィックをフィルタリングするため、ポートを開いて接続を受け入れることはできません。 現在、linode.comにLinux仮想マシンがあり、ポートフォワーディングをインストールpptpdして実行しようと考えましたiptables。私はpptpdインストールしました、そして、私のマシンは幸せに接続します。とはいえ、ここにいくつかの一般的な情報があります: サーバー(Debian)WAN IP:eth0のxxxx-pptpd IP:ppp0のyyy1-クライアントVPN IP:yyy100 気が狂っていないことを確認するために、サーバーからクライアントの開いているポートへの接続を試みましたが、クライアントはVPN IP経由で接続を受け入れます。 私が達成したいのはこれです: インターネット-> WAN IP:ポート->クライアントVPN IP:ポートに転送 たとえば、クライアントでポート6000を開いている場合、人がxxxx:6000にtelnetで接続でき、サーバーはそれをキャッチして192.168.3.100:6000に転送します。 少なくとも20種類のGoogledのiptables設定を試しましたが、まだ機能していません。誰もアイデアを持っていますか、おそらく私が知らないかもしれないまったく異なるアプローチもありますか?ここでの目標は、恐ろしくファイアウォールで保護された接続、できればTCPトラフィックとUDPトラフィックの両方をリッスンすることです。

2
(/ etc / sysconfig / iptables)「このファイルを手動でカスタマイズすることはお勧めしません。」なぜですか?
このファイルを直接編集する /etc/sysconfig/iptables 頭痛や時間の節約になります... それでも、ファイルの一番上には、 Manual customization of this file is not recommended. これは、新しいcentos 6.4クラウドサーバーに付属した「/ etc / sysconfig / iptables」です。 # Firewall configuration written by system-config-firewall # Manual customization of this file is not recommended. *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] -A INPUT -m state --state ESTABLISHED,RELATED …

3
ローカルでiptablesを使用してアウトバウンドトラフィックをポート80にリダイレクトするにはどうすればよいですか?
を使用して、Ubuntuマシンのポートをローカルにリダイレクトしようとしていますiptables。透過プロキシに似ています。システムをポート80のままにして、リモートホストとポートにリダイレクトしようとするものをキャッチしたい。 NATおよび事前ルーティング機能を使用してこれを実現できますiptablesか?

2
tunネットワークインターフェースの目的は何ですか?
ifconfigを実行すると、tun0と呼ばれるネットワークインターフェイスがあり、ipv4アドレスがあることに気付きました。少しの調査では、それがトンネリングデバイスであることが示されていますが、どのように使用されているのか、何を使用しているのか、なぜIPアドレスを持っているのかはわかりません。 iptablesを有効にしていますが、iptablesとtunの間に何らかのリンクがあるようです。

2
プロセスごとのファイアウォール?
私は読んでいますが、プロセスごとのファイアウォールルールを作成する方法を見つけることができないようです。私は知ってiptables --uid-ownerいますが、それは発信トラフィックに対してのみ機能します。私はスクリプティングnetstatを検討しましたiptablesが、プロセスが短い時間枠でのみアクティブである場合、スクリプトはそれを逃す可能性があるため、これは非常に非効率的なようです。基本的に、他のプロセスに影響を与えずに、プロセスのポートとdstに関する特定の制限を適用したいと思います。何か案は? 参考のために、selinuxはまさにこれを行うことができ、かなりうまく機能します。ただし、セットアップは少し面倒です。

4
ローカルネットワーク接続のみを受け入れるようにいくつかのファイアウォールポートを設定しますか?
LANのシステムにファイアウォールを設定して、一部のポートが外部からではなくローカルエリアネットワークからの接続に対してのみ開かれるようにするにはどうすればよいですか? たとえば、Scientific Linux 6.1(RHELベースのディストリビューション)を実行しているボックスがあり、そのSSHサーバーがローカルホストまたはLANからの接続のみを受け入れるようにします。どうすればいいですか?
18 ssh  iptables  firewall 

1
透過的なSOCKSプロキシはどの宛先IPを使用するかをどのように知るのですか?
発信TCP接続の透過プロキシをサポートするSOCKSプロキシには、Torとredsocksの 2つがあります。HTTPプロキシとは異なり、これらのSOCKSプロキシは、暗号化されたプロトコルやメタデータやヘッダーのないプロトコルなど、発信TCP接続を透過的にプロキシできます。 これらのプロキシは両方とも、NATを使用して発信TCPトラフィックをプロキシのローカルポートにリダイレクトする必要があります。たとえばTransPort 9040、ローカルマシンでTorを実行している場合、次のようなiptablesルールを追加する必要があります。 iptables -t nat -A OUTPUT -p tcp -j REDIRECT --to-port 9040 私の知る限り、これは元の宛先IPとポートを127.0.0.1と9040に置き換えます。これが暗号化されたストリーム(SSHなど)またはヘッダーのないストリーム(whoisなど)である場合、プロキシは元の宛先IPとポートをどのように知っていますか?
18 iptables  proxy  socks  tor 


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.