1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.

Port mapping в UNIX

Тема в разделе "Софт", создана пользователем RubiN, 31.08.05.

  1. RubiN

    RubiN Активный участник

    6.629
    425
    Где копать-то? Знаю что можно как-то настроить через inetd. А вообще проблема простая: есть сервер с реальным IP, который работает по порту допустим 9000. Мне нужно организовать соединение с ним из локальной сети. Программа, которая с ним должна работать, не умеет работать через прокси. Настроил все это в вингейте, но у него, как все знают, периодически возникают вопросы с регистрацией. Не хотелось бы чтобы это посыпалось в самый неподходящий момент.SQUID как я понял тоже не умеет (IMHO), он только с HTTP запросами работает. В общем, инетересны любые варианты, кроме как под MS Win.
     
  2. смей горыныч!

    смей горыныч! Активный участник

    1.157
    0
    [off]Zombie
    Эт ты не на тот форум залез. Надо в первую очередь на технические форумы лезть. В тот же USENET.
    Слов нет, конечно найдутся люди, кто ответит, но не так быстро как там[/off]
     
  3. RubiN

    RubiN Активный участник

    6.629
    425
    смей горыныч! , а как же насчет патриотизма?
     
  4. paraNoId

    paraNoId Участник

    236
    0
    Можно с помощью xinetd/rinetd, можно натить/маскарадить. Все очень сильно зависит от твоей OS`и, используемого протокола/сервиса и т.д. Подробности давай.
     
  5. RubiN

    RubiN Активный участник

    6.629
    425
    paraNoId Tru64 Unix Digital, по TCP работает прога на винде (но это неважно).
     
  6. смей горыныч!

    смей горыныч! Активный участник

    1.157
    0
    Zombie
    А что man xinetd уже не работает? Это для начала.
     
  7. paraNoId

    paraNoId Участник

    236
    0
    Упсс... Этого зверя я в глаза не видел.
    Придется, тебе, документацию на его штатные средства читать. :) Или ставь на него xinetd. Или rinetd. Или выясняй, как в нем нат включается.
     
  8. смей горыныч!

    смей горыныч! Активный участник

    1.157
    0
    paraNoId
    Принципиальных отличий от Linux и BSD систем у Unix нет. Так что пиши.
     
  9. RubiN

    RubiN Активный участник

    6.629
    425
    paraNoId, как такового ната нет, он там по другому обзывается, но даже не стартует, т.к. обязательно должен быть BIND настроен и должен общаться с реальными DNS серверами, при существующей топологии это невозможно. Короче, заморочка. Хотя вообще-то сторонние службы работают, не все правда и не всякие версии, некоторые библиотеки не подходят, хотя например PERL обновился нормально, Webalizer стал без проблем, АПАЧ не захотел, SQUID тоже не выше 1.35. Заморочки.

    [off]paraNoId зверь для процессоров ALPHA[/off]

    Zombie добавил [date]1125487434[/date]:
    смей горыныч!

    вот поэтому и спрашиваю, многие настройки как в BSD,Mandrake или redHat. Конечно же немного с другим синтаксисом и файлы иногда по другому называются и лежат в других каталогах, но понять что к чему можно, на то он и *nix.:)
     
  10. смей горыныч!

    смей горыныч! Активный участник

    1.157
    0
    Zombie
    А пакеты уже прекомпилированные или исходнокодовые? Просто, обычно, под разные платформы в пакете есть свой README или INSTALL файлы.

    Тут про Linux, но может что поможет. Там много всего, нужно посмотреть глубже.
    http://linuxcenter.ru/lib/articles/networking/iptables_portforward.phtml
    http://linuxcenter.ru/lib/articles/networking/nat.phtml
    Ну еще и в www.LinuxGazette.com стоит посмотреть.:)
     
  11. RubiN

    RubiN Активный участник

    6.629
    425
    смей горыныч! , да обычно в исходниках есть под эту платформу, почти всё, только под конкретную версию. Она там буквами отличается, например 4.0 А,B,C,D,E,F ну и тд. За ссылку спасибо.
     
  12. paraNoId

    paraNoId Участник

    236
    0
    Дык, дьявол он в мелочах. :)

    xinetd есть? если да, тогда делаем файлик /etc/xinetd.d/zombie c содержанием:
    Код:
    service zombie
    {
            type            = UNLISTED
            port            = 9000
            socket_type     = stream
            protocol        = tcp
            wait            = no
            user            = root
            disable         = no
            redirect        = <ip нужного сервера> 9000
    }
    
    и ходим на свой сервер

    iptables есть? если да, тогда (ключевые строки):
    Код:
    ...
    iptables -A POSTROUTING -o <внешний интерфейс> -j SNAT --to-source <свой внешний ip>
    iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
    iptables -A FORWARD -s <внутренняя подсеть>/<ее маска> -d <ip сервера> -i <внутренний интерфейс> -o <внешний интерфейс> -p tcp -m tcp --dport 9000 -j ACCEPT
    ...
    
    и ходим на чужой сервер

    Во, блин! Пока писал, вы тут уже столько настрочили...
    Есть еще rinetd - типо "редирект инетд". Но я его не пробовал.
     
  13. RubiN

    RubiN Активный участник

    6.629
    425
    попробую, тоже хороший вариант