Опубликован: 26.07.2011 | Уровень: для всех | Доступ: платный
Лекция 12:

Обеспечение доступа в сеть Интернет

< Лекция 11 || Лекция 12: 123

Замечания по работе системы разрешения доменных имен

Система доменных имен Интернет (DNS, Domain Name System) представляет собой иерархическую распределенную систему сопоставления символьных имен узлов и сетевых служб их IP-адресам, а также маршрутизации электронной почты. Иерархия DNS отражена в многоуровневой структуре доменных имен (например: www.intuit.ru, ru — домен 1-го уровня, intuit — 2-го, www — 3-го).

Для разрешение IP-адреса по доменному имени используется рекурсивный поиск. Рекурсия начинается с обращения к одному из корневых DNS-серверов, содержащих ссылки на DNS-сервера, ответственные за домены 1-го уровня, далее отправляется запрос о расположении домена 2-го уровня к полномочному DNS-серверу домена 1-го уровня и т. д. Рекурсивный DNS-сервер обычно в целях снижения трафика кэширует запросы (DNS-кэш).

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

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

Примечание: Альтернативный вариант — на узле установить программное обеспечение, способное выполнять рекурсивные DNS-запросы.

Традиционно в Linux поведение клиентской подсистемы DNS определяется следующими файлами:

  • /etc/resolv.conf, в котором могут указываться домен узла, домен подстановки при разрешении неполных имен и список DNS-серверов;
  • /etc/hosts — содержит статическую таблицу разрешения имен узлов;
  • /etc/host.conf — содержит некоторые настройки подсистемы DNS.

В некоторых случаях для динамического изменения настроек DNS в зависимости от активных внешних подключений, используется пакет resolvconf. NetworkManager также может менять содержимое файла resolv.conf в соответствие с производимыми пользователем изменениями. В Debian также на содержимое файла resolv.conf могут влиять записи о DNS-серверах в файле /etc/network/interfaces. Для тестирования работы подсистемы DNS могут использоваться утилиты nslookup или dig (в Debian содержатся в пакете dnsutils ).

Пример 12.6. .

# dig -b 192.168.200.2 @192.168.200.1 www.intuit.ru a
;  <<>>  DiG 9.6-ESV-R3  <<>>  -b 192.168.200.2 @192.168.200.1 www.intuit.ru a
; (1 server found)
;; global options: +cmd
;; Got answer:
;; -  >>HEADER<< - opcode: QUERY, status: NOERROR, id: 4921
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 4, ADDITIONAL: 4
;; QUESTION SECTION:
;www.intuit.ru.      IN  A
;; ANSWER SECTION:
www.intuit.ru.    1295  IN  A  194.67.246.18
;; AUTHORITY SECTION:
intuit.ru.    1295  IN  NS  ns.intuit.ru.
intuit.ru.    1295  IN  NS  ns2.osp.ru.
intuit.ru.    1295  IN  NS  ns1.intuit.ru.
intuit.ru.    1295  IN  NS  ns3.osp.ru.
;; ADDITIONAL SECTION:
ns.intuit.ru.    3447  IN  A  194.67.165.74
ns1.intuit.ru.    3447  IN  A  194.67.246.5
ns2.osp.ru.    3447  IN  A  81.13.33.67
ns3.osp.ru.    3447  IN  A  194.67.168.66
;; Query time: 18 msec
;; SERVER: 192.168.200.1#53(192.168.200.1)
;; WHEN: Sun May 29 19:26:16 2011
;; MSG SIZE  rcvd: 186

Утилита dig полезна для тестирования DNS в сложных конфигурациях. В данном случае ключ -b позволяет указать исходный IP-адрес, после @ указывается IP-адрес сервера, к которому делается запрос, а затем — имя, которое нужно разрешить и тип записи ( a ).

Пример настройки сервера доступа в Интернет для локальной сети

Пусть есть подключение к инфраструктуре провайдера по технологии Ethernet, а Интернет-доступ осуществляется с помощью технологии PPTP VPN. Реализуем в VirtualBox на основе Linux схему, состоящую из сервера доступа (первая виртуальная машина) к сети Интернет для виртуального сетевого сегмента, представленного еще одной виртуальной машиной - клиентом. Для доступа сервера к Интернет будет использоваться подключение VirtualBox "Сетевой мост", виртуальный локальный сегмент будет использовать "Внутреннюю сеть". Настроим на сервере для клиентов виртуальной локальной сети DNS-кэш на основе программы dnsmasq [ 50 ] таким образом, чтобы клиенты отправляли DNS-запросы на локальный адрес сервера, а сервер обращался к DNS-серверу провайдера. Дополнительно также будет настроен DHCP-сервер на локальном интерфейсе.

  1. Запустим сервер, предварительно настроив два сетевых адаптера сервера на соответствующие виртуальные подключения. Пусть сетевой адаптер сервера eth0 подключен к сетевому мосту, а eth1 — к внутренней сети. Настроим eth0 на динамическое получение параметров IP (в сети провайдера), а на eth1 установим статический IP-адрес 192.168.1.1/24. В Debian для этого надо отредактировать файл /etc/network/interfaces и перезапустить сетевую подсистему:
    # cat /etc/network/interfaces 
    auto lo
    iface lo inet loopback
    
    auto eth0
    iface eth0 inet dhcp
    
    auto eth1
    iface eth1 inet static
        address 192.168.1.1
        netmask 255.255.255.0
  2. Далее установим на сервере пакет pptp-linux с помощью команды apt-get:
    # apt-get install pptp-linux

    В файле /etc/ppp/chap-secrets укажем логин, имя подключения и пароль для подключения к сети провайдера:

    # cat /etc/ppp/chap-secrets
    user0013 vpn Sdnf5r1

    Для инициализации pptp-туннеля и настройки маршрутизации на сервере напишем скрипт upptplink.sh:

    # cat upserver.sh 
    #!/bin/sh
    
    # адрес VPN-сервера
    SERVER ="10.10.10.10" 
    # имя пользователя
    USER=user0013
    # имя ppp-интерфейса
    PIF=ppp0
    
    pppd file /etc/ppp/options.pptp defaultroute replacedefaultroute name $USER
       remotename vpn pty  "pptp $SERVER —nolaunchpppd" 
    
    sleep 5
    echo 1 > /proc/sys/net/ipv4/ip_forward
    iptables -t nat -A POSTROUTING -o $PIF -s 192.168.1.0/24 -j MASQUERADE

    Утилита pppd устанавливает соединение точка-точка с VPN-сервером c помощью утилиты pptp. Основные опции pppd указаны в файле /etc/ppp/options.pptp (в данном случае используются настройки по умолчанию), в командной строке указаны опции defaultroute и replacedefaultroute для использования туннеля в качестве шлюза по умолчанию и перезаписи, если необходимо, текущего шлюза по умолчанию, опция name — имя пользователя, remotename — имя vpn-подключения.

    В скрипте также включается функция пересылки и создается правило для трансляции запросов узлов локальной сети в адрес, установленный на ppp-интерфейсе.

  3. Для Debian dnsmasq можно установить из репозитория (пакет называется dnsmasq-base):
    # apt-get install dnsmasq-base

    Далее создадим файл конфигурации /etc/dnsmasq.conf:

    # cat /etc/dnsmasq.conf
    listen-address=192.168.1.1
    no-dhcp-interface=eth0,ppp0
    no-resolv
    server=10.10.10.10
    dhcp-range=192.168.1.10,192.168.1.253,24h
    cache-size=300
    dhcp-leasefile=/var/lib/misc/dnsmasq.leases

    Опция listen-address указывает на каком интерфейсе слушать клиентские dns-запросы, no-resolv — не использовать файл /etc/resolv.conf для настройки родительского DNS-сервера, server — указать DNS-сервер провайдера.

    Примечание: Кроме DNS-форвардинга в dnsmasq реализована функция выдачи IP-адресов клиентам по протоколу DHCP (DHCP-сервер). Соответственно опция dhcp-range — диапазон динамически выдаваемых адресов, no-dhcp-interface — запретить на указанных интерфейсах выдавать IP-адреса. Необходимые настройки протокола IP для передачи DHCP-клиентам dnsmasq сформирует автоматически (маску подсети, шлюз по умолчанию, адрес DNS-сервера).
  4. Запустим еще одну виртуальную машину (клиента), предварительно подключив ее сетевой адаптер к внутренней сети. В системе сетевой интерфейс настроим на динамическую настройку IP-параметров:
    # cat /etc/network/interfaces | grep eth0
    auto eth0
    iface eth0 inet dhcp

    После инициализации сетевой подсистемы на клиенте можно проверить доступ в сети Интернет.

Ключевые термины

Виртуальные частные сети (VPN, Virtual Private Network) - обобщённое название технологий, позволяющих обеспечить одно или несколько сетевых соединений (логическую сеть) поверх другой сети.

xDSL - семейство технологий, использующих абонентские линии DSL (Digital Subscriber Line), "x" cлужит обозначением конкретной технологии.

Трансляция сетевых адресов (NAT, Network Address Translation) - механизм в сетях TCP/IP, позволяющий преобразовывать IP-адреса пакетов.

PPPoE (Point-to-point protocol over Ethernet)сетевой протокол канального уровня передачи кадров PPP через Ethernet. В основном используется xDSL-сервисами. Предоставляет дополнительные возможности (аутентификация, сжатие данных, шифрование).

3G (технологии мобильной связи 3 поколения) — набор услуг, который объединяет как высокоскоростной мобильный доступ с услугами сети Интернет, так и технологию радиосвязи.

PPTP (Point-to-Point Tunneling Protocol) — туннельный протокол типа точка-точка, позволяющий компьютеру устанавливать защищённое соединение с сервером за счёт создания специального туннеля в стандартной, незащищённой сети. PPTP помещает (инкапсулирует) кадры PPP в IP-пакеты для передачи IP-сети.

Краткие итоги

  1. Обычно для доступа к сети Интернет клиенту необходимо устанавливать специальное оборудование, а также настраивать логические подключения с использованием технологий VPN. Широко распространенными технологиями доступа в Интернтет являются: xDSL, 3G, Wi-Fi, WiMax, Ethernet и т.д.
  2. Для сегмента локальной сети доступ в Интернет может быть организован с помощью граничного устройства с включенной функцией трансляции адреса источника: при взаимодействии с узлом Интернет адрес локального узла подменяется Интернет-адресом граничного устройства в соответствии с таблицей трансляции. Альтернативным вариантом является установка прикладного прокси-сервера.
  3. Для публикации локального информационного ресурса в сети Интернет может использоваться трансляция адреса получателя на граничном устройстве: обращения узлов Интернет к определенному порту внешнего адреса граничного устройства преобразуются в обращения к данному узлу локальной сети.
  4. Важным элементом во взаимодействии узлов Интернет является система DNS. Для корректного определения IP-адресов по символьным именам на узле должен быть настроен адрес DNS-сервера.

Упражнения

  1. С помощью двух виртуальных машин в среде VirtualBox реализовать пример 12.1
  2. С помощью двух виртуальных машин и основной системы в среде VirtualBox реализовать пример 12.3, пример 12.4. Настроить на шлюзе DHCP-сервер для динамической выдачи IP-адресов узлам локальной сети. Разрешить узлам локальной сети выход во внешнюю сеть 10.0.0.0/8 и доступ к шлюзу, а прочий трафик запретить.
< Лекция 11 || Лекция 12: 123
Нияз Сабиров
Нияз Сабиров

Здравствуйте. А уточните, пожалуйста, по какой причине стоимость изменилась? Была стоимость в 1 рубль, стала в 9900 рублей.

Елена Сапегова
Елена Сапегова

для получения диплома нужно ли кроме теоретической части еще и практическую делать? написание самого диплома требуется?