Squid가 웹 서버에 연결하도록 허용하는 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.