Задача: поднять и настроить систему 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 у Вас на шлюзе работает.
Актуально для: Linux Debian 5+
Комментарии
Оставить комментарий
Компьютерные сети
Термины: Компьютерные сети