The OpenNET Project / Index page

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

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

"IP маскарадинг"
Сообщение от dust emailИскать по авторуВ закладки on 28-Май-03, 20:25  (MSK)
на маршрутизатор (под управлением FreeBSD) приходит пакет из сети 10.10.10.0

необходимо заменить source этого пакета соответствующим адресом (к примеру есть некая таблица, где определенные IP из сети 10.10.10.0 сответствуют внешним адресам, все статично, никакой динамики !)

средствами natd сделать такого нельзя, вот вообщем-то и инетересуюсь, а нет ли под bsd каких-нибудь других средств маскарадинга (или спуфинга).

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

это значит, что ответ должен приходить не на ip который назначается модему а на айпишник сетевой карточки.

Решение:
Пользователь имеет у себя сетевую плату (на неё через тюнер все и сваливается) и нужно сделать так чтобы ответ на запрос (идущий через модем которому NAS выдает IP, к примеру 10.10.10.1) приходил на ip сетевухи.

Если на маршрутизаторе подменять source пакета (грубо говоря найти соответствие и заменить ip модема -> ip карты) и выкидывать его дальше в сеть, то когда он достигнит destination ответ придет как раз на карточку нашего пользователя.

на линуксе, провернуть такую чтуку получается, но мне нужно сделать такое именно на bsd. Впринципе я слышал про vpn и осознаю что метод приведенный мною не самый лутший, но это временно, а кроме того необходимо сделать в кратчайшие сроки.

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

 Оглавление

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

1. "IP маскарадинг"
Сообщение от ShyLion Искать по авторуВ закладки on 29-Май-03, 09:04  (MSK)
Почему natd нельзя?
если один интерфейс 10.10.10.x
второй 20.20.20.x
поднимаешь НАТ на 20.20.20.x
и пакеты транслируются с 10... в 20...

клиент диалапиться куда? на любого провайдера или к вам?

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

2. "IP маскарадинг"
Сообщение от dust emailИскать по авторуВ закладки on 29-Май-03, 15:49  (MSK)
клиент дайлапится к нам, но прикол то в том, что мне не нужно подставлять ипишкам из сети 10.10.10.0 ип 20.20.20.0, мне нужно не просто менять сорс у пакета, а подставлять соответсвующий.

тоесть у чувака на сетевой карточке прописывается ип, скажем 217.x.y.82.
Он звонит к нам и NAS (основываясь на его логине) выдает его модему ип 10.10.10.82 (например). и гейтвэй ставит дефолтовым на наш маршрутизатор,
на котором сидит демон и смотрит, если пришел пакет с сорсом 10.10.10.82,
значит его надо поменять на 217.x.y.82 и послать дальше....

исходя из этого, ответ придет на сетевую карточку клиента.

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

3. "IP маскарадинг"
Сообщение от co6aka Искать по авторуВ закладки on 30-Май-03, 06:15  (MSK)
IMHO
natd -redirect_address local_ip public_ip
public_ip -- alias
t.e.
natd -redirect_address 10.10.10.5 217.10.10.5

natd -redirect_address 10.10.10.6 217.10.10.6
...

or man ipnat

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

4. "IP маскарадинг"
Сообщение от dust emailИскать по авторуВ закладки on 01-Июн-03, 18:31  (MSK)
Вырезка из мана:

"redirect_address 10.0.0.8 0.0.0.0

The above command would redirect all incoming traffic to
machine 10.0.0.8."

мне нужно чтобы просто у пакета заменялся src на указанный мною, в твоем же примере этого не происходит...

насчет ipnat и ipfilters вцелом, может кто знает как спомощью этих фильтров менять сорсы и можна ли такое вообще,

просто использование ipnat ничего не дало, так как это всеголиш более удобный natd

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

5. "IP маскарадинг"
Сообщение от Ilia emailИскать по авторуВ закладки on 02-Июн-03, 00:12  (MSK)
>Вырезка из мана:
>
>"redirect_address 10.0.0.8 0.0.0.0
>
>The above command would redirect all incoming traffic to
>machine 10.0.0.8."
>
>мне нужно чтобы просто у пакета заменялся src на указанный мною, в
>твоем же примере этого не происходит...
>
>насчет ipnat и ipfilters вцелом, может кто знает как спомощью этих фильтров
>менять сорсы и можна ли такое вообще,
>
>просто использование ipnat ничего не дало, так как это всеголиш более удобный
>natd

Не уверен, что правильно тебя понял..

-alias_address | -a address
Use address as the aliasing address.  If this option is not specified, the -interface option must be used.  The specified address is usually the address assigned to the ``public'' network interface. All data passing out will be rewritten with a source address equal to address.

Не оно?

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

6. "IP маскарадинг"
Сообщение от dust emailИскать по авторуВ закладки on 02-Июн-03, 16:15  (MSK)
>Не уверен, что правильно тебя понял..
>
>-alias_address | -a address
>Use address as the aliasing address.  If this option is not
>specified, the -interface option must be used.  The specified address
>is usually the address assigned to the ``public'' network interface. All
>data passing out will be rewritten with a source address equal
>to address.
>
>Не оно?

для еденичного случая... а мне нужно чтобы демон заменял сорсы в соответствии с заданными правилами.

к примеру есть файл, в котором указанно:

10.10.10.1 217.x.y.83
10.10.10.2 217.x.y.84
10.10.10.3 217.x.y.85
и т.д.

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

Твой пример заменяет у ВСЕХ пакетов сорс на ОДИН ип, который и есть алиасом....

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

7. "IP маскарадинг"
Сообщение от Nikolaev D. emailИскать по авторуВ закладки on 02-Июн-03, 16:29  (MSK)
>>Не уверен, что правильно тебя понял..
>>
>>-alias_address | -a address
>>Use address as the aliasing address.  If this option is not
>>specified, the -interface option must be used.  The specified address
>>is usually the address assigned to the ``public'' network interface. All
>>data passing out will be rewritten with a source address equal
>>to address.
>>
>>Не оно?
>
>для еденичного случая... а мне нужно чтобы демон заменял сорсы в соответствии
>с заданными правилами.
>
>к примеру есть файл, в котором указанно:
>
>10.10.10.1 217.x.y.83
>10.10.10.2 217.x.y.84
>10.10.10.3 217.x.y.85
>и т.д.
>
>внешние адреса - это адреса на сетевых адаптерах у юзера, внутрение -
>адреса, которые получает этот юзер, когда дайл-апится к нам.
>(зачем это нужно описанно выше)
>
>Твой пример заменяет у ВСЕХ пакетов сорс на ОДИН ип, который и
>есть алиасом....

Идем к доктору, и слушаем установку:
Я НЕ ЛОХ, Я НЕ ЛОХ ....

а потом идем и ВНИМАТЕЛЬНО читаем доку
http://www.freebsd.org.ru/handbook/natd.html

Особенно внимательно этот момент:
------------------------------------------------
Синтаксис для -redirect_address таков:

-redirect_address localIP publicIP


localIP Внутренний IP-адрес клиента локальной сети.
publicIP Внешний IP, соответствующий клиенту локальной сети.


В примере этот аргумент будет выглядеть так:

-redirect_address 192.168.0.2 128.1.1.2 -redirect_address 192.168.0.3 128.1.1.3

Как и для -redirect_port, эти аргументы также помещаются в строку natd_flags файла /etc/rc.conf.
------------------------

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

8. "IP маскарадинг"
Сообщение от dust emailИскать по авторуВ закладки on 02-Июн-03, 17:00  (MSK)
Иду и читаю:

Особенно внимательно этот момент:

"Затем natd(8) преобразует исходящие от клиентов локальной сети пакеты, заменяя IP-адреса на соответствующие внешние"

пока вроде то что нужно....

"входящий на некоторый IP-адрес, обратно конкретному клиенту локальной сети"

А ВОТ ЭТО МНЕ НАФИГ НЕ НУЖНО !!!

грубо говоря, на маршрутизаторе есть запись о том что сеть (из которой и берутся ип) доступна через радио (ну интерфэйс такой)...поэтому когда придет пакет с таким сорсом, его туда и пошлют, если я сделаю все через нат.... а неполучится ли того, что нат заметит, что этот адрес использовался и перетранслирует его назад на внутренний! Тоетсь ответ придет на модем, а нужно что бы он сваливался с неба на карточку.

P.S. Я понимаю что вы все тут нев:@#$%^&тся пацаны, но ради прикола читайте тему с самого начала...

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

11. "IP маскарадинг"
Сообщение от Nikolaev D. emailИскать по авторуВ закладки on 02-Июн-03, 17:18  (MSK)
>"входящий на некоторый IP-адрес, обратно конкретному клиенту локальной сети"
>
>А ВОТ ЭТО МНЕ НАФИГ НЕ НУЖНО !!!
Дык правила ipfw рисуем так, чтоб попадало все куда надо.


>P.S. Я понимаю что вы все тут нев:@#$%^&тся пацаны, но ради прикола
>читайте тему с самого начала...

Прочитал, изложено так, что не очень понятна вся схема.

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

13. "IP маскарадинг"
Сообщение от dust emailИскать по авторуВ закладки on 02-Июн-03, 17:35  (MSK)
>Прочитал, изложено так, что не очень понятна вся схема.

Ну я не доктор, попробую нарисовать:


                   INTERNET
                              |
                              |
                              |
                              |
     NAS------- Router --------- Radio (доступ к сети 217.x.y.0)
      |                                               |
      |                                               |
      |                                               |
    client-------------------------- radio (217.x.y.83)
    modem (10.10.10.83)        

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

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

Вот на роутере я и хочу повесить нечто, что сможет заменять сорс пакета, который приходит с NAS (в нашем примере пакет 10.10.10.83 -> 217.x.y.83)

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

17. "IP маскарадинг"
Сообщение от Nikolaev D. emailИскать по авторуВ закладки on 02-Июн-03, 17:53  (MSK)
>Вот на роутере я и хочу повесить нечто, что сможет заменять сорс пакета, который приходит с NAS (в нашем примере пакет 10.10.10.83 -> 217.x.y.83)


Вешаем на роутере НАТ со статической трансляцией 10.10.10.83 -> 217.x.y.83
Настраиваем ipfw
1. divert natd from 10.10.10.83 to any out via внешний_интерфейс
2. fwd RADIO from any to 217.x.y.83 in via внешний_интерфейс
Вот тут вопрос, вообще-то. Тарелка в роутеру подключается или это отдельный девайс ? То есть пришел пакет на адрес 217.x.y.83, его нужно клиенту отправить. И потом у клиента специальный софт стоит ? И его сетевуха имеет какой адрес ?

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

19. "IP маскарадинг"
Сообщение от dust emailИскать по авторуВ закладки on 02-Июн-03, 18:08  (MSK)
>Вот тут вопрос, вообще-то. Тарелка в роутеру подключается или это отдельный девайс
>? То есть пришел пакет на адрес 217.x.y.83, его нужно клиенту
>отправить. И потом у клиента специальный софт стоит ? И его
>сетевуха имеет какой адрес ?

нет к роутеру подклечена антена (она просто широковещательно раскидывает пакеты для сети 217.x.y.0)

у клиента стоит:

     NAS                                                  Radio
     /|\                                                           |
      |                                                            |
      |                                                            |
      |                                                           \|/
    modem <---- Client <-----eth <----- tuner
(10.10.10.83)                  (217.x.y.83)

у клиента есть два адреса, один на сетевой карте, "внешний".
вотрой у модема "внутрений".

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

софта у него нет совершенно никакого, только все стандартное.

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

20. "IP маскарадинг"
Сообщение от Nikolaev D. emailИскать по авторуВ закладки on 02-Июн-03, 18:21  (MSK)
>>Вот тут вопрос, вообще-то. Тарелка в роутеру подключается или это отдельный девайс
>>? То есть пришел пакет на адрес 217.x.y.83, его нужно клиенту
>>отправить. И потом у клиента специальный софт стоит ? И его
>>сетевуха имеет какой адрес ?
>
>нет к роутеру подклечена антена (она просто широковещательно раскидывает пакеты для сети
>217.x.y.0)
>у клиента есть два адреса, один на сетевой карте, "внешний".
>вотрой у модема "внутрений".
И как он работает например со стандартной виндой 98 ? два IP исходящие пакеты с одного интерфейса, входящие на другой. TCP-сессия невозможна.
>
>под внешним он виден для всего мира, а внутрений используется только для
>того, чтобы он мог кинуть запрос ко мне на роутер, где
>и произойдет трансляция.
>софта у него нет совершенно никакого, только все стандартное.
На тарелку документация должна быть от производителя .


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

21. "IP маскарадинг"
Сообщение от dust emailИскать по авторуВ закладки on 02-Июн-03, 18:34  (MSK)
>И как он работает например со стандартной виндой 98 ? два IP
>исходящие пакеты с одного интерфейса, входящие на другой. TCP-сессия невозможна.
>>

а очень даже просто, в винде есть такая штука как метрика, по умолчанию модемное соединение, является приорететным, тоесть default gateway.

все пакеты будут ити через него, но поскольку на своем пути они изменяют сорс (нат на маршрутизаторе), возвращатся они будут не по модему, а через радио.

прикол то в том что на тюнер и соответсвенно карту (сетевую) пользователся поподет весь трафик (рассылка то широковещательная), но одбирать нужные пакеты карта будет по своему ип, который и ставится на маршрутизаторе.
------------------------------------------------------------------------

P.S.
Впринципе, это все только пока в теории, проводились конечно испытания на линухе, трейсроут и пинги, работали....покрайней мере, на модеме мигала только одна лампочка (на отправку), тоесть ответ шел на сетевуху.

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

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

22. "IP маскарадинг"
Сообщение от Nikolaev D. emailИскать по авторуВ закладки on 02-Июн-03, 19:37  (MSK)
>Ну и потом, простой пример: у меня сервер имеет два канала, спутник
>(только входящий, по понятным причинам), и выделенка (для исходящего трафика). Интерфрейсы
>разные, адреса разные, но работает ведь :)


ОС какая, софт специальный наверняка стоит.

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

23. "IP маскарадинг"
Сообщение от dust emailИскать по авторуВ закладки on 03-Июн-03, 16:11  (MSK)
ты знаеш...прикол в том, что работают ТОЛЬКО ping и traceroute :)
http и прочее не валит :(

наверно, потому что приложение ждет ответ с того интерфейса, с какого послало запрос...а пингу по барабану...

м-да...чувствую, что придется делать все через vpn.
или может кто знает какой-нить другой способ....

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

9. "IP маскарадинг"
Сообщение от Ilia emailИскать по авторуВ закладки on 02-Июн-03, 17:10  (MSK)
>>Не уверен, что правильно тебя понял..
>>
>>-alias_address | -a address
>>Use address as the aliasing address.  If this option is not
>>specified, the -interface option must be used.  The specified address
>>is usually the address assigned to the ``public'' network interface. All
>>data passing out will be rewritten with a source address equal
>>to address.
>>
>>Не оно?
>
>для еденичного случая... а мне нужно чтобы демон заменял сорсы в соответствии
>с заданными правилами.
>
>к примеру есть файл, в котором указанно:
>
>10.10.10.1 217.x.y.83
>10.10.10.2 217.x.y.84
>10.10.10.3 217.x.y.85
>и т.д.
>
>внешние адреса - это адреса на сетевых адаптерах у юзера, внутрение -
>адреса, которые получает этот юзер, когда дайл-апится к нам.
>(зачем это нужно описанно выше)
>
>Твой пример заменяет у ВСЕХ пакетов сорс на ОДИН ип, который и
>есть алиасом....

Ну, в принципе, ты можешь запустить столько копий natd сколько нужно, и для каждого задать свой сокет и свой адрес. Маразм, правда, но другого что-то навскидку в голову не приходит.

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

10. "IP маскарадинг"
Сообщение от dust emailИскать по авторуВ закладки on 02-Июн-03, 17:18  (MSK)
>Ну, в принципе, ты можешь запустить столько копий natd сколько нужно, и
>для каждого задать свой сокет и свой адрес. Маразм, правда, но
>другого что-то навскидку в голову не приходит.

Единственный выход который я вижу, написать самому програмку, которая будет слушать интерфейс, вылавливать пакеты с сорсами 10.10.10.0/24 (с помощью libpcap) и на основе файлика заменять им сорсы (с помощью libnet)

И ну этот "нат" в печень !

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

12. "IP маскарадинг"
Сообщение от Nikolaev D. emailИскать по авторуВ закладки on 02-Июн-03, 17:28  (MSK)
>Единственный выход который я вижу, написать самому програмку, которая будет слушать интерфейс,
>вылавливать пакеты с сорсами 10.10.10.0/24 (с помощью libpcap) и на основе
>файлика заменять им сорсы (с помощью libnet)
Да, супер решение.
>
>И ну этот "нат" в печень !


А то что в nat пакеты попадают из ipfw знать совсем не надо. И уж совсем нет необходимости помнить, что при правильной настройке ipfw имеет ДВА правила: в одну сторону и другую.

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

15. "IP маскарадинг"
Сообщение от Ilia emailИскать по авторуВ закладки on 02-Июн-03, 17:40  (MSK)
>А то что в nat пакеты попадают из ipfw знать совсем не
>надо. И уж совсем нет необходимости помнить, что при правильной настройке
>ipfw имеет ДВА правила: в одну сторону и другую.

Я только не понял - а это ты к чему? Особенно по поводу двух правил. И совсем особенно - по поводу правильности. Смотря, какое правило, и для чего.


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

16. "IP маскарадинг"
Сообщение от dust emailИскать по авторуВ закладки on 02-Июн-03, 17:46  (MSK)
>А то что в nat пакеты попадают из ipfw знать совсем не
>надо. И уж совсем нет необходимости помнить, что при правильной настройке
>ipfw имеет ДВА правила: в одну сторону и другую.

Хорошо, посмотри на схему и скажи тогда, как мне наскрести ipfw для варианта с redirect_addres ?

add divert natd all from 10.10.10.0/24 to any via xxx

или как ?

тоесть скажи хотябы идиологически, как сделать так чтобы пакет не транслировался обратно на модем, а шел по радио

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

18. "IP маскарадинг"
Сообщение от Nikolaev D. emailИскать по авторуВ закладки on 02-Июн-03, 17:56  (MSK)
>Хорошо, посмотри на схему и скажи тогда, как мне наскрести ipfw для
>варианта с redirect_addres ?
>
>add divert natd all from 10.10.10.0/24 to any via xxx
divert natd all from 10.0.0.0/24 to any out via внешний_eth
divert natd all from any to внешний_eth in via внешний_eth

>
>или как ?
>
>тоесть скажи хотябы идиологически, как сделать так чтобы пакет не транслировался обратно
>на модем, а шел по радио
Выше.


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

14. "IP маскарадинг"
Сообщение от Ilia emailИскать по авторуВ закладки on 02-Июн-03, 17:35  (MSK)
>>Ну, в принципе, ты можешь запустить столько копий natd сколько нужно, и
>>для каждого задать свой сокет и свой адрес. Маразм, правда, но
>>другого что-то навскидку в голову не приходит.
>
>Единственный выход который я вижу, написать самому програмку, которая будет слушать интерфейс,
>вылавливать пакеты с сорсами 10.10.10.0/24 (с помощью libpcap) и на основе
>файлика заменять им сорсы (с помощью libnet)

Правильнее было бы natd переписать, а впрочем, твое дело...


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

24. "IP маскарадинг"
Сообщение от админ Искать по авторуВ закладки on 03-Июн-03, 18:03  (MSK)
ports/net/netsed ?
  Рекомендовать в FAQ | Cообщить модератору | Наверх

25. "IP маскарадинг"
Сообщение от Red Искать по авторуВ закладки on 04-Июн-03, 21:33  (MSK)
на Линуксе, если сделать маскарадинг, оно то ICMP пропускает (потому и пинг идет),а в tcp при маскарадинге меняет порты
  Рекомендовать в FAQ | Cообщить модератору | Наверх

26. "IP маскарадинг"
Сообщение от GreN Искать по авторуВ закладки on 05-Июн-03, 12:32  (MSK)
ну думаю нада повнимательней почитать man 5 ipnat
  Рекомендовать в FAQ | Cообщить модератору | Наверх

27. "IP маскарадинг"
Сообщение от dust emailИскать по авторуВ закладки on 05-Июн-03, 19:53  (MSK)
>ну думаю нада повнимательней почитать man 5 ipnat

тут прикол-то не в том механизме, который реализуется с помощью nat систем (что стандартный natd, что ipnat).

мне нужно подменить ТОЛЬКО сорс пакета, причем оставить без изменения порты (особенно исходящий), а механизм реализованный в нат как раз-то и изменяет их (ну для того, что бы знать кому их вернуть)

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


Удалить

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




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

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