Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: Как открыть все порты udp только для одного ip  (Прочитано 11642 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Hmury

  • Автор темы
  • Новичок
  • *
  • Сообщений: 36
    • Просмотр профиля
Прошу сильно не пинать новичка, но вот такая проблема. Ubuntu-сервер, раздает интернет на много Винд-машин. Необходимо открыть все порты UDP только для одной из них. IP у всех машин постоянные. На убунте порты открываются в /etc/network/firewall - так и не понял, что это - встроенный файрволл или какая сторонняя утилита.
И второй момент - как вообще проверить, открылся ли порт? Если TCP - то понятно, телнетом, а вот как с UDP?

Оффлайн lega911

  • Участник
  • *
  • Сообщений: 203
    • Просмотр профиля
    • python & linux
Re: Как открыть все порты udp только для одного ip
« Ответ #1 : 19 Августа 2010, 19:47:29 »
открыть на вход из интернета (проброс в локалу)
или выход в инет из локалки?
или и то и то?

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28358
    • Просмотр профиля
Re: Как открыть все порты udp только для одного ip
« Ответ #2 : 19 Августа 2010, 20:06:25 »
Прошу сильно не пинать новичка, но вот такая проблема. Ubuntu-сервер, раздает интернет на много Винд-машин. Необходимо открыть все порты UDP только для одной из них. IP у всех машин постоянные. На убунте порты открываются в /etc/network/firewall - так и не понял, что это - встроенный файрволл или какая сторонняя утилита.
И второй момент - как вообще проверить, открылся ли порт? Если TCP - то понятно, телнетом, а вот как с UDP?

В каком направлении открывать порты?
Или, если совсем точно, какую задачу ты собираешься решать таким нетривиальным способом?

Проверять так же, как tcp - man netcat
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн Hmury

  • Автор темы
  • Новичок
  • *
  • Сообщений: 36
    • Просмотр профиля
Re: Как открыть все порты udp только для одного ip
« Ответ #3 : 20 Августа 2010, 09:02:00 »
В каком направлении открывать порты?
Или, если совсем точно, какую задачу ты собираешься решать таким нетривиальным способом?
Есть программка, которая при своей работе использует случайный udp-порт. Я так понимаю, что открывать надо в направлении "изнутри-наружу".
Кстати, вот кусочек из /etc/network/firewall, который вроде как раз связан с udp-портами:
$IPTABLES -N udp_packets
$IPTABLES -A udp_packets -s $LOCALNET -p udp -m udp --sport 138 --dport 138 -j ACCEPT
$IPTABLES -A udp_packets -s $LOCALNET -p udp -m udp --sport 137 --dport 137 -j ACCEPT
$IPTABLES -A udp_packets -p udp -m multiport --dports 53,67 -j ACCEPT
$IPTABLES -A udp_packets -j DROP
Ага, и только что понял, что /etc/network/firewall - это просто вручную написанный исполняемый скрипт, который добавляет эти самые правила...

Оффлайн MaratSh

  • Участник
  • *
  • Сообщений: 204
  • Всё пройдёт...
    • Просмотр профиля
Re: Как открыть все порты udp только для одного ip
« Ответ #4 : 20 Августа 2010, 09:51:38 »
Делаем всё по аналогии.
Чтобы разрешить UDP из локалки -> в интернет, добавляем одну строчку:
$IPTABLES -N udp_packets
$IPTABLES -A udp_packets -s IP-адрес -p udp -j ACCEPT
$IPTABLES -A udp_packets -s $LOCALNET -p udp -m udp --sport 138 --dport 138 -j ACCEPT
$IPTABLES -A udp_packets -s $LOCALNET -p udp -m udp --sport 137 --dport 137 -j ACCEPT
$IPTABLES -A udp_packets -p udp -m multiport --dports 53,67 -j ACCEPT
$IPTABLES -A udp_packets -j DROP

Вместо "IP-адрес" - пишешь адрес того компа, для которого нужно открыть все порты UDP.
« Последнее редактирование: 26 Августа 2010, 12:01:10 от MaratSh »

Оффлайн Hmury

  • Автор темы
  • Новичок
  • *
  • Сообщений: 36
    • Просмотр профиля
Re: Как открыть все порты udp только для одного ip
« Ответ #5 : 25 Августа 2010, 11:03:17 »
Так, а в продолжение темы - если все-таки надо и исходящие открыть?

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28358
    • Просмотр профиля
Re: Как открыть все порты udp только для одного ip
« Ответ #6 : 25 Августа 2010, 16:05:54 »
Так, а в продолжение темы - если все-таки надо и исходящие открыть?
Ты просто бред несёшь. Исходящие всегда открыты. Входящие установленных соединений и входящие, являющиеся ответами на исходящие, тоже всегда открыты.
Совсем случайным входящий порт быть не может - иначе программа не сможет ни с кем общаться.
Поставь задачу нормально (хотя бы что за программа - ссылку на описание настройки) - получишь нормальный ответ.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн Hmury

  • Автор темы
  • Новичок
  • *
  • Сообщений: 36
    • Просмотр профиля
Re: Как открыть все порты udp только для одного ip
« Ответ #7 : 26 Августа 2010, 11:57:57 »
Ну не знаю насчет бреда...
Программка, собственно, и не программка даже, а железка с выделенным для нее ip-шником, предназначена для ip-телефонии.
Для настройки нам дали программу (чтобы проверять, открылись ли нужные порты). Временно присвоили нужный ip компьютеру с этом программой. Так вот она утвеждает, что не может открыть udp...
Ребята из их техподдержки действительно утверждают, что их оборудование работает по случайному udp-порту, поэтому открывать надо все...
Но они не открываются после предложенных изменений.

Оффлайн MaratSh

  • Участник
  • *
  • Сообщений: 204
  • Всё пройдёт...
    • Просмотр профиля
Re: Как открыть все порты udp только для одного ip
« Ответ #8 : 26 Августа 2010, 12:02:41 »
Но они не открываются после предложенных изменений.
Выложи по человечески весь конфиг iptables!

Оффлайн Hmury

  • Автор темы
  • Новичок
  • *
  • Сообщений: 36
    • Просмотр профиля
Re: Как открыть все порты udp только для одного ip
« Ответ #9 : 26 Августа 2010, 12:14:32 »
Глупый вопрос, но где он лежит? )
(iptables пока вообще руки не  доходят освоить, поэтому вообще без понятия)

Оффлайн djrust

  • Активист
  • *
  • Сообщений: 861
    • Просмотр профиля
Re: Как открыть все порты udp только для одного ip
« Ответ #10 : 26 Августа 2010, 12:28:10 »
в терминале
sudo iptables-save

потом сюда под спойлер

Оффлайн MaratSh

  • Участник
  • *
  • Сообщений: 204
  • Всё пройдёт...
    • Просмотр профиля
Re: Как открыть все порты udp только для одного ip
« Ответ #11 : 26 Августа 2010, 12:34:23 »
Кстати, вот кусочек из /etc/network/firewall, который вроде как раз связан с udp-портами:

Ага, и только что понял, что /etc/network/firewall - это просто вручную написанный исполняемый скрипт, который добавляет эти самые правила...

Амнезия?

Оффлайн Hmury

  • Автор темы
  • Новичок
  • *
  • Сообщений: 36
    • Просмотр профиля
Re: Как открыть все порты udp только для одного ip
« Ответ #12 : 26 Августа 2010, 12:43:42 »
Содержимое того самого скрипта:
(Нажмите, чтобы показать/скрыть)
Насчет iptables-save - сейчас попробую, но там есть проблемка - к серверу только ssh-доступ из консоли, буфер обмена не работает. А как сохранить ее вывод в файл - без понятия...

Оффлайн MaratSh

  • Участник
  • *
  • Сообщений: 204
  • Всё пройдёт...
    • Просмотр профиля
Re: Как открыть все порты udp только для одного ip
« Ответ #13 : 26 Августа 2010, 13:42:41 »
В цепочке FORWARD нет разрешающего правила для udp.

Пользователь решил продолжить мысль 26 Августа 2010, 14:16:57:
такого:
$IPTABLES -A FORWARD -s IP-адрес -p udp -j ACCEPT
« Последнее редактирование: 26 Августа 2010, 14:16:57 от MaratSh »

Оффлайн Hmury

  • Автор темы
  • Новичок
  • *
  • Сообщений: 36
    • Просмотр профиля
Re: Как открыть все порты udp только для одного ip
« Ответ #14 : 26 Августа 2010, 14:26:59 »
Ой. Прошу прощения, оно было. Точнее есть. Просто этот конфиг сохранил до изменений еще. А сейчас она там есть:
$IPTABLES -A udp_packets -s 192.168.0.215 -p udp -m udp -j ACCEPT

 

Страница сгенерирована за 0.049 секунд. Запросов: 23.