iptables 和 skype

iptables 和 skype

这里有没有人使用iptableswith skype?到目前为止,我能够让它工作的唯一方法是允许所有高端口 - 类似于

iptables -A OUTPUT -p UDP --dport 1024:65535 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 1024:65535 -j ACCEPT
iptables -A INPUT -p UDP --dport 1024:65535 -j ACCEPT
iptables -A INPUT -p tcp --dport 1024:65535 -j ACCEPT

这显然不太理想。据我所知,问题是端口的skype使用有些随机。我希望可以通过使用setuid或来允许应用程序级防火墙setguid,例如

sudo addgroup skypeGrp
sudo usermod theUser -G skypeGrp
sudo chgrp skypeGrp /usr/bin/skype
chmod g+s /usr/bin/skype
iptables -A OUTPUT -m owner --gid-owner skypeGrp -j ACCEPT 

但这似乎不起作用。

也许其他人有更好的解决方案?

答案1

将其设置为允许所有出站。然后允许相关/已建立作为第一条规则之一。

就像是:

# Accept loopback & established/related connections
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

# Drop invalid on tcp
iptables -A INPUT -p tcp -m conntrack --ctstate INVALID -j DROP

# Set default DROP policy
iptables -P INPUT DROP
iptables -P FORWARD DROP

# But allow everything out
iptables -P OUTPUT ACCEPT

# Now set what you want to allow in.

# e.g. SSH in
iptables -A INPUT -p tcp --dport 22 -j ACCEPT

答案2

根据我的经验,如果您允许所有传出流量,您可以拨打电话,但您不能接听其他人的电话,除非您打开用于传入连接的端口。

在 Skype 4.2.0.11 中转到

Skype > 选项 > 高级 > 连接

您可以决定 skype 使用哪个端口。默认情况下为 7004。

我认为您需要同时允许 tcp 和 udp。

iptables -A INPUT -p tcp --dport 7004 -j ACCEPT
iptables -A INPUT -p udp --dport 7004 -j ACCEPT

相关内容