イカプロキシシステムのiptablesルール

イカプロキシシステムのiptablesルール

私はWebブラウザを使用して、私が所有しているイカプロキシサーバーを介してインターネットに接続します。プロキシポートは3128です。プロキシサーバーを実行しているシステムの他のポートをロックしたいのですが、私のルールはiptablesプロキシを完全にシャットダウンします。次のルールが機能します。

iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP
# other rules here for web access, dns, etc
iptables -A INPUT -p tcp -s "$my_pc_ip" -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp -d "$my_pc_ip" -m state --state ESTABLISHED -j ACCEPT

しかし、明らかに、ここではポートが指定されていないため、目的には適合しません。ただし、プロキシポートに指定すると、Webブラウザのプロキシを介してインターネットにアクセスできなくなります。

iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP
# other rules here for web access, dns, etc
iptables -A INPUT -p tcp -s "$my_pc_ip" --sport 3128 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp -d "$my_pc_ip" --dport 3128 -m state --state ESTABLISHED -j ACCEPT

2番目のルールセットが機能しないのはなぜですか?

答え1

ファイアウォールルールでdportの代わりにsportを使用しているか、その逆の場合のようです。それが必要です:

iptables -A enter -p tcp -s "$my_pc_ip" --dport 3128 -m state --state 新規、設定済み -j accept

iptables -A 出力 -p tcp -d "$my_pc_ip" --sport 3128 -m 状態 --ステータス設定 -j を受け入れる

ルールはプロキシサーバーにあるため、INPUTチェーンでは、パケットはプロキシが実行されているポートであるdportと一致する必要があり、同様にOUTPUTチェーンではパケットが開始されたスポーツと一致する必要があります。

関連情報