Межсетевой шлюз

Тема в разделе "WASM.NETWORKS", создана пользователем Exp10der, 5 авг 2008.

  1. Exp10der

    Exp10der Мастер дзена

    Публикаций:
    0
    Регистрация:
    27 авг 2007
    Сообщения:
    337
    Адрес:
    Красноярск
    Есть сетка - inet<->(server)<->(comp) требуется написать нечто вроде виндового ICS для сервера те перекидывать пакеты с одной сетевухи на другую, как это сделать под win2k, может использовать сырые сокеты? может у кого есть примерчик или дока?
     
  2. Exp10der

    Exp10der Мастер дзена

    Публикаций:
    0
    Регистрация:
    27 авг 2007
    Сообщения:
    337
    Адрес:
    Красноярск
    ...может перевести сетевуху в неразборчивый режим ловить все пакеты и перенаправлять на адреса указанные в заголовках? вобщем нужен простой NAT.
     
  3. Vov4ick

    Vov4ick Владимир

    Публикаций:
    0
    Регистрация:
    8 окт 2006
    Сообщения:
    581
    Адрес:
    МО
    гугол выдаёт много всего на запрос windows nat server
     
  4. Exp10der

    Exp10der Мастер дзена

    Публикаций:
    0
    Регистрация:
    27 авг 2007
    Сообщения:
    337
    Адрес:
    Красноярск
    толку то, там базовые понятия типа как оно работает в абстрактном иочень упрощённом виде, а мне надо знать как пакеты идут до ната и как он узнает куда их дальше отправить, по идее в заголовке должен быть адрес шлюза и внешний адрес или ип заголовки инкапсулируются в какой нибудь ещё протокол пока идут до шлюза?
     
  5. 2FED

    2FED New Member

    Публикаций:
    0
    Регистрация:
    20 фев 2008
    Сообщения:
    1.002
    В заголовке MAC адрес шлюза(маршрутизатора)
     
  6. Folk Acid

    Folk Acid New Member

    Публикаций:
    0
    Регистрация:
    23 авг 2005
    Сообщения:
    432
    Адрес:
    Ukraine
    Exp10der
    Ты уж определись, тебе NAT нужен или Bridge
     
  7. ECk

    ECk Member

    Публикаций:
    0
    Регистрация:
    9 апр 2004
    Сообщения:
    454
    Адрес:
    Russia
    посмотри на rootkit.com - MyNetwork
    http://www.rootkit.com/board_project_fused.php?did=proj16
     
  8. s0larian

    s0larian New Member

    Публикаций:
    0
    Регистрация:
    15 июл 2004
    Сообщения:
    489
    Адрес:
    Крыжёпполь
    Exp10der, эта, в win2k server есть routing и NAT.
     
  9. Exp10der

    Exp10der Мастер дзена

    Публикаций:
    0
    Регистрация:
    27 авг 2007
    Сообщения:
    337
    Адрес:
    Красноярск
    Folk Acid
    Мне нужен NAT.
    ...вот когда пакетик доходит с компа (внутр. сетки) до NAT сервера его обратный адрес меняется же по идее на адрес NAT сервера в подсети с внешним шлюзом, тогда каким образом узнать какому из компов локалки пришёл ответ там же будет адрес назначения для внешней подсети?
     
  10. s0larian

    s0larian New Member

    Публикаций:
    0
    Регистрация:
    15 июл 2004
    Сообщения:
    489
    Адрес:
    Крыжёпполь
    source port
     
  11. Span

    Span New Member

    Публикаций:
    0
    Регистрация:
    5 ноя 2006
    Сообщения:
    134
    Если TCP\UDP достаточно, то:
    > пакетик доходит с компа (внутр. сетки) до NAT сервера
    1) запомнил IP\MAC и пару портов того, от кого пришел пакетик

    > его обратный адрес меняется же по идее на адрес NAT сервера в подсети с внешним шлюзом
    2) подменяются MAC'и, ip и порт отправителя (выделил уникальный в разрезе портов NAT и типа протокола транспортного уровня)

    > тогда каким образом узнать какому из компов локалки пришёл ответ там же будет адрес назначения для внешней подсети?
    3) пришел ответ от сервера во внешней сети - смотришь на своем типа-NAT'е на порт получателя. Если он совпадает с тем, что ты присвоил в п.2 - достаешь данные компа из п.1, меняешь адреса\порты и отправляшь во внешнюю сеть

    вот примерно так. И не забываем контрольные суммы пересчитывать.
     
  12. Exp10der

    Exp10der Мастер дзена

    Публикаций:
    0
    Регистрация:
    27 авг 2007
    Сообщения:
    337
    Адрес:
    Красноярск
    Теперь всё более-менее ясно, спасибо за помощь.
     
  13. gh05t

    gh05t New Member

    Публикаций:
    0
    Регистрация:
    17 июл 2008
    Сообщения:
    34
    А как узнать внутренний IP при использовании NAT? Например в асе часто можно увидеть "Внутренний IP", а эта инфа содержится в таблицах NAT сервера. Ну и прочее, вроде порта, на котором висит тот или иной пользователь, можно ли и, если да, как узнать?
     
  14. s0larian

    s0larian New Member

    Публикаций:
    0
    Регистрация:
    15 июл 2004
    Сообщения:
    489
    Адрес:
    Крыжёпполь
    gh05t, эээ, внутренний IP адрес не видет снаружи. Его можно узнать либо на router-e, или если в протоколе есть что-то что сообщает адрес серверу.
     
  15. nester7

    nester7 New Member

    Публикаций:
    0
    Регистрация:
    5 дек 2003
    Сообщения:
    720
    Адрес:
    Russia
    Б/у'шная смежная тема http://www.wasm.ru/forum/viewtopic.php?id=19869
     
  16. gh05t

    gh05t New Member

    Публикаций:
    0
    Регистрация:
    17 июл 2008
    Сообщения:
    34
    s0larian
    Ясно. А в протоколе ICQ такая фича есть, не знаешь?

    То есть без DNAT прямое соединение от узла одной подсети до узла другой подсети не установить?
     
  17. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    gh05t
    Видимо только TURN, предача данных через внешний сервер.

    В Skype точно есть передача внутреннего ip.
     
  18. s0larian

    s0larian New Member

    Публикаций:
    0
    Регистрация:
    15 июл 2004
    Сообщения:
    489
    Адрес:
    Крыжёпполь
    gh05t, эээ, что-то ты мутно спрашиваешь. TCP соединение можно установить с любым IP адресом к которому есть route (ессно если на порте кто-то слушает). С точки зрения компа сидящего на 192.168.1.0/24 можно послать TCP SYN кому-то типа my-domain.provider.com:1234 если там есть DNAT на внутренний адрес. Работает это потому-что есть route через public internet.

    Если та другая сеть 192.168.20.0/24, то к ней просто нету route-a. Работать будет только если есть VPN соединение (напримет IPSec tunnel mode)

    Почитай книку про сети и IP.