The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Старый добрый divert natd, проброс портов - непонятки"
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"Старый добрый divert natd, проброс портов - непонятки"
Сообщение от robin zlobin Искать по авторуВ закладки on 07-Ноя-04, 02:45  (MSK)
Есть машина в локалке, скажем, 192.168.1.3, на ней ssh и httpd (22 & 80), надо организовать проброс снаружи до них. natd вызывается из rc.conf:

natd_enable="YES"
natd_interface="rl0"
natd_flags="-f /etc/natd.conf"


natd.conf содержит:

dynamic yes
use_sockets yes
same_ports yes
redirect_port tcp 192.168.1.3:80 8008
redirect_port tcp 192.168.1.3:22 2222


Наконец, правила ipfw для заворачивания пакетов в диверт:

ipfw add 51 divert natd ip from any to any 2222 via rl0
ipfw add 52 divert natd ip from 192.168.1.3 22 to any
ipfw add 53 divert natd ip from any to any 8080 via rl0
ipfw add 54 divert natd ip from  192.168.1.3 80 to any
ipfw add 55 allow ip from any to 192.168.1.3 22,80

Это все НЕ работает. Правится все до смешного легко:

(руками  запускаем)
natd -p 7777 -redirect_port tcp 192.168.1.3:22 2222 -n rl0
natd -p 8888 -redirect_port tcp 192.168.1.3:80 8080 -n rl0

ipfw add 51 divert 7777 ip from any to any 2222 via rl0
ipfw add 52 divert 7777 ip from 192.168.1.3 22 to any
ipfw add 53 divert 8888 ip from any to any 8080 via rl0
ipfw add 54 divert 8888 ip from  192.168.1.3 80 to any
ipfw add 55 allow ip from any to 192.168.1.3 22,80

То есть, делаю вывод я, обязательно нужен новый экземпляр natd на новом порту, для каждого проброса? Правильный ли вывод?
Это же жуттко неудобно =\
Нет, я понимаю, ipfw вообще не фонтан, но тут стоит уже 4.х фря, работает, и менять ее на obsd/fbsd5 влом...

  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "???"
Сообщение от robin zlobin Искать по авторуВ закладки on 08-Ноя-04, 23:26  (MSK)
у кого-нибудь вообще работет проброс, с прописанными  redirect_port в natd.conf line by line?
  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "???"
Сообщение от Victor emailИскать по авторуВ закладки(??) on 09-Ноя-04, 10:50  (MSK)
>у кого-нибудь вообще работет проброс, с прописанными  redirect_port в natd.conf line
>by line?


C натом я побился, побился и ничего у меня не вышло. Руки кривые :((

Сделал так для http и ftp :
( работает параллельно с натом. через нат ходят пользователи в интернет )

/sbin/kldload ipl
/sbin/ipnat -F -C -f /etc/ipnat.rules


Файл /etc/ipnat.rules :

# rl0 - external if - внешний интерфейс роутера
# rl1 - internal if - внутренний интерфейс роутера
# ex_ip - external ip - внешний адрес на роутере
# in_ip - internal ip -  внутренний адрес на роутере
# in_serv - адрес сервера во внутренней сети

map rl1 from 0/0 to in_serv/32 -> in_ip/32 proxy port ftp ftp/tcp
map rl1 from 0/0 to in_serv/32 -> in_ip/32

rdr rl0 ex_ip/32 port 80 -> in_serv port 80
rdr rl0 ex_ip/32 port 21 -> in_serv port 21
rdr rl0 ex_ip/32 port 20 -> in_serv port 20


  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "???"
Сообщение от robin zlobin Искать по авторуВ закладки on 09-Ноя-04, 11:57  (MSK)
вот-вот, раньше все в итоге переходили на ipf (для DNAT'a), теперь - на pf, но фишка в том, что ipfw/natd в прицнципе работает, как я описал, фигня в том, что он не пашет, когда указываешь natd redirect_port в конфиге (а не как параметр запуска), хотя в мане белым по черному написано:

A file should contain a list of options, one per line, in the same form as the long form of the above command line options.

А если пускать natd руками, то на каждый проброс нужен отдельный экземпляр демона на отдельном divert-порту. Это неудобно.
Вот и хотелось бы какого-нибудь олдскул-гуру послушать, фишка это или просто что-то делаем не так.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "???"
Сообщение от HeBe3yXa emailИскать по авторуВ закладки(ok) on 09-Ноя-04, 12:20  (MSK)
У меня вот тоже пару дней назад такой вопрос встал...
Я, правда, пока думал в сторону rinetd.
Но nat'ом вроде проще должно быть?

А вот попутно вопрос еще. Как сделать, чтоб при обращении к некой страничке, ну например abcd.efg.com (без указания порта :8080) запрос все равно редиректился на другой апач, в локалку? Это в конфиге апачей как-то можно сделать?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

7. "???"
Сообщение от robin zlobin Искать по авторуВ закладки on 10-Ноя-04, 02:18  (MSK)
>А вот попутно вопрос еще. Как сделать, чтоб при обращении к некой
>страничке, ну например abcd.efg.com (без указания порта :8080) запрос все равно
>редиректился на другой апач, в локалку? Это в конфиге апачей как-то
>можно сделать?

Не знаю, что такое rinetd. Думаю, надо делать встроенными ср-вами.
По поповоду апача - можно вроде с пом-ю mod_rewrite по условию редикектить бравсер на другой порт, а когда оно редиректнется - попадет под правило ната.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "Старый добрый divert natd, проброс портов - непонятки"
Сообщение от DustpaN Искать по авторуВ закладки on 09-Ноя-04, 12:49  (MSK)
natd.conf:
unregistered_only
same_ports
use_sockets
redirect_port tcp 192.168.1.3:80 8008
redirect_port tcp 192.168.1.3:22 2222

так на всякий случай напишу что файл должен заканчиваться новой строкой


достаточно
ipfw add 55 add allow tcp from any to ipкудапробрасываешь dst-port 8008

  Рекомендовать в FAQ | Cообщить модератору | Наверх

6. "Старый добрый divert natd, проброс портов - непонятки"
Сообщение от robin zlobin Искать по авторуВ закладки on 10-Ноя-04, 02:15  (MSK)
>natd.conf:
>unregistered_only
>same_ports
>use_sockets
>redirect_port tcp 192.168.1.3:80 8008
>redirect_port tcp 192.168.1.3:22 2222
>
>так на всякий случай напишу что файл должен заканчиваться новой строкой
>
>
>достаточно
>ipfw add 55 add allow tcp from any to ipкудапробрасываешь dst-port 8008
>

не работает. причем видно, что пакетов по указанному тобой правилу - ноль.
вот что в правилах:

00053     4      256 divert 8668 ip from 192.168.1.3 22,80 to any
00054     7      448 divert 8668 ip from any to any dst-port 2222,8080 via rl0
00055     0        0 allow ip from any to 192.168.1.3 dst-port 2222,8080
00065     2      128 allow ip from any to 192.168.1.3 dst-port 22,80

и в natd.conf:
unregistered_only
use_sockets
same_ports
redirect_port tcp 192.168.1.3:80 8080
redirect_port tcp 192.168.1.3:22 2222

  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру