Это накой для банальных трех строчек пробрасывать порты?
echo 1 > /proc/sys/net/ipv4/ip_forward
for f in /proc/sys/net/ipv4/conf/*/rp_filter ; do echo 1 > $f ; done
iptables -t nat -A POSTROUTING -j MASQUERADE
Все-таки, похоже, эта поделка пока еще не настолько умная.
Вообще, чужой траффик в сети Скайп перекачивается через т.н. super nodes. У этих супер-узлов глобально маршрутизируемые IP и более-меннее толстый канал в интернет. ~2 Мбит, по мнению скайп-клиента, — это толстый канал. Глобально маршрутизируемые IP-адреса нужны для того, чтобы со скаайп-клиентом, запущенном на супер-узле, можно было установить соединение. Устанавливать соединение будут скайп-клиенты пользователей, сидящих за НАТом, с одной стороны, и клиенты пользователей, которым нужно «дозвониться» до сидящих за НАТом, с другой.
Т.е., ключевой момент здесь — это возможность установки соединения с супер-нодом. Если в роутере, осуществляющем НАТ, не сделан проброс портов, то, получается, что можно быть вообще спокойным — соединиться «снаружи» с машиной за НАТом невозможно, если только я не пропустил что-то в своем образовании.
Если проброс портов тем или иным способом сделан, то с машиной за НАТом соединиться можно, и скайп-клиент, теоретически, этой возможностью может воспользоваться. Только ему для провозглашения себя супер-узлом надо будет знать IP-адрес машины, с которой надо устанавливать соединение, плюс номер порта. Для того, чтобы это заработало, нужно сообщить скайп-сети IP-адрес роутера, осуществляющего НАТ (и номер порта, конечно). Так вот, судя по написанному здесь: http://saikat.guha.cc/pub/iptps06-skype/ (Раздел 2, Skype Overview, последний абзац, Expt. 2), _на момент написания той статьи_ скайп-клиент не определял IP-адрес роутера, транслирующего адреса.