Содержание |
NAT - модуль преобразования сетевых адресов (Network Address Translation, RFC1631). Позволяет в какой-то мере решить проблему исчерпания пространства адресов в IPv4 за счёт изменения IP-адресов локальной сети на общедоступный адрес (public address), с указанием порта таким образом, чтобы можно было безошибочно идентифицировать адресата данных, при их возвращении обратно.
В качестве локальных адресов может использоваться часть адресного пространства IPv4, зарезервированная для применения в так называемых частных IP-сетях (private internets). Протоколы маршрутизации глобальной сети Интернет не передают информацию об этих адресах, что позволяет использовать одни и те же адреса в разных местах глобальной сети. Частные сети широко используются провайдерами или компаниями для построения внутренней транспортной среды, а также для подключения небольших групп абонентов.
|
Синтаксис:
local_acl (-acl) - ACL local networks list and public address argument: $NAME [public_addr|dhcp IFNAME] [-exclude $DSTACL] [enable|disable|delete] maxlinks (-ml ) - maximal links number argument: NUM ignore_incoming (-i ) - ignore unknown incoming connections argument: [yes|no] same_ports (-sp ) - try to keep original port numbers for connections argument: [yes|no] verbose (-v ) - verbose mode, dump packet information argument: [yes|no] stat (-s ) - NAT statistic redirect_port (-rpo) - redirect a port (or ports) for incoming traffic argument: tcp|udp|ras|cs local_addr:local_port_range[,...] [public_addr:]public_port_range [remote_addr[:remote_port_range]] redirect_proto (-rpr) - redirect packets of a given proto argument: proto local_addr [public_addr [remote_addr]] redirect_address (-ra ) - define mapping between local and public addresses argument: local_addr[,...] public_addr proxy_rule (-pr ) - add transparent proxying / destination NAT argument: [type encode_ip_hdr|encode_tcp_stream] [port xxxx] [server [a.b.c.d]:yyyy] [proto tcp|udp] [src <addr>[/mask]] [dst <addr>[/mask]] default_h323 (-dh ) - use default H.323 ports for outgoing connections argument: [yes|no] h323_destination (-hd ) - describe H.323 outgoing connection argument: ras|cs remote_addr[:remote_port] [local_addr[:local_port]] proxy_only (-po ) - transparent proxy only, no aliasing argument: [yes|no] skinny_port (-skp) - set the TCP port for the Skinny Station protocol argument: port del (-del) - delete nat rule argument: rule_number enable (ena ) - enable nat translation disable (disa) - disable nat translation |
|
Назаначим общедоступный адрес "123.1.1.1/32" командой "ifconfig" на интерфейс "rf5.0". Применим команду "rip start", чтобы работала динамическая маршрутизация для общедоступный адреса.
Создадим список с одной единственной сетью "192.168.1.0/24" (наша частная сеть) и назначим сетевой адрес "123.1.1.1" в качестве общедоступного адреса этой сети.
Либо в качестве общедоступного адреса используем адрес, полученный по протоколу DHCP. "eth0" – интерфейс, через который DHCP выдал адрес.
Разрешим модулю NAT выполнять трансляцию адресов в соответствии с установленными правилами.
| ||||
Выполним настройку, при которой все входящие соединения TCP на порт 7777 данного маршрутизатора будут перенаправляться на машину с адресом "192.168.1.5" и портом 23 (telnet).
Требуется задать диапазон портов так, чтобы все входящие пакеты TCP с портами назначения в диапазоне 3300-3399 и адресом назначения "123.1.1.2" перенаправлялись на машину "192.168.1.4". Преобразование портов выполняется 1:1, то есть 3300->2300, 3301->2301 и т.д.
| ||||
Пусть, к примеру, сервер IRC запущен на клиенте A, а веб-сервер работает на клиенте B. Чтобы это работало, соединения, принимаемые на портах 6667 (irc) и 80 (веб), должны перенаправляться на соответствующие машины.
| ||||
Настроим переадресацию таким образом, чтобы весь трафик, приходящий на адрес "192.1.1.1", перенаправлялся в локальную сеть на адрес "192.168.1.2", а трафик, приходящий на адрес "192.1.1.2", - в локальную сеть на адрес "192.168.1.3".
| ||||
Выполним настройку, при которой все пакеты TCP, исходящие из локальной сети на порт 80, перенаправлялись на прокси-сервер провайдера.
| ||||
NAT и H.323 телефония Абоненты и контроллеры (gatekeeper) – центры обработки вызовов внутри своей зоны используют несколько протоколов стека H.323. Нас интересуют два из них - RAS (registration, admission, status), используемый для регистрации абонентов на контроллере и для мониторинга статуса абонентов, и CS (call signalling), используемый абонентами для сигнализации в пределах одного звонка. Оба эти протокола описаны в стандарте H.225.0. Распространенные конфигурации систем включают в себя следующие примеры. | ||||
Абонент находится в частной сети, шлюз находится по реальному адресу, абонент осуществляет только исходящие звонки. Для организации доступа абонента из частной сети к шлюзу можно воспользоваться параметром "h323_destination" с протоколом CS. Если шлюз принимает звонки на стандартный порт 1720, достаточно будет включить режим "default_h323". Необходимо, чтобы абонент мог совершать исходящие звонки на шлюз. Абонент находится в частной сети по адресу "10.0.0.99", шлюз - во внешней сети по адресу "123.45.67.89".
Абонент находится в частной сети по адресу "10.0.0.99", шлюз или несколько шлюзов – во внешней сети по неизвестным адресам.
| ||||
Несколько абонентов находятся в частной сети, шлюз находится по реальному адресу, осуществляются как исходящие, так и входящие звонки. Для доступа шлюза к абонентам потребуется использовать настройку "redirect_port" с указанным протоколом CS, разными для разных абонентов "alias" адресами или портами (и прописать "alias" адреса и порты в конфигурации шлюза), а также явно указать адрес и порт шлюза и адреса абонентов (можно указать и порты абонентов). Необходимо, чтобы абоненты могли совершать исходящие звонки на шлюз и принимать звонки, входящие со шлюза. Абоненты находятся в частной сети по адресам "10.0.0.98" и "10.0.0.99", шлюз - во внешней сети по адресу "123.45.67.89". "Alias_address NAT" пусть будет "123.45.67.65". В конфигурации шлюза надо будет указать адреса абонентов как "123.45.67.65:1720" и "123.45.67.65:1721" соответственно.
| ||||
Абонент из частной сети регистрируется на контроллере (gatekeeper) с реальным адресом и работает через контроллер. В этом случае достаточно задать параметр "h323_destination ras" и адрес контроллера. Если абоненты регистируются по стандартному для регистрации порту 1719, тогда можно просто включить режим "default_h323". Абонент находится в частной сети по адресу "10.0.0.99", а контроллер во внешней сети по адресу "123.45.67.89". Необходимо, чтобы абонент мог зарегистрироваться на этом контроллере, совершать и принимать через него звонки.
Некоторое число абонентов находится в частной сети, а контроллер во внешней сети по адресу "123.45.67.89" и нестандартному для RAS порту 1024. Необходимо, чтобы любой абонент мог зарегистрироваться на этом контроллере, совершать и принимать через него звонки.
Абонент находится в частной сети по адресу "10.0.0.99", контроллер или несколько контроллеров – во внешней сети по неизвестным заранее адресам. Необходимо, чтобы абонент мог зарегистрироваться на любом контроллере, совершать и принимать через него звонки.
| ||||
Абонент с общедоступным адресом регистрируется на контроллере из частной сети. Потребуется применить параметр "redirect_port" с указанным протоколом RAS и указать в нем частный адрес и RAS-порт контроллера, чтобы абоненты из внешней сети смогли зарегистрироваться на этом контроллере. Для того, чтобы локальные абоненты тоже смогли работать с контроллером, нужно будет дополнительно задать параметр "redirect_port" с указанным протоколом CS и указать в нем локальный адрес и порт контроллера. Абонент находится во внешней сети по адресу "123.45.67.89", а контроллер в частной сети по адресу "10.0.0.99". Необходимо, чтобы абонент мог зарегистрироваться на этом контроллере, совершать и принимать через него звонки. "Alias_address NAT" пусть будет "123.45.67.65". В конфигурации абонента адрес RAS контроллера должен будет выглядеть как "123.45.67.65:1719".
Локальный абонент находится во внешней сети по адресу "123.45.67.89", а контроллер в частной сети по адресу "10.0.0.99". Необходимо, чтобы абонент мог совершать и принимать через него звонки. "Alias_address NAT" пусть будет "123.45.67.65". В конфигурации абонента СS адрес контроллера должен будет выглядеть как "123.45.67.65:1720".
|