Squid が Web サーバーに接続できるようにする iptables ルールは次のとおりです。
# Accept internally-requested input
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
#http,https traffic only through Squid - nobody user
iptables -A OUTPUT -p tcp -m multiport --dports 80,443 \
-m state -m owner --uid-owner nobody --state NEW,ESTABLISHED -j ACCEPT
Squid自体はlocalhostのポート3128でリッスンしています。 Skypeオプションでイカプロキシを使用し、着信接続にポート58215を使用するように指示しました。 Skypeに次の行を追加しました。
#skype incoming connections
iptables -A INPUT -p udp --dport 58215 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp --dport 58215 -m state --state NEW,ESTABLISHED -j ACCEPT
しかし、それはうまくいきませんでした。
その後、ファイアウォールをオフにします。
iptables -P OUTPUT ACCEPT
iptables -P INPUT ACCEPT
Skypeが機能し始めます。だから、どのポートを使用しているかを確認しました。
# netstat -a -ptcp | grep skype
tcp 0 0 *:58215 *:* LISTEN 2944/skype
tcp 0 0 pc.home.org:56369 157.55.130.140:40031 ESTABLISHED 2944/skype
tcp 0 0 pc.home.org:54316 db3msgr5011307.ga:https ESTABLISHED 2944/skype
tcp 0 0 pc.home.org:34778 193.120.199.14:12350 ESTABLISHED 2944/skype
# netstat -a -pudp | grep skype
udp 0 0 *:58215 *:* 2944/skype
udp 0 0 localhost:42865 *:* 2944/skype
ただし、制限的なポリシーを設定すると、次のようになります。
iptables -P OUTPUT DROP
iptables -P INPUT DROP
Skypeが動作を停止しました。動作させるにはどうすればよいですか?
答え1
SkypeがSOCKSまたはHTTPSプロキシを使用しているようです。イカも同じだ。受信接続の場合は、Skype設定で指定されたポートを使用してPCの受信接続をNATする必要があります。発信接続の場合は、PCが使用する一時ポートを開く必要があります。
Skypeは保護された環境では良い市民ではありません。ファイアウォールがそれをサポートしている場合、upnp
Skypeはそれを使用してダメージを最小限に抑えることができます。
私は私の結果を文書化しました。ファイアウォール Google Chat と Skype。