UPnP в Linux, а точнее, в Debian или торрент/DC++ через роутер


Для того чтобы клиенты могли прозрачно открывать порты на шлюзе, был разработан набор протокол Universal Plug and Play (UPnP), например для того чтобы можно было раздавать торренты или DC++ через роутер. Сидя за роутером, к клиенту нет прямого подключения, поэтому для торрентов или DC++ приходится пробрасывать порты на роутере, что очень неудобно само по себе, а при наличие нескольких компьютеров превращаться в жуткий геморрой. Именно для избежание этого геморроя была придумана данная технология, с помощью этой технологии фаирвол по команде от приложения сам пробрасывает порты, совершенно прозрачно и для любого количества клиентов.

В Debian для этого существует пакет linux-igd

Установка:

aptitude install linux-igd

Настраиваем:

nano /etc/default/linux-igd

# Интерфейс смотрящий в интернет:

EXTIFACE=ppp0

# Интерфейс локальной сети:

INTIFACE=eth0

# Добавляем правила в iptables:

iptables -N UPNP
iptables -N UPNP iptables -A FORWARD -j UPNP

# Сохраняем правила в файл, и ставим файл в автозагрузку:

iptables-save >> ваш_файл_с_настройками_iptables

Запускаем upnpd:

/etc/init.d/linux-igd start

Перезапускаем, например, торрент или DC++ клиент с включенным UPnP и случайно генерированным входящим портом (к примеру 32366).

Делаем листинг работающих привил iptables с поиском этого порта:

iptables -S | grep 32366

И видим появившиеся правила:

-A FORWARD -d 192.168.0.10/32 -p tcp -m tcp --dport 32366 -j ACCEPT
-A PREROUTING -i ppp0 -p tcp -m tcp --dport 32366 -j DNAT --to-destination 192.168.0.10:32366

После закрытия программы, данные правила будут автоматически убраны, обеспечивая безопасность сети.

Смотрите так же:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.