Подключение локальной сети к Интернету

Подключение локальной сети к Интернету.


На главную страницу | Интернет | Хостинг | Сервисы

В этой статье описаны три варианта подключения локальной сети к Интернет:

  • "прямое" IP-подключение
  • подключение через NAT
  • подключение через прокси-сервера

Я постарался по возможности описать преимущества, недостатки и область применения каждого метода, а также некоторые возникающие нюансы.

Выбор конкретного способа подключения зависит от потребностей пользователей, цели подключения и, в некоторой степени, финансовых возможностей.

Итак, что мы имеем вначале:

  • компьютер локальной сети, подключенный к Интернет. У него есть доступ как к Интернету, так и к локальной сети;

  • локальная сеть, в которую включен этот компьютер. Наша задача - дать компьютерам локальной сети доступ к Интернет через подключенный к нему компьютер. Далее этот компьютер мы будем называть шлюзом или маршрутизатором.

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

"Прямое" IP-подключение к Internet

Для того, чтобы Ваша локальная сеть была полноценно подключена к Интернету, должны соблюдаться, как минимум, три условия:

  • Каждая машина в локальной сети должна иметь "реальный", интернетовский IP-адрес;

  • Эти адреса должны быть не любыми, а выделенными Вашим провайдером для Вашей локальной сети (скорее всего, это будет подсеть класса C);

  • На компьютере-шлюзе, подключенном к двум сетям - локальной сети и сети провайдера, должна быть организована IP-маршрутизация, т.е. передача пакетов из одной сети в другую.

В этом случае Ваша локальная сеть становится как бы частью Интернета. Собственно, это тот способ подключения, которым подключены к Интернету сами Интернет-провайдеры и хостинг-провайдеры.

В отличие от обычного подключения, рассчитанного на один компьютер, при таком подключении "под клиента" выделяется не один IP-адрес, а несколько, так называемая "IP-подсеть". Обычно в прайсах провайдера, выделяющего подсети, указана стоимость подсети класса C (255 адресов). В такой подсети первые три байта IP-адреса идентифицируют саму подсеть, а последнее число - компьютер в данной (Вашей) подсети.

В качестве компьютера-шлюза провайдеры рекомендуют использовать ПК под упавлением клона UNIX (Linux, FreeBSD), т.к., во-первых, многие их реализации бесплатны и содержат в себе все необходимые компоненты для организации IP-маршрутизатора и FireWall, а также много других необходимых или полезных сервисов (которые, в случае использования Windows, можно найти только в NT или даже 2000), а во-вторых, эти ОС менее требовательны к ресурсам ПК (в случае отказа от графических интерфейсов; слышал даже такое, что под управлением Linux с обслуживанием не очень большой сети справится даже ПК i486). Однако это необязательно. В крайнем случае в качестве ПО маршрутизатора можно применить Windows 98 или даже Windows 95. Вопреки распространенному мнению, что эти ОС не поддерживают возможность маршрутизации, такая возможность в них есть и включается достаточно просто (после установки некоторых апдейтов). Как это сделать - очень хорошо описано в статье Александра Каспина "Скрытые возможности роутинга в Win95". К тому же, в этом случае на ПК-шлюзе можно работать, как на обычном :-)

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

Однако такая "прозрачность" Вашей сети резко снижает ее защищенность - ведь любые сервисы в локальной сети, даже предназначенные для "внутреннего" использования, станут доступными извне через Интернет. Чтобы это не имело места, доступ в локальную сеть извне несколько ограничивают. Обычно это делается установкой на шлюзе программы-firewall. Это своеобразный фильтр пакетов, проходящих из одной сети в другую. Путем его настройки можно запретить вход-выход из локальной сети пакетов, соответствующих определенным критериям - типу IP-пакета, IP-адресу назначения, TCP/UDP-порту и т.п.

Firewall решает такие задачи, как:

  • блокировку доступа извне к определенным TCP/IP-сервисам локальной сети. Обычно блокируется доступ к TCP-портам "Службы доступа сети Microsoft", представляющей собой стандартный файловый сервер и сервер печати MS Windows;

  • блокировку доступа к определенным компьютерам локальной сети. Таким образом, можно запретить доступ извне ко всем машинам, кроме определенных серверов, предназначенных для доступа из Интернет.

  • защиту от троянских программ на сетевом уровне.

Несмотря на универсальность такого метода подключения локальной сети к Интернет, этот метод имеет недостатки. Благодаря им, его реально и используют только лишь те организации, которым надо сделать свои сервера доступными из Интернет - в основном, те же интернет-провайдеры и хостинг-провайдеры, а также информационные службы. Самый главный недостаток заключается в дороговизне выделения IP-адресов и уж тем более IP-подсетей, к тому же эту плату надо вносить периодически. К тому же, сейчас не каждый провайдер выдает реальные IP-адреса - к примеру, у нас в городе три провайдера выдают виртуальные адреса (192.168.x.x) и только один - реальные.

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

Подключение через NAT (IP-маскарадинг)

Технология Network Address Translation (NAT) - "трансляция сетевых адресов" позволяет нескольким машинам локальной сети иметь доступ к Интернет через одно подключение и один реальный внешний IP-адрес.

Рассмотрим теоретически, как все это работает.

Для того, чтобы компьютера локальной сети могли устанавливать соединения с серверами сети Интернет, нужно, чтобы:

  • IP-пакеты, адресованные серверу в Интернет, смогли его достигнуть;

  • ответные IP-пакеты, идущие от сервера Интернет на машину в локальной сети, также смогли ее достигнуть.

С первым условием проблем не возникает, а как быть со вторым? Ведь компьютера локальной сети не имеют своего "реального" интернетовского IP-адреса! Как же они могут получать IP-пакеты из Интернет?!

А работает это следующим образом - на компьютере-шлюзе стоит программа NAT-сервера. Компьютер-шлюз прописан на машинах локальной сети как "основной шлюз", и на него поступают все пакеты, идущие в Интернет (не адресованные самой локальной сети). Перед передачей этих IP-пакетов в Интернет NAT-сервер заменяет в них IP-адрес отправителя на свой, одновременно запоминая у себя, с какой машины локальной сети пришел этот IP-пакет. Когда приходит ответный пакет (на адрес шлюза, конечно), NAT определяет, на какую машину локальной сети его надо направить. Затем в полученном пакете меняется адрес получателя на адрес нужной машины, и пакет доставляется этой машине через локальную сеть.

Как видим, работа NAT-сервера прозрачна для машин локальной сети (как и работа обычного IP-маршрутизатора). Единственным принципиальным ограничением этого метода подключения локальной сети к Internet является невозможность установить _входящее_ TCP-соединение из Интернет на машину локальной сети. Однако для "клиентских" сетей этот недостаток превращается в достоинство, резко увеличивающее (по сравнению с первым методом подключения) их защищенность и безопасность. Администраторы некоторых провайдеров даже употребляют слова NAT и Firewall как синонимы.

Однако есть одно "но": работа по некоторым протоколам предполагает установку TCP-соединений по инициативе сервера. Так, протокол FTP в стандартном варианте предусматривает установку TCP-соединений от сервера к клиенту. Правда, протокол FTP предусматривает так называемый "пассивный" режим (когда все TCP-соединения инициирует компьютер-клиент), но далеко не со всеми FTP-серверами можно в этом режиме работать. Поэтому программы NAT-серверов предусматривают специальную обработку FTP-сеансов, также вызывая установление этих соединений на себя. Это возможно, потому что параметры этих соединений предсказуемы.

Вообще, работать через NAT достаточно удобно. Одно время я полгода работал с одним провайдером, не зная и не задумываясь, что вся его (провайдера) сеть подключена к более крупной сети через NAT и имеет один внешний IP-адрес. При этом связь работала очень даже быстро.

В качестве NAT-сервера провайдеры также рекомендуют машину под управлением UNIX-подобной системы. Из Windows-ов штатный NAT-сервис имеет только Windows 2000 (насчет NT4 - не знаю). На Windows 95/98 можно использовать пакет NAT32.

Подключение через прокси-сервер.

Это самый простой тип подключения. При этом, строго говоря, никакой маршрутизации IP-пакетов между локальной сетью и сетью Интернет не происходит. Машины локальной сети работают с Интернет через программу-посредник, так называемый прокси-сервер, установленный на компьютере-шлюзе.

Основной особенностью этого метода является его "непрозрачность". Если, скажем, в случае NAT программа-клиент просто обращается к Интернет-серверу, не "задумываясь", в какой сети и через какую маршрутизацию она работает, то в случае работы через прокси-сервер программа должна явно обращаться к прокси-серверу. Мало того, клиентская программа должна уметь работать через прокси-сервер. Однако проблем с этим не возникает - все современные и не очень броузеры умеют работать через прокси-сервера.

Другой особенностью является то, что прокси-сервер работает на более высоком уровне, чем, скажем, NAT. Здесь уже обмен с Internet идет не на уровне маршрутизации пакетов, а на уровне работы по конктретным прикладным протоколам (HTTP, FTP, POP3...). Соответственно для каждого протокола, по которым должны "уметь" работать машины локальной сети, на шлюзе должен работать свой прокси-сервер.

Некоторые HTTP прокси-сервера умеют также работать с FTP-серверами. При этом клиент пользуется обычным броузером и сам работает с таким прокси как обычно, по протоколу HTTP. Однако такие прокси-сервера позволяют только скачивать файлы с FTP-серверов и не позволяют их закачивать на сам сервер (работают только "на прием"). Так что, если работа по FTP нужна, скажем, для обновления веб-сайта, то придется использовать специальный FTP-прокси и работать через него при помощи FTP-клиента (FTP Explorer, CuteFTP и т.п.)

Эта "протокольная зависимость" и есть основной недостаток этого метода подключения как самостоятельного. Однако, с другой стороны, "маршрутизация" на таком высоком уровне может дать и немалые преимущества.

Почти каждый интернет-провайдер имеет один или несколько прокси- серверов, через которые рекомендует работать своим клиентам. Несмотря на то, что это совершенно необязательно (как правило, клиент провайдера может обращаться к Интернет напрямую), это дает выигрыш в производительности, а при повременной оплате, соответственно, экономить время он-лайн. Это происходит потому, что прокси-сервера способны кэшировать (запоминать) запрашиваемые пользователем документы, и при следующих к ним обращениях выдавать копию из кэша, что быстрее, чем повторно запрашивать с интернет-сервера. Кроме того, прокси-сервера могут быть настроены так, что будут блокировать загрузку баннеров наиболее распространенных баннерных служб, тем самым также (порой значительно) ускоряя загрузку веб-страниц.

При установке HTTP прокси сервера в локальной сети и работе через него за счет кэширования экономится не только время, но и трафик - потому, что кэширование происходит в самой локальной сети, "до" канала с провайдером, в котором считается трафик (при оплате за объем перекачанной информации).

Выбор прокси-серверов для локальной сети сегодня достаточно широкий. Есть программные продукты, совмещающие в себе несколько прокси-серверов для работы по разным протоколам. К таким относятся, например EServ и WinGate.

EServ - это комплексный программный продукт, содержащий в себе HTTP, FTP, SMTP/POP3, NNTP, SOCKS и другие прокси-сервера. Кроме того, эта программа позволит Вам организовать в локальной сети внутренний веб-сервер, FTP-сервер, электронную почту и "локальные" группы новостей вашей организации - так, сказать, ваш собственный "Интернет в миниатюре", довольно органично сочетающийся с "большим Интернетом" :-) Так, Вы можете настроить локальный "виртуальный" почтовый домен, при отправке на который письмо попадает не в Интернет, а в локальный ящик другого пользователя. Аналогично можно настроить и локальные группы новостей.

EServ хорошо продуман для работы по коммутируемым модемным каналам связи, позволяя экономить время подключения к Интернет и не дозваниваться лишний раз. Так, он содержит встроенный планировщик, позволяющий, скажем, через определенные интервалы времени запускать прием-отправку внешней почты и синхронизацию групп новостей. Собственно, планировщик является универсальным и пригоден не только для планирования заданий EServ, но и запуска в назначенное время других программ.

Кроме организации "локальных" служб, сервера в составе EServ позволяют сделать более удобной работу с Интернет. Так, если вы оплачиваете у своего интернет-провайдера почтовый домен (адрес EMail в виде любое_имя@домен) то с помощью EServ Вы можете организовать разбор принимаемой почты по локальным почтовым ящикам, из которых каждый пользователь будет брать свою почту, заходя на POP3-сервер EServ под своим логином и паролем.

WinGate - это тоже комплексный прокси-сервер, позволяющий работать с Интернет по протоколам HTTP, FTP, POP3, SMTP, SOCKS. Кроме этого, в нем реализована интересная функция - Winsock Redirector, которая позволяет компьютерам локальной сети работать с Интернет так, как если бы они имели на него непосредственный выход, без использования NAT.

Winsock Redirector состоит из серверной и клиентской частей. Серверная часть - это соответствующий сервис WinGate, а клиенсткая называется WinGate Internet Client и ставится на компьютера локальной сети из того же дистрибутива, что и сервер WinGate. Клиентская часть интегрируется с Winsock-библиотекой, реализующей протоколы TCP/IP в WIndows, "перехватывает" вызов ее функций и вызывает через сервис соответствующие функции WinSock на машине-шлюзе, направляя результаты обратно на машину локальной сети. Через этот сервис нормально работает даже FTP в обычном режиме! При этом на работу локальной сети WinGate Internet Client не влияет. Однако он может конфликтовать с другими программами, также использующими перехват функций библиотеки WinSock. Но их "в природе" немного, в основном это FireWallы и антивирусы, проверяющие принимаемую почту. Так, при включенном WinGate Internet Client у меня не загружался SpiderMail из комплекта DrWeb 4.27. Однако это, по-моему, не такой серьезный недостаток по сравнению с возможностями.

(c) Андрей Черный, 2002-2003г.
angel07@inbox.ru


На главную страницу | Интернет | Хостинг | Сервисы

Профессиональный хостинг от 5$ в месяц