Контроль входящих и транзитных IP-соединений

Когда пользователь с компьютера в локальной сети обращается к сайту в Интернет, к серверу в другой локальной подсети или к компьютеру с Lan2net NAT Firewall, сетевой пакет, отправленный приложением пользователя, принимается драйвером сетевого адаптером и передается в драйвер TCP/IP.

Драйвер Lan2net NAT Firewall перехватывает пакет и анализирует используемый протокол, IP-адреса и номера портов источника и назначения. Данный список параметров уникально индентифицирует каждое IP-соединение.

Если значения параметров соединения описывают новое, еще незарегистрированное в списке текущих, IP-соединение, драйвер сканирует список сервисов, затем список пользователей и список правил для группы, в которую входит пользователь.

В случае если соединение не попадает ни под одно из описаний сервиса или пользователя, соединение регистрируется в списке текущих соединений от имени виртуального пользователя "System 0" как запрещенное, и все пакеты для данного соединения будут отбрасываться.

Если соединение удовлетворяет параметрам пользователя, но для него не найдено ни одного правила, соединение регистрируется от имени этого пользователя, но также - как запрещенное.

Если же сервис или правило, удовлетворяющее параметрам IP-соединения, найдено; соединение регистрируется, и к нему применяется действие, заданное в описании сервиса или правила. Возможны три типа действий: "Разрешить", "Запретить" или "Модифицировать".

  • Действие "Разрешить" позволяет всем пакетам данного соединения поступать из от драйвера сетевого адаптера в драйвер TCP/IP.
  • Если к IP-соединению применено действие "Запретить", все пакеты соединения будут отброшены.
  • Действие "Модифицировать", также как и действие "Разрешить" разрешает прохождение пакетов IP-соединения в драйвер TCP/IP. Но перед этим, в каждом пакете модифицируется один или несколько параметров, например IP-адрес или порт назначения.

    Таким образом, если к соединению применено действие "Разрешить" или "Модифицировать", пакеты соединения попадают в драйвер TCP/IP. Драйвер TCP/IP анализирует IP-адрес пакета назначения и определяет, куда отправить данный пакет.

    Если IP-адрес назначения совпадает с одним из IP-адресов, присвоеных сетевым адаптерам данного компьютера, драйвер TCP/IP определяет, есть ли локальное приложение, готовое принимать информацию для этого соединения. Затем драйвер TCP/IP производит сборку датаграммы из принимаемых пакетов и передает данные приложению через библиотеку сокетов.

    Ответные данные приложения будут вначале разбиты драйвером TCP/IP на пакеты и переданы драйверу сетевого адаптера. В этот момент они будут также перехвачены драйвером Lan2net NAT Firewall. Так как, для формирования ответа, подавляющее большинство приложений использует тот же протокол, IP адреса и номера портов источника и назначения, то ответные пакеты "попадут" в то же IP-соединение, что было зарегистрировано в драйвере Lan2net NAT Firewall при получении запроса. Если к соединению применено действие "Разрешить", то пакеты будут беспрепятственно переданы в драйвер сетевого адаптера, а затем назад отправителю запроса. В случае, если к соединению применено действие "Модифицировать", перед отправкой в пакетах произойдет обратная модификация параметров.

    Если же IP-адрес назначения запроса не является локальным адресом компьютера, драйвер TCP/IP просматривает таблицу маршрутизации и определяет сетевой адаптер, на который необходимо перенаправить принятые пакеты, чтобы доставить их по назначению. В момент передачи пакетов в драйвер сетевого адаптера, они перехватываются драйвером Lan2net NAT Firewall. Так как IP-адрес источника не является одним из локальных адресов, пакеты считаются транзитными. Для них регистрируется новое IP-соединение. Если IP-адрес источника не попадает в диапазон IP-адресов для NAT, то все пакеты соединения беспрепятственно передаются в драйвер сетевого адаптера, а затем и компьютеру, определенному IP-адресом назначения. В противном случае, ко всем пакетам применяется модификация IP-адреса источника и номера порта источника - NAT. Эти пакеты также передаются драйверу сетевого адаптера и далее по сети до своего назначения.

    Так как все IP-соединения в драйвере Lan2net NAT Firewall регистрируются от имени какого-нибудь пользователя или сервиса, транизитные соединения принадлежат виртуальным системным пользователям. Просто транизитные соединения регистрируются от имени пользователя "System 1". Соединения, к которым применяется NAT, регистрируются от имени пользователей "System 2", "System 3" и т.д.

    При получении ответа, пакеты проходят обратный маршрут, "попадая" в уже зарегистрированное текущее соединение. Над ними выполняются те же действия в обратном порядке. В конечном итоге ответные пакеты достигают компьютера пользователя сделавшего запрос.