Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Операционные системы > Linux (Ubuntu, Debian, Red Hat, CentOS, Mint)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.09.2016, 23:25   #1
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию Ubuntu, iptables, проброс UDP(двухсторонний)

возвращаюсь к старой теме проброса портов через iptables.
TCP работает, UDP на в одну сторону тоже работает.
остается правильно сделать ответный UDP.

и вот тут я туплю, вроде и осознаю что надо...но не могу понять как.
сейчас грубо говоря идет проброс так:
iptables -D FORWARD -p $1 -i eth0 --dport $3 -j ACCEPT
iptables -t nat -D PREROUTING -p $1 -i eth0 --dport $2 -j DNAT --to 10.13.13.130:$3

$1 протокол
$2 входящий порт
$3 порт на целевой машине(на случае необходимости замены)

все адреса фиксированные так что тут проблемы не будет.
полагаю нужен SNAT еще(ведь UDP в ответ идет на источник)...но тогда нужно и обратно разворачивать пакет.

в общем, может знает кто?

заранее спасибо.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 26.09.2016, 23:49   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

допер,
пока поставил так.
iptables -t nat -I POSTROUTING -d 10.13.13.130 -j MASQUERADE
потом ограничу на порт отдельно(на всяк)

PS: принцип уточки работает
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 27.09.2016, 00:17   #3
Pavia
Лис
Старожил
 
Аватар для Pavia
 
Регистрация: 18.09.2015
Сообщений: 2,409
По умолчанию

Можно MASQUERADE и SNAT использовать.

MASQUERADE - автоматически создаёт правило для трансляции в обе стороны. Правило создаётся при первом вхождении и живёт некоторое время.

DNAT - подменяем адрес назначения.
SNAT - подменяет адрес источника.

Рассмотрим цепочку.
DMZ.Server - router - Internet.Clien

При входящем соединение мы должны подменить адрес назначения с IP роутера на IP серевра. Т.е. DNAT.
При ответе на сервере, адрес назначение и адрес источника меняются местами.
Соответственно мы должны подменить адрес источника, который соответствует IP адресу сервера на IP роутера. SNAT

Для DNAT подмену делать это надо в PREROUTING иначе роутер не поймёт куда отправить пакет.
Для SNAT и MASQUERADE подмену делаем в POSTROUTING - требование разработчиков.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал .
Pavia вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проброс портов Newit12 Компьютерное железо 3 25.11.2014 21:08
Ubuntu, Ubuntu server на виртуалке - нет доступа извне yaapelsinko Linux (Ubuntu, Debian, Red Hat, CentOS, Mint) 3 14.11.2012 09:36
Создание локальной и интернет сети BT-BT UBUNTU 9.10-UBUNTU 9.10 Alex Cones Компьютерное железо 4 14.03.2010 15:26