The OpenNET Project / Index page

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



Индекс форумов
Составление сообщения

Исходное сообщение
"Знатокам IP.Нужна помощь."
Отправлено mama, 03-Май-06 15:33 
Стоит фигня. Работает через Windows шлюз (есть спец. программа). Начальник из экономии требует Linux. Нужен NAT. Алгоритм работы спец. программы взятый из тех.документации следующий:
Программа сервер - ISS открывает по одному входному UDP порту(по умолчанию) на каждом сетевом интерфейсе. Далее, изначально с входных портов ISS воспринимает только пакеты SYN:
[0x5F] - идентификатор пакета SYN
[0x10] - количество 16-битных слов, следующих за данным байтом
[DEST_BOARD_IP (4)] - IP адрес платы назначения (4 байта)
[DEST_BOARD_ PORT (2)] - UPD порт платы назначения (2 байта)
[RESERVED(2)] - зарезервировано - 2 байта
[DEST_SWITCH_IP (4)] - IP адрес SWITCH-а , за которым скрыта плата
[DEST_SWITCH_ PORT (2)]
[RESERVED(2)]
[SRC_BOARD_IP (4)]
[SRC _BOARD_ PORT (2)]
[RESERVED(2)]
[SRC _SWITCH_IP (4)]
[SRC T_ SWITCH_PORT(2)]
[RESERVED(2)]
Алгоритм работы ISS.
1. При приходе пакета SYN на любой входной интерфейс, сравнивается адрес:
DEST_SWITCH_IP = = MY_SWITCH_IP && DEST_SWITCH_ PORT = = MY_SWITCH_ PORT
для каждого сетевого интерфейса, если найдено совпадение, то данный пакет ретранслируется через соответсвующий интерфейс (где совпало) на адрес платы, указанный в пакете SYN:
DEST_BOARD_IP && DEST_BOARD_PORT.
Если совпадения не найдено, то пакет рестранслируется непосредственно на адрес
DEST_SWITCH_IP && DEST_SWITCH_PORT.
В момент ретрансляции первого пакета SYN - запоминается маршрут ретрансляции:
IN_IP_ADDR, IN_UDP_PORT <-aOUT_IP_ADDR,OUT_UDP_PORT.
Далее, все пакеты поступившие на IN, или OUT точку БЕЗ АНАЛИЗА ретранслируются в противоположную точку . Т.е. пакеты, пришедшие от OUT - > пересылаются в IN, и наоборот от IN в OUT. Если в течение 10 секунд, по маршруту НИ в одном направлении не было пакетов, то запись о нем стирается (запись может создать только следующий пакет SYN на прот 4120).
!!! Если пакет SYN с ТЕМ-ЖЕ ИСХОДЯЩИМ адресом (SRC_IP,SRC_PORT) но другим адресом назначения (DSP_IP,DST_UDP) поступает, а соединение с ИСХОДЯЩИМ адресом УЖЕ БЫЛО УСТАНОВЛЕНО РАНЕЕ, ТО ЭТО СОЕДИТНЕНИЕ ПЕРЕКЛЮЧАЕТСЯ НА ДРУГОЙ АДРЕС НАЗНАЧЕНИЯ (ИЗМЕНЯЕТЯ СООТВЕТВИЕ IN(SRC)<->OUT (DST a NEW_DST).
Вообще такое на Линуксе возможн. Если да то как (примеры)???
 

Ваше сообщение
Имя*:
EMail:
Для отправки новых сообщений в текущей нити на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



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

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