Блог ИТ склеротика. Настраиваем UPnP в iptables в Debian Linux

Страницы

Расширенный поиск в статьях блога

16 марта 2012 г.

Настраиваем UPnP в iptables в Debian Linux

Задача: поднять и настроить систему UPnP на базе iptables в Linux Debian, дабы автоматически добавлялись для пользователей внутренней сети порты, разрешенные на выход во-вне. Например, для софта с динамическими портами.
Таким видом деятельности занимается технология UPnP, которую мы сейчас реализуем на базе файервола де-факто в Linux - iptables.

1) Ставим нужный пакет

$ sudo aptitude install linux-igd

2) Настраиваем демона
Идем в /etc/default/ и открываем на редактирование файл linux-igd.
В нем ищем строчки: EXTIFACE и INTIFACE и подставляем необходимые значения.

EXTIFACE = eth1
INTIFACE = eth0

В данном примере у нас eth1 - это "дырка" в интернет, а "eth0" - это локальная сеть за файерволом (серая сеть).
Если эти параметры не указать - демон не запустится.
Смотрим дальше в файл и настраиваем по своим хотелкам, если нужно.
3) Добавляем вот такие правила в iptables:

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

4) Теперь запускаем демона

$ sudo /etc/init.d/linux-igd start

5) Отсюда все должно начать работать.
Так-же не забываем, что софт, который ломится через Ваш настроенный с UPnP файервол, так-же должен понимать UPnP и эта опция в программе должна быть включена.
Проверка
Теперь поиграйтесь с программой, которая ломится наружу и при этом задействует UPnP. После чего поглядите в правила файервола - Вы увидите динамически добавившиеся пункты:

-A FORWARD -d 192.168.0.70/32 -p tcp -m tcp --dport 12345 -j ACCEPT
-A PREROUTING -i eth1 -p tcp -m tcp --dport 12345 -j DNAT --to-destination 192.168.0.70:12345

Если пункты добавляеются для внутренних адресов - все в порядке, UPnP у Вас на шлюзе работает.

.

Счетчик тИЦ и PR Яндекс.Метрика Msn bot last visit powered by MyPagerank.NetYahoo bot last visit powered by MyPagerank.Net ping fast  my blog, website, or RSS feed for Free