Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / FreeBSD, port mapping, адреса не маскируются / 19 сообщений из 19, страница 1 из 1
03.01.2010, 02:51
    #36396042
Andrej_f
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FreeBSD, port mapping, адреса не маскируются
Проброс портов сделан через ipfw+natd, natd.conf:
Код: plaintext
1.
redirect_port udp  192 . 168 . 1 . 6 : 50000   50000 
redirect_port tcp  192 . 168 . 1 . 6 : 50101   50101 
на 192.168.1.6 приходят пакеты с реальным адресом, а надо с локальным адресом сервера FreeBSD.
Подскажите, пожалуйста, как сделать?
...
Рейтинг: 0 / 0
03.01.2010, 15:00
    #36396180
VGrey
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FreeBSD, port mapping, адреса не маскируются
1) Опишите Вашу задачу более полно;
2) Покажите ifconfig, ipfw show;
3) Gокажите natd.conf полностью;
4) Покажите ps -ax|grep natd
5) Покажите cat /etc/rc.conf|grep nat
Потому как телепаты в отпуску по случАю Нового Года и Рождества.
...
Рейтинг: 0 / 0
04.01.2010, 18:14
    #36397025
Andrej_f
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FreeBSD, port mapping, адреса не маскируются
Извиняюсь.
ifconfig
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
rl0: flags= 8843 <UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu  1500 
        options= 8 <VLAN_MTU>
        inet  192 . 168 . 1 . 99  netmask 0xffffff00 broadcast  192 . 168 . 1 . 255 
        ether  00 :e0:4c:5d:d0:ee
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
ed0: flags= 108843 <UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu  1500 
        inet  188 . 128 . 10 . 122  netmask 0xfffffffc broadcast  188 . 128 . 10 . 123 
        ether  00 : 00 :e8:5c: 94 :ed
plip0: flags= 108810 <POINTOPOINT,SIMPLEX,MULTICAST> mtu  1500 
lo0: flags= 8049 <UP,LOOPBACK,RUNNING,MULTICAST> mtu  16384 
        inet  127 . 0 . 0 . 1  netmask 0xff000000
ipfw.conf
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
fw="/sbin/ipfw"
inet="ed0"
local="rl0"
ipinet="188.128.10.122"
iploc="192.168.1.99"

${fw} -f flush
${fw} add pass all from any to any via lo0
${fw} add divert natd all from any to any via ${inet}
${fw} add pass ip from any to any via ${local}
#${fw} add pass all from any to any via ${inet}
${fw} add pass tcp from any to ${ipinet}  50101  in
${fw} add pass udp from any to ${ipinet}  50000  in
${fw} add pass all from any to any via ${inet} out
natd.conf
Код: plaintext
1.
2.
3.
4.
5.
interface ed0
#use_sockets yes
#same_ports yes
redirect_port udp  192 . 168 . 1 . 6 : 50000   50000 
redirect_port tcp  192 . 168 . 1 . 6 : 50101   50101 
log yes
ps -ax|grep natd
Код: plaintext
 6318   p0  R+      0 : 00 . 00  grep natd
cat /etc/rc.conf|grep nat
Код: plaintext
1.
natd_enable="NO"
natd_flags="-f /etc/natd.conf"
Задача такая:
Брать пакеты из инета, передавать их внутрь сети, но менять при этом адрес, откуда пришёл пакет на адрес локального интерфейса (192.168.1.99).
...
Рейтинг: 0 / 0
04.01.2010, 18:15
    #36397026
Andrej_f
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FreeBSD, port mapping, адреса не маскируются
natd_enable="NO" это сейчас, так как пока испльзуется rinetd
...
Рейтинг: 0 / 0
04.01.2010, 23:24
    #36397301
VGrey
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FreeBSD, port mapping, адреса не маскируются
Andrej_fЗадача такая:
Брать пакеты из инета, передавать их внутрь сети, но менять при этом адрес, откуда пришёл пакет на адрес локального интерфейса (192.168.1.99).

Андрей, cтандартно redirect_port предназначено для проброса портов в локальную сеть, то есть на машину в локальной сети поступает запрос от внешнего IP, и ответ идет на внешний IP, он натится, а пробрасывается обратно внешнему хосту.
Если Вы подмените в запросе внешний IP на 192.168.1.99, то ответ от 192.168.1.6 пойдет тоже не внешнему IP, а 192.168.1.99, а там нет службы, которая формировала запрос, его некому будет обработать. Иными словами, подмена внешнего IP на адрес локального интерфейса не имеет смысла.
Или ставилась какая-то другая цель? В чем смысл такой замены?

---
Victor
...
Рейтинг: 0 / 0
05.01.2010, 08:43
    #36397485
Andrej_f
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FreeBSD, port mapping, адреса не маскируются
Да, Вы правы.
Постараюсь описать, что у меня есть и как мне надо.

Есть комп № 1. Имеет 2 сет. интерфейса, один - реальный IP, второй - локальный. Этот комп получает на реальный интерфейс пакеты через интернет от оборудования, обрабатывет их и сохраняет на сервере БД (передает в локальную сеть). Потребовалось сменить провайдера. В этот комп был вставлен ещё 1 сетевой интерфейс, тоже с реальным IP, другого провайдера. Комп под управлением Windows XP, на нем стоит Kerio Winroute Firewall и программа обработки сигналов от оборудования. Часть оборудования перенастроена на новый IP, часть ещё нет. Далее началось следующеее . Как временная мера, решил перенести 1 из реальных интерфейсов на другой комп. Поставил FreeBSD 5.4 на комп № 2.

Получалось следующее:
оборудование начинает соединение (tcp) с комп № 2
комп № 2 принимает пакеты на реальный IP, передает их на комп № 1.
комп № 1 принимает их, но ответы посылает через свой реальный интерфейс (что, как Вы заметили, правильно, поскольку они имеют реальный адрес отправителя).
при этом, оборудование ожидает соединения по интерфейсу компа № 2, ничего не получает и затыкается.

Мне же нужно простой проброс порта с комп № 2 на комп № 1, чтобы комп № 1 отсылал пакеты обратно на комп № 2, а тот уже - обратно оборудованию. С помощью rinetd это решено, НО: rinetd не работает с UDP, только с TCP. Обрудование же работает как по UDP так и по TCP и не имеет постоянных IP, присваиваются по DHCP в момент установления связи.

Понимаю, что сумбурно, но что-то не могу лучше объяснить.
...
Рейтинг: 0 / 0
05.01.2010, 10:37
    #36397557
VGrey
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FreeBSD, port mapping, адреса не маскируются
Описание, действительно, получилось сумбурным, к сожалению...
Андрей, а можно в виде двух схем: что было, как переключили?
И второе замечание: если у Вас работает rinetd, проброс UDP-портов тоже обязан работать. По всей вероятности, остается какой-то нюанс, который, возможно, удастся понять из схем.

---
Victor
...
Рейтинг: 0 / 0
05.01.2010, 10:52
    #36397568
VGrey
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FreeBSD, port mapping, адреса не маскируются
Еще вариант: обоих провайдеров включаете в комп №2, не котором freebsd. В этом случае фря занимается маршрутизацией и пробросом портов (два inetd, каждый на своем интерфейсе) а виндовая машина - своей задачей. Как говорится "кесарю - кесарево", так Вы исключите из винды виснущие CNet Pro 100 и упростите маршрутизацию.


---
Victor
...
Рейтинг: 0 / 0
05.01.2010, 11:58
    #36397615
Andrej_f
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FreeBSD, port mapping, адреса не маскируются
Попробую схемой
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
   Так было
   +---------------------------+
   |WinXP+Kerio                |
   |         Обработчик        |
   |                           |         +-----------+
<->| 78 . 108 . 69 . 250               |  +---+  | Database  |
<->| 188 . 128 . 10 . 122    192 . 168 . 1 . 6 |->|HUB|->| 192 . 168 . 1 . 7 |
   +---------------------------+  +---+  +-----------+

   Так теперь
   +---------------------------+
   |WinXP+Kerio                |
   |Обработчик                 |
   |                           |         +-----------+
<->| 78 . 108 . 69 . 250               |  +---+  | Database  |
   |                 192 . 168 . 1 . 6 |->|HUB|->| 192 . 168 . 1 . 7 |
   +---------------------------+  +---+  +-----------+
                                   ^ запрос на соединение
   +---------------------------+   | передается на 1.6
   |FreeBSD                    |   |  1 . 6  его обрабатывает
<->| 188 . 128 . 10 . 122   192 . 168 . 1 . 99 |->-+ данные пишет на  1 . 7 
   +---------------------------+     а ответ дает на 1.99
                                     который его передает в инет
А что касается rinetd, то:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
rinetd redirects TCP connections from one IP address and port to another.
rinetd is a single-process server which handles any number of connections to
the address/port pairs specified in the file /etc/rinetd.conf. Since rinetd
runs as a single process using nonblocking I/O, it is able to redirect a
large number of connections without a severe impact on the machine. This
makes it practical to run TCP services on machines inside an IP masquerading
firewall.
LIMITATIONS
     rinetd redirects TCP connections only. There is no support for UDP.
     rinetd only redirects protocols which use a single TCP socket.
...
Рейтинг: 0 / 0
05.01.2010, 12:07
    #36397621
Andrej_f
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FreeBSD, port mapping, адреса не маскируются
VGreyЕще вариант: обоих провайдеров включаете в комп №2, не котором freebsd. В этом случае фря занимается маршрутизацией и пробросом портов (два inetd, каждый на своем интерфейсе) а виндовая машина - своей задачей. Как говорится "кесарю - кесарево", так Вы исключите из винды виснущие CNet Pro 100 и упростите маршрутизацию.
---
VictorВиктор, спасибо, что занимаетесь мной :)
Я так понимаю, на 1.6 указываем шлюзом по умолчанию 1.99, оба интерфейса с реальными IP ставим на FreeBSD, и теперь 1.6 деваться некуда, будет всё пересылать через FreeBSD. Так я уйду от rinetd на natd. Спасибо за идею. Если я правильно понял. Только я чайник во FreeBSD, надо маны покурить пару дней, как запустить 2 natd и правильно их разрулить. Дело в том, что система рабочая и неудачные эксперименты крайне не желательны, клиенты бурно реагируют, начальство бесится, а вазелина у нас "дифисит" (с).
...
Рейтинг: 0 / 0
05.01.2010, 12:13
    #36397629
Andrej_f
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FreeBSD, port mapping, адреса не маскируются
Да, ещё, так получится, что теперь на FreeBSD будет 2 шлюза по умолчанию, как было на машине с XP. Как FreeBSD себя поведёт, не получится так же, как с XP глюки?
...
Рейтинг: 0 / 0
05.01.2010, 14:06
    #36397789
VGrey
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FreeBSD, port mapping, адреса не маскируются
Andrej_fЕсли я правильно понял. Только я чайник во FreeBSD, надо маны покурить пару дней, как запустить 2 natd и правильно их разрулить. Дело в том, что система рабочая и неудачные эксперименты крайне не желательны, клиенты бурно реагируют, начальство бесится, а вазелина у нас "дифисит" (с).

Андрей, можем поступить, например, так: раз у Вас на фре есть реальный IP, Вы пускаете меня туда удаленно, мы вместе готовим второе подключение, быстро, в течении нескольких минут переключаем и убеждаемся в работоспособности. А потом Вы неспешно разбираетесь, когда нет проблем и все работает...
Если рискнете принять мою помощь, стучите в асю: три 5 886 15 два.

Andrej_fДа, ещё, так получится, что теперь на FreeBSD будет 2 шлюза по умолчанию, как было на машине с XP. Как FreeBSD себя поведёт, не получится так же, как с XP глюки?

В фряхе есть маршрутизации по политике (policy routing), например, гляньте тут _http://www.xgu.ru/wiki/%D0%9C%D0%B0%D1%80%D1%88%D1%80%D1%83%D1%82%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D1%8F_%D0%B2_FreeBSD, или спросите у гугла.
В Вашем случае нужно один из маршрутов сделать дефолтным, а пакеты приходящее от второго провайдера возвращать ему же командой типа:
Код: plaintext
$fwcmd add fwd ХХ.ХХ.ХХ.ХХ ip from YY.YY.YY.YY to any out via em1
...
Рейтинг: 0 / 0
05.01.2010, 18:48
    #36398190
Andrej_f
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FreeBSD, port mapping, адреса не маскируются
Виктор, не вижу ничего страшного для себя, чтобы предоставить Вам доступ под root на машину с FreeBSD. Но тут есть один тонкий момент: на компе с WinXP установлен и настроен Oracle CMAN (connection manager), который тоже является роутером, только для БД Oracle. Клиенты (не оборудование, а пользователи) цепляются к его реальному IP для просмотра своих данных. Как его установить и настроить на FreeBSD я пока не знаю, с XP то провозился целый день. Так что, если вы и в этом сможете быстро разобраться :) то я готов "рискнуть". Хотя, если честно, это будет стрельба из пушки по воробьям, мне всего-то надо прокинуть передачу TCP & UDP соединений с FreeBSD на XP на время перенастройки оборудования (тут не от меня зависит и полгода уже тянется :)). Физический доступ (на всякей :) к обоим компьютерам у меня будет завтра (06.01) с 8:00 по 14:00 по Москве.
...
Рейтинг: 0 / 0
05.01.2010, 18:50
    #36398192
Andrej_f
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FreeBSD, port mapping, адреса не маскируются
VGreyВ фряхе есть...Виктор, спасибо, ща буду разбираться :)
...
Рейтинг: 0 / 0
05.01.2010, 19:57
    #36398258
VGrey
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FreeBSD, port mapping, адреса не маскируются
Andrej_fНо тут есть один тонкий момент: на компе с WinXP установлен и настроен Oracle CMAN (connection manager), который тоже является роутером, только для БД Oracle. Клиенты (не оборудование, а пользователи) цепляются к его реальному IP для просмотра своих данных.

Анлрей, правильно ли я понимаю, что для работы клиентов с ораклом через connection manager достаточно пробросить на виндовую машину порт 1630 ? И 1830 для административного процесса Oracle Connection Manager ?
(http://www.oracle.com/global/ru/oramag/april2001/listentonet.html)

И не пора ли нам уйти в приват или асю?

---
Victor
...
Рейтинг: 0 / 0
05.01.2010, 21:45
    #36398350
Learning_Oracle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FreeBSD, port mapping, адреса не маскируются
VGreyAndrej_fНо тут есть один тонкий момент: на компе с WinXP установлен и настроен Oracle CMAN (connection manager), который тоже является роутером, только для БД Oracle. Клиенты (не оборудование, а пользователи) цепляются к его реальному IP для просмотра своих данных.

Анлрей, правильно ли я понимаю, что для работы клиентов с ораклом через connection manager достаточно пробросить на виндовую машину порт 1630 ? И 1830 для административного процесса Oracle Connection Manager ?
(http://www.oracle.com/global/ru/oramag/april2001/listentonet.html)

И не пора ли нам уйти в приват или асю?

---
Victor

стесняетесь?
...
Рейтинг: 0 / 0
05.01.2010, 22:06
    #36398371
Learning_Oracle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FreeBSD, port mapping, адреса не маскируются
Поставил FreeBSD 5.4 на комп № 2.


вроде есть 7-ка.. почему на 5.4 ?
...
Рейтинг: 0 / 0
06.01.2010, 08:19
    #36398634
Andrej_f
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FreeBSD, port mapping, адреса не маскируются
2 Learning_Oracle
:) 5.4, потому, что:
1. диск с 5.4 был под рукой, а 7 надо качать
2. комп нашелся древний (P-233/64mb/1G+1.6G/S3Trio64), встанет ли на него 7, некогда экспериментировать
3. неужели, чтобы сделать просто-напросто форвард TCP+UDP на определенный порт, требуется 7?

2 VGrey
VGreyдля работы клиентов с ораклом через connection manager достаточно пробросить на виндовую машину порт 1630 ? И 1830 для административного процесса Oracle Connection Manager ?Блин, наверное, правильно, я об этом даже не подумал.
:) Я отправил Вам запрос авторизации в аське, давайте попробуем :)
...
Рейтинг: 0 / 0
06.01.2010, 12:14
    #36398782
Andrej_f
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
FreeBSD, port mapping, адреса не маскируются
Проблема решена.
Решил её Виктор - VGrey. Поэтому, если что, все вопросы к нему, я сам ещё не разобрался, как и что.
Спасибо, Виктор.
...
Рейтинг: 0 / 0
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / FreeBSD, port mapping, адреса не маскируются / 19 сообщений из 19, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]