Skypeを許可するようにiptablesルールを設定する方法

Skypeを許可するようにiptablesルールを設定する方法

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は保護された環境では良い市民ではありません。ファイアウォールがそれをサポートしている場合、upnpSkypeはそれを使用してダメージを最小限に抑えることができます。

私は私の結果を文書化しました。ファイアウォール Google Chat と Skype

関連情報