The OpenNET Project / Index page

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




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
IP маскарадинг, !*! dust, 28-Май-03, 20:25  [смотреть все]
на маршрутизатор (под управлением 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 и осознаю что метод приведенный мною не самый лутший, но это временно, а кроме того необходимо сделать в кратчайшие сроки.

  • IP маскарадинг, !*! ShyLion, 09:04 , 29-Май-03 (1)
    • IP маскарадинг, !*! dust, 15:49 , 29-Май-03 (2)
      клиент дайлапится к нам, но прикол то в том, что мне не нужно подставлять ипишкам из сети 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 и послать дальше....

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

      • IP маскарадинг, !*! co6aka, 06:15 , 30-Май-03 (3)
        • IP маскарадинг, !*! dust, 18:31 , 01-Июн-03 (4)
          Вырезка из мана:

          "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

          • IP маскарадинг, !*! Ilia, 00:12 , 02-Июн-03 (5)
            • IP маскарадинг, !*! dust, 16:15 , 02-Июн-03 (6)
              >Не уверен, что правильно тебя понял..
              >
              >-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
              и т.д.

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

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

              • IP маскарадинг, !*! Nikolaev D., 16:29 , 02-Июн-03 (7)
                • IP маскарадинг, !*! dust, 17:00 , 02-Июн-03 (8)
                  Иду и читаю:

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

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

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

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

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

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

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

                  • IP маскарадинг, !*! Nikolaev D., 17:18 , 02-Июн-03 (11)
                    • IP маскарадинг, !*! dust, 17:35 , 02-Июн-03 (13)
                      >Прочитал, изложено так, что не очень понятна вся схема.

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


                                         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)

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

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

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

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

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

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

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

                        • IP маскарадинг, !*! Nikolaev D., 18:21 , 02-Июн-03 (20)
                        • IP маскарадинг, !*! dust, 18:34 , 02-Июн-03 (21)
                          >И как он работает например со стандартной виндой 98 ? два IP
                          >исходящие пакеты с одного интерфейса, входящие на другой. TCP-сессия невозможна.
                          >>

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

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

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

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

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

                        • IP маскарадинг, !*! Nikolaev D., 19:37 , 02-Июн-03 (22)
                        • IP маскарадинг, !*! dust, 16:11 , 03-Июн-03 (23)
                          ты знаеш...прикол в том, что работают ТОЛЬКО ping и traceroute :)
                          http и прочее не валит :(

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

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

              • IP маскарадинг, !*! Ilia, 17:10 , 02-Июн-03 (9)
                • IP маскарадинг, !*! dust, 17:18 , 02-Июн-03 (10)
                  >Ну, в принципе, ты можешь запустить столько копий natd сколько нужно, и
                  >для каждого задать свой сокет и свой адрес. Маразм, правда, но
                  >другого что-то навскидку в голову не приходит.

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

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

                  • IP маскарадинг, !*! Nikolaev D., 17:28 , 02-Июн-03 (12)
                    • IP маскарадинг, !*! Ilia, 17:40 , 02-Июн-03 (15)
                    • IP маскарадинг, !*! dust, 17:46 , 02-Июн-03 (16)
                      >А то что в nat пакеты попадают из ipfw знать совсем не
                      >надо. И уж совсем нет необходимости помнить, что при правильной настройке
                      >ipfw имеет ДВА правила: в одну сторону и другую.

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

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

                      или как ?

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

                  • IP маскарадинг, !*! Ilia, 17:35 , 02-Июн-03 (14)
  • IP маскарадинг, !*! Red, 21:33 , 04-Июн-03 (25)
  • IP маскарадинг, !*! GreN, 12:32 , 05-Июн-03 (26)
    • IP маскарадинг, !*! dust, 19:53 , 05-Июн-03 (27)
      >ну думаю нада повнимательней почитать man 5 ipnat

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

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




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

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