На работе вожусь вторую неделю с биллингом и регулированием прав доступа для различных служб в интернет. Возникла проблема, пародоксальная можно сказать: все ищут способы как ЗАКРЫТЬ Skype доступ в интернет, а передо мной стал вопрос: как РАЗРЕШИТЬ Skype доуступ в интернет. Мда.
В поисках решения погуглил. Нашел такой экзотический способ как по полям пакета детектить наличие Skype траффика. Вот пример магии:
iptables -I FORWARD -p udp -m length --length 39 -m u32 --u32 '27&0x8f=7' --u32 '31=0x527c4833' -j DROP
Тут правда речь идет о блокировке, но, в общем, идея ясна.
Далее, Skype, как оказалось можно пустить через прокси (Squid), разрешив метод CONNECT на IP-адреса. Причем именно IP-адреса, а не имена хостов. Пример магии:
acl to_skype_ip url_regex ^[0-9]+<br/>.[0-9]+<br/>.[0-9]+<br/>.[0-9]+
http_access allow CONNECT to_skype_ip
Нужно, кроме этого, ещё разрешить стучаться на хост ui.skype.com - отсюда он берёт информацию о новых версиях.
Опять таки, для блокировки различных видов траффика, без привязки на конкретный порт, есть программный пакет L7-filter. Список протоколов которые детектит L7-filter.
Ну в конце этого разбирательства, дошел до такой чудной вики как Protocol Info WIKI, где собственно собирается информация по протоколам, думаю что в хозяйстве пригодиться, полезное руководство. Вот что на этой вики по поводу Skype говориться: http://www.protocolinfo.org/wiki/Skype