Кто-нибудь здесь использует iptables
с 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
, но, похоже, это не сработало.
Возможно, у других есть лучшее решение?
Настройте его, чтобы разрешить все исходящие. А затем разрешить родственное / установленное как одно из первых правил.
Что-то вроде:
# 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
По моему опыту, если вы разрешаете весь исходящий трафик, вы можете совершать звонки, но вы не можете принимать звонки от других, если не открываете порт для входящих соединений.
В 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