The OpenNET Project / Index page

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

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

"прокидывание пакетов на внутреннюю машину через NAT во FreeB..."
Сообщение от anton Искать по авторуВ закладки on 03-Июн-03, 04:04  (MSK)
Знаю тема уже поднималоась но....
схема такая:
[192.168.1.2:80] <-> [NAT] <-> inet

надо - перекидывать пакеты, идущие снаружи на шлюз (NAT), скажем, порт  8080, на машину внутри LAN  с адресом 192.168.1.2, порт 80. То есть внутренний вебсервер "прокидываю" наружу.

Делаю:

#кидаю в диверт 8888 все что идет на шлюз порт 8080
ipfw add divert 8888 tcp from any to me 8080 via tun0
# кидаю в диверт 8888 все что идет с внутреннего вебсервера наружу
ipfw add divert 8888 tcp from 192.168.1.2 80 to any via tun0
# собстно нат -берет и шлет пакеты в дивет порт 8888, редиректит на внутреннюю машину все что идет к нему на порт 8080 с внешнего ифейса
natd -p 8888 -n tun0 -redirect_port tcp 192.168.1.2:80 8080

и это НЕ работает.
причем второе правило (судя по счетчикам) явно лишнее - ему не удовлетвояет ни один пакет.

есть соображения где грабли?

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

 Оглавление

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

1. "прокидывание пакетов на внутреннюю машину через NAT во FreeB..."
Сообщение от Mikhail Искать по авторуВ закладки on 03-Июн-03, 12:14  (MSK)
http://www.opennet.me/tips/sml/63.shtml
  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "прокидывание пакетов на внутреннюю машину через NAT во FreeB..."
Сообщение от globus emailИскать по авторуВ закладки on 03-Июн-03, 12:17  (MSK)
вот вариан попроще -redirect_port
смотри man natd
  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "прокидывание пакетов на внутреннюю машину через NAT во FreeB..."
Сообщение от anton Искать по авторуВ закладки on 03-Июн-03, 21:49  (MSK)
>вот вариан попроще -redirect_port
>смотри man natd


доку на опеннет смотрел - по ней собстно и делал. О чем и доложил выше.
попробовал все убрать - только natd -p 8888 -n tun0 -redirect_port tcp 192.168.1.1:80 8080. ну и инкаминг 8080 открыл ессно....
И ничего...

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

4. "прокидывание пакетов на внутреннюю машину через NAT во FreeB..."
Сообщение от gennady emailИскать по авторуВ закладки on 04-Июн-03, 00:33  (MSK)
>>вот вариан попроще -redirect_port
>>смотри man natd
>
>
>доку на опеннет смотрел - по ней собстно и делал. О чем
>и доложил выше.
>попробовал все убрать - только natd -p 8888 -n tun0 -redirect_port tcp
>192.168.1.1:80 8080. ну и инкаминг 8080 открыл ессно....
>И ничего...

Отрывок из мануала natd:
This program provides a Network Address Translation facility for use with
divert(4) sockets under FreeBSD.  It is intended for use with NICs - if
you want to do NAT on a PPP link, use the -nat switch to ppp(8).

Отрывок из мануала ppp:
NETWORK ADDRESS TRANSLATION (PACKET ALIASING)
The -nat command line option enables network address translation (a.k.a.
packet aliasing).  This allows the ppp host to act as a masquerading
gateway for other computers over a local area network.  Outgoing IP packets are NAT'd so that they appear to come from the ppp host, and incoming packets are de-NAT'd so that they are routed to the correct machine on the local area network.  NAT allows computers on private, unregistered subnets to have Internet access, although they are invisible from the outside world.  In general, correct ppp operation should first be verified with network address translation disabled.  Then, the -nat
option should be switched on, and network applications (web browser, telnet(1), ftp(1), ping(8), traceroute(8)) should be checked on the ppp host. Finally, the same or similar applications should be checked on other computers in the LAN.  If network applications work correctly on the ppp host, but not on other machines in the LAN, then the masquerading softare is working properly, but the host is either not forwarding or possibly receiving IP packets.  Check that IP forwarding is enabled in
/etc/rc.conf and that other machines have designated the ppp host as the
gateway for the LAN.

Т.е. натить нужно средствами самого ppp, а не с помощью natd+ipfw.
man ppp

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

5. "прокидывание пакетов на внутреннюю машину через NAT во FreeB..."
Сообщение от anton Искать по авторуВ закладки on 04-Июн-03, 02:14  (MSK)

>Т.е. натить нужно средствами самого ppp, а не с помощью natd+ipfw.
>man ppp

да, но в этих отрывках говорится про НАТ вообще, чтобы скрывать всю локалку за шлюзом и ходить в инет машинам из приватной сети. Но у меня через модем на шлюзе машины ходят в инет как ни в чем не бывало, а НАТ организуется ср-вами ipfw & natd! Так я подумал что и _обратная задача_ тоже может быть реализована ipfw+natd.
Ну забьем на tun0. Попробовал в локалке:
[192.168.1.2:80 (eth0, lnx)] <-> [192.168.1.1 (rl0, fbsd, xl0) 192.168.2.1] <-> 192.168.2.2 (win2k)

На шлюзе (фряхе):

natd -p 8080 -n xl0 -redirect_port tcp 192.168.1.2:80 8080

после этого порт 8080 открывается но _не_ LISTEN, и обращение с win2k на 192.168.1.1:8080 ничего не дает (а хотелось бы - получать вебстраницы с 192.168.1.2)

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

6. "прокидывание пакетов на внутреннюю машину через NAT во FreeB..."
Сообщение от globus emailИскать по авторуВ закладки on 04-Июн-03, 06:10  (MSK)
натД можно и для ррр запускать ....

вот сюда посмотри http://www.opennet.me/opennews/art.shtml?num=1870

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

7. "прокидывание пакетов на внутреннюю машину через NAT во FreeB..."
Сообщение от globus emailИскать по авторуВ закладки on 04-Июн-03, 06:13  (MSK)
ЗЫ или мне на АСЮ  объясню чего куда
148951201
  Рекомендовать в FAQ | Cообщить модератору | Наверх

8. "прокидывание пакетов на внутреннюю машину через NAT во FreeB..."
Сообщение от anton Искать по авторуВ закладки on 04-Июн-03, 09:59  (MSK)
>натД можно и для ррр запускать ....
>
>вот сюда посмотри http://www.opennet.me/opennews/art.shtml?num=1870


Вот как тут поступают:

/etc/natd.conf
use_sockets yes
same_ports yes
unregistered_only yes
redirect_port tcp 10.0.1.1:21 21

Грубо говоря у меня то же самое но из консоли запущено. Да, это вторая копия ната, первая запускается для того чтобы вся локалка могла в инет ходить. Чего-то я недопонимаю - что, ТАК (как тут указано) нат _нельзя_ пускать, если у меня ppp, или что? Или может быть вторую копию ната нельзя запускать. Все-таки хочется абстрагироваться от ppp, неужели при его использовании катит нат _только_ ср-вами ppp. Это ж неверно, у меня локалка через модем ходит по такому правилу: ${fwcmd} add 100 divert natd all from any to any via tun0.

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

9. "прокидывание пакетов на внутреннюю машину через NAT во FreeB..."
Сообщение от globus emailИскать по авторуВ закладки on 04-Июн-03, 10:54  (MSK)
>>натД можно и для ррр запускать ....
>>
>>вот сюда посмотри http://www.opennet.me/opennews/art.shtml?num=1870
>
>
>Вот как тут поступают:
>
>/etc/natd.conf
> use_sockets yes
> same_ports yes
> unregistered_only yes
> redirect_port tcp 10.0.1.1:21 21
>
>Грубо говоря у меня то же самое но из консоли запущено. Да,
>это вторая копия ната, первая запускается для того чтобы вся локалка
>могла в инет ходить. Чего-то я недопонимаю - что, ТАК (как
>тут указано) нат _нельзя_ пускать, если у меня ppp, или что?
>Или может быть вторую копию ната нельзя запускать. Все-таки хочется абстрагироваться
>от ppp, неужели при его использовании катит нат _только_ ср-вами ppp.
>Это ж неверно, у меня локалка через модем ходит по такому
>правилу: ${fwcmd} add 100 divert natd all from any to any
>via tun0.


на счет количества натД демонов скажу что их может быть хоть .... ну много короче :) (только дивертить их нужно на разных портах)...
делай как описанно в примере и все заработает .... Не грузись по поводу ррр  просто у ррр есть свое решение этой проблеммы и все тут, можешь либо им воспользоваться либо натом

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

10. "прокидывание пакетов на внутреннюю машину через NAT во FreeB..."
Сообщение от anton Искать по авторуВ закладки on 04-Июн-03, 12:24  (MSK)

>на счет количества натД демонов скажу что их может быть хоть ....
>ну много короче :) (только дивертить их нужно на разных портах)...
>

вооот, поэтому первый (для пропуска всей сетки наружу) пускается на дефолтовом 8668, а для прокидывания портов вовнутрь снаружи я ему даю -p 8888 нарпимер. Этот порт он и биндит. А полная команда (каку и описано):
natd -p 8888 -n rl0 -redirect_port 192.168.1.2:80 8080

то есть по идее он должен все коннекты на шлюз, порт 8080 кидать вовнутрь, порт 80. Но не ра-бо-та-ет :-\

даже если поставить тот порт на котором он биндится, на такой же на который нужно ждать соединений для перекидыаания:

natd -p 8888 -n rl0 -redirect_port 192.168.1.2:80 8888

все равно обращение бровсером на шлюз 192.168.1.1:8888 ничего не дает :-\

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

11. "прокидывание пакетов на внутреннюю машину через NAT во FreeB..."
Сообщение от Grey Искать по авторуВ закладки on 04-Июн-03, 12:28  (MSK)
>
>>на счет количества натД демонов скажу что их может быть хоть ....
>>ну много короче :) (только дивертить их нужно на разных портах)...
>>
>
>вооот, поэтому первый (для пропуска всей сетки наружу) пускается на дефолтовом 8668,
>а для прокидывания портов вовнутрь снаружи я ему даю -p 8888
>нарпимер. Этот порт он и биндит. А полная команда (каку и
>описано):
>natd -p 8888 -n rl0 -redirect_port 192.168.1.2:80 8080
>
>то есть по идее он должен все коннекты на шлюз, порт 8080
>кидать вовнутрь, порт 80. Но не ра-бо-та-ет :-\
>
>даже если поставить тот порт на котором он биндится, на такой же
>на который нужно ждать соединений для перекидыаания:
>
> natd -p 8888 -n rl0 -redirect_port 192.168.1.2:80 8888
>
>все равно обращение бровсером на шлюз 192.168.1.1:8888 ничего не дает :-\

звиняйте, но не пойму я что-то никак, зачем такие сложности? всё можно при одном нат-е прекрасно забацать.... а если редирект не пашет, то ipfw смотри, что рубит пакеты....

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

12. "прокидывание пакетов на внутреннюю машину через NAT во FreeB..."
Сообщение от globus emailИскать по авторуВ закладки on 04-Июн-03, 12:45  (MSK)
>> natd -p 8888 -n rl0 -redirect_port 192.168.1.2:80 8888
ты редиректишь с внешнего так и редиректь с внешнего, чего за rl0 еще ....
и пиши <InternalIP>:<Port> в бровзере своем....

все разбирайся...

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

13. "прокидывание пакетов на внутреннюю машину через NAT во FreeB..."
Сообщение от anton Искать по авторуВ закладки on 04-Июн-03, 17:15  (MSK)
>>> natd -p 8888 -n rl0 -redirect_port 192.168.1.2:80 8888
>ты редиректишь с внешнего так и редиректь с внешнего, чего за rl0
>еще ....
>и пиши <InternalIP>:<Port> в бровзере своем....
>
>все разбирайся...

rl0 это я привел пример работы в локалке а не через ppp. в том плане что и так не работает (см.пост выше)

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


Удалить

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




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

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