x.1 ОРГАНИЗАЦИЯ МНОЖЕСТВА ВИРТУАЛЬНЫх СЕРВЕРОВ Для обеспечения доступа к серверам внутренних частных сетей из внешнего мира служит механизм виртуальных серверов. Такой механизм реализован для протоколов UDP и TCP, на которых работает большинство служб Internet (Mail, HTTP, FTP и др.) В таблицу трансляции добавляются записи , обеспечивающие однозначное соответствие между внешним адресом:портом и внутренним адресом:портом. В рамках локальных сетей, сервера видны под своими внутренними адресами, а для клиентов извне они видны только под внешними адресами. x.2 ОПИСАНИЕ РАБОТЫ МЕхАНИЗМА ВИРТУАЛЬНЫх СЕРВЕРОВ При работе с виртуальными серверами по протоколу TCP - Пакет из внешней сети имеющий в заголовке реальные адреса(источника и приемника) поступает на интерфейс маршрутизатора (с включенным сервисом NAT). - В таблице находится запись где для данного адреса(EADR) и порта(DEP) приемника(destination) указан соответствующий внутренний (локальный) адрес(IADR) и порт (DIP) виртуального сервера. - Производится преобразование адресной части заголовка пакета. в которую подставляется адрес сервера во внутренней сети. Информация об этом преобразовании сохраняется в маршрутизаторе для обратного преобразования, затем пакет поступает во внутреннюю сеть. - При поступлении ответа от сервера производится обратное преобразование и пакет (ответ) направляется во внешнюю сеть. При работе с виртуальными серверами по протоколу UDP Если пакет идет из внешней сети во внутреннюю, то все происходит аналогичным образом (как для TCP) за исключение того, что нет никакого соединения и не сохраняется никакой информации о проходящем пакете. Если пакет идет из внутренней сети во внешнюю,то - Пакет из внутренней сети имеющий в заголовке реальный адресс приемника и внутренний адрес источника поступает на интерфейс маршрутизатора (с включенным сервисом NAT) для вывода его во внешнюю сеть. - В таблице находится запись, где для данного внутреннего (локального) адреса(IADR) и порта (DIP) источника запроса, указан соответствующий внешний адрес(EADR) и порт(DEP). - Производится преобразование адресной части заголовка пакета, в которую подставляется (в качестве источника запроса) адрес и порт сервера во внешней сети. затем пакет поступает во внешнюю сеть. x.3 КОМАНДЫ НАСТРОЙКИ ТАБЛИЦЫ ВИРТУАЛЬНЫх СЕРВЕРОВ Добавление записи в таблицу виртуальных серверов S N IP:n EADR:x.x.x.x IADR:y.y.y.y PT:[UDP/TCP] DEP:k DIP:l где n - номер интерфейса с включенным NAT x.x.x.x - адрес сервера во внешней сети y.y.y.y - адрес сервера во внутренней сети k - номер порта во внешней сети l - номер порта во внутренней сети Параметр PT: определяет тип транспортного протокола, на котором производится трансляция (UDP или TCP). Примечание 1: Сочетание внешнего адреса (EADR) и номера порта (DEP) для данного типа протокола должно быть уникальным для данного интерфейса. Примечание 2: Сочетание внутреннего адреса (IADR) и номера порта (DIP) для данного типа протокола должно быть уникальным для данного интерфейса. Примечание 3: Для некоторых серверов, например FPT, одной записи в таблице является недостаточно, т.к. они используют 2 порта. (порт 20 и 21 в данном случае). Удаление записи из таблицы виртуальных серверов C N IP:n EADR:x.x.x.x IADR:y.y.y.y PT:[UDP/TCP] DEP:k DIP:l все параметры команды аналогичны комаде добавления записи. Просмотр записей таблицы виртуальных серверов D N IP:n где n - номер интерфейса с включенным NAT При выполнении этой команды сначала выводятся строки из таблицы трансляции адресов а затем строки таблицы виртуальных адресов, например Manager: dnip:2 IP:2 EADR:210.1.2.7 IADR:10.0.0.0 MASK:255.0.0.0 IP:2 EADR:210.1.2.1 IADR:10.0.0.2 PT:TCP DEP:80 DIP:80 IP:2 EADR:210.1.2.5 IADR:10.0.0.2 PT:TCP DEP:23 DIP:23 Примечание: После любого изменения в таблице трансляции адресов , либо в таблице виртуальных серверов необходимо сделать команду W S IP:n (где n - номер интерфейса, для которого поправили таблицу) Просмотр текущей таблицы трансляции и таблицы виртуальных серверов осуществляется командой D S NAT:n n - номер интерфейса, например Manager: dsnat:2 ~~~~~~~~~~~~~ Current Address Translation Table ~~~~~~~~~~~~~~~~~~ External Address Internal Net Subnet Mask 210.1.2.7 10.0.0.0 255.0.0.0 ~~~~~~~~~~~~~ Current Virtual Server Table ~~~~~~~~~~~~~~~~~~ External Address:Port Internal Address:Port Protocol 210.1.2.1:80 10.0.0.2:80 TCP 210.1.2.1:23 10.0.0.8:23 TCP # Prot Internal IP/Port(ID) Local IP/Port(ID) Remote IP/Port ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ x.4 ВАРИАНТЫ НАЗНАЧЕНИЯ АДРЕСОВ ВИРТУАЛЬНЫМ СЕРВЕРАМ Имеются различные варианты назначения адресов виртуальным серверам ВАРИАНТ A - сервера располагаются на разных машинах локальной (внутренней) сети и представлены во внешней сети различными адресами. на машине с адресом 10.0.0.1 находится FTP-сервер (представлен внешним адресом 210.1.2.83) на машине с адресом 10.0.0.2 находится HTTP-сервер (представлен внешним адресом 210.1.2.89) адрес под которым выходят машины локальной сети во внешний мир 210.1.2.81 S P IP:n IADR:210.1.2.81 .... NAT:YES S N IP:n EADR:210.1.2.83 IADR:10.0.0.1 PT:TCP DEP:20 DIP:20 S N IP:n EADR:210.1.2.83 IADR:10.0.0.1 PT:TCP DEP:21 DIP:21 S N IP:n EADR:210.1.2.89 IADR:10.0.0.2 PT:TCP DEP:80 DIP:80 Машины внутренней локальной сети обращаются к своим FTP и HTTP серверам используя внутренние адреса 10.0.0.1 и 10.0.0.2 соответственно. Для внешних клиентов эти сервера будут видны через адреса 210.1.2.83 и 210.1.2.89. ВАРИАНТ B - сервера располагаются на разных машинах локальной (внутренней) сети,но представлены во внешней сети одним и тем же адресом. на машине с адресом 10.0.0.1 находится FTP-сервер (предствлен внешним адресом 210.1.2.83) на машине с адресом 10.0.0.2 находится HTTP-сервер (предствлен внешним адресом 210.1.2.83) под этим же адресом ( 210.1.2.83 ) машины локальной сети выходят во внешний мир S P IP:n IADR:210.1.2.83 .... NAT:YES S N IP:n EADR:210.1.2.83 IADR:10.0.0.1 PT:TCP DEP:20 DIP:20 S N IP:n EADR:210.1.2.83 IADR:10.0.0.1 PT:TCP DEP:21 DIP:21 S N IP:n EADR:210.1.2.83 IADR:10.0.0.2 PT:TCP DEP:80 DIP:80 Машины внетренней локальной сети обращаются к своим FTP и HTTP серверам используя внутренние адреса 10.0.0.1 и 10.0.0.2 соответственно. Для внешних клиентов эти сервера будут видны через один адрес - 210.1.2.83. ВАРИАНТ С - сервера располагаются на одной и той же машине локальной (внутренней) сети, но представлены во внешней сети различными адресами. на машине с адресом 10.0.0.1 находится FTP-сервер (предствлен внешним адресом 210.1.2.83) и HTTP-сервер (предствлен внешним адресом 210.1.2.89) под адресом 210.1.2.83 машины локальной сети выходят во внешний мир S P IP:n IADR:210.1.2.83 .... NAT:YES S N IP:n EADR:210.1.2.83 IADR:10.0.0.1 PT:TCP DEP:20 DIP:20 S N IP:n EADR:210.1.2.83 IADR:10.0.0.1 PT:TCP DEP:21 DIP:21 S N IP:n EADR:210.1.2.89 IADR:10.0.0.1 PT:TCP DEP:80 DIP:80 Машины внетренней локальной сети обращаются к своим FTP и HTTP серверам используя внутренние адреса 10.0.0.1 . Для внешних клиентов эти сервера будут видны через адреса 210.1.2.83 и 210.1.2.89 соответственно. ============================================================================= ============================================================================= ============================================================================= опробованные варианты сам IP:2 имеет адрес 177.77.77.78 и с него идет обычное натов'ское обращение #1 IP:2 EADR:210.1.2.1 IADR:10.0.0.2 PT:TCP DEP:80 DIP:80 #2 IP:2 EADR:210.1.2.5 IADR:10.0.0.2 PT:TCP DEP:23 DIP:23 #3 IP:2 EADR:210.1.2.5 IADR:10.0.2.20 PT:TCP DEP:1023 DIP:23 #4 IP:2 EADR:210.1.2.55 IADR:10.0.0.2 PT:TCP DEP:20 DIP:20 #5 IP:2 EADR:210.1.2.55 IADR:10.0.0.2 PT:TCP DEP:21 DIP:21 #6 IP:2 EADR:210.1.2.20 IADR:10.0.2.20 PT:UDP DEP:161 DIP:161 --- В локальной сети есть сервер HTTP, FTP, Telnet по адресу 10.0.0.2 он виден из внешнего мира по адресу 210.1.2.1 (HTTP) запись #1 210.1.2.5 (Telnet (порт 23)) запись #2 210.1.2.55 (FTP) запись #4,#5 --- В локальной сети есть Router NPS-7e его адрес 10.0.2.20 он виден из внешнего мира по адресу 210.1.2.5 (Telnet (порт 1023)) запись #3 -- преобразование к порту 23 -- внешний адрес совпадает с внешним адресом сервера 210.1.2.20 (SNMP) запись #6 (UDP - идет датаграммный обмен)