От авторов

Данная книга была написана системным администратором Юрием А. Денисовым в соавторстве с доцентом кафедры Дискретной математики СГУ им. Н.Г. Чернышевского Юлией А. Бродской, и обобщает их опыт в настройке сетевых протоколов для доступа в Интернет для SOHO и домашних пользователей. Материал данной книги брался из открытых источников, прежде всего, из Интернета, и перепроверялся на компьютерах и виртуальных машинах авторов. Поэтому авторы ответственно заявляют, что все советы актуальные, проверенные и надёжные.

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

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

Данное издание является справочником, построено по системе «Вопрос–Ответ». Вопросы сгруппированы по темам, которые формируют отдельные части книги. Логически книга разбита на 6 частей. В первой рассказано об установке сетевых карт и менеджеров пакетов. Во второй говориться о протоколах канального уровня в практическом аспекте. В третьей говориться о протоколах сетевого уровня. В четвёртой рассказывается о настройке популярных домашних маршрутизаторов. В пятой описываются DNS сервера. В шестой говориться о средствах обхода блокировок внутри сети.

Материал неравноценный по сложности в главах, поэтому в книге вопросы разбиты на части «для начинающих» и «для искушённых пользователей», которые надо читать только «во втором прочтении» или справочно.

Данную книгу Вы можете читать от начала до конца, от конца к началу, и даже с середины – только бы читатель обладал минимальными начальными знаниями. С предложениями по улучшению книги Вы можете писать на E-mail: yudenisov@mail.ru Также заходите на FTP сервер авторов 88-147-147-107.san.ru (номера портов 21, 10021, 11021, 12021, сервера работают не круглосуточно).

Инсталляция оборудования и программного обеспечения

Инсталляция сетевой карты

ДЛЯ НАЧИНАЮЩИХ

Какие бывают сетевые карты

Q: Какие бывает сетевые карты на компьютере и в ноутбуке?

A:

По среде передачи данных сетевые карты в компьютерах и ноутбуках бывают:

Проводными стандарта Ethernet (проводные карты других стандартов сейчас уже практически не встречаются). Ethernet карты бывают «медными» и «оптоволоконными», работающие соответственно на кабелях типа «витая пара» UTP/STP и оптоволоконных кабелях (жила – стекло). Медный Ethernet бывает стандартов 10BaseT (устаревший), 100BaseTX, 1000BaseT/1000BASE-TX (Gigabit Ethernet) и 10GBASE-CX4 (10GBit использует специально разработанные коннекторы). Стандарты обратно совместимы, различаются энергопотреблением, скоростью передачи данных и требованиям к кабельной проводке. Практически все они используют разъёмы RJ-45.

Беспроводные формата Wi-fi (VLAN). На сетевом и канальном уровне отличий от Ethernet карт практически нет, но средой передачи сигнала служит эфир. Wi-fi работает в диапазоне 2,4 и 5 ГГц, в зависимости от стандарта связи, и обеспечивает скорость передачи данных на расстояния до 100 м и скоростью от 2 до 50 Мбит/с. Скорость и дальность связи связаны между собой, и ещё дополнительно зависят от помех связи и числу работающих в сети или в соседних сетях устройств.

Устройства Bluetooth (Bluetooth модемы). Bluetooth, в отличие от Ethernet, обеспечивает передачу между устройствами напрямую, типа «точка-точка», что роднит их с модемами. Однако при соединении нескольких устройств одно из них начинает исполнять роль хаба, что роднит их с сетевыми устройствами. К тому же Bluetooth устройства имеют собственные Mac адреса, обладают сетевой автоконфигурацией и передают данные в режиме обнаружения несущей, как Wi-fi сети, но не как беспроводные модемы. Поэтому автор их всё-таки относит к сетевым картам. Bluetooth имеет дальность связи от 2 до 10 метров, работает в диапазоне частот 2,4 ГГц и обеспечивает связывание до 10 устройств. Прежде, чем начать передачу между устройствами, должно пройти их сопряжение. Сопряжённых устройств может быть очень много, но одновременно в сети должно присутствовать не более 10.

Отдельно нужно упомянуть модемы, которые хоть и служат для связи компьютеров между собой и часто имеют собственные адреса, но передают они только данные типа «точка-точка» поверх других сетей, и не могут организовывать связь «многие со многими». Если бы связь организовывалась с помощью модема, то для связи с каждым другим устройством сети на компьютер пришлось бы ставить отдельный модем. Поэтому их используют для подключения к компьютерам с полноценными сетевыми интерфейсами через промежуточную среду.

Q: Какие существуют современные способы подключения сетевых плат и модемов к компьютерам и ноутбукам?

A:

Для подключения сетевых интерфейсов используют следующие аппаратные интерфейсы:

(преимущественно компьютеры и сервера) Шина PCI/PCI-Ex. Платы вставляются в специальные разъёмы на материнской плате. Во многих материнских платах компьютеров и ноутбуков эти платы уже предустановленны, но не в разъёмы, а во внутреннюю разводку материнской платы (так называемые Onboard Interfaces). Эти интерфейсы аппаратно можно отключить только через BIOS/UEFI, в то время как подключённые платы из разъёмов можно просто «вынуть»;

(универсальные) Адаптеры, подключаемые к разъёму USB. Чаще всего используется для модемов и устройств Bluetooth, но есть варианты и для Wi-fi и проводного Ethernet. Эти карты съёмные, их легко переносить от устройства к устройству, но не всегда легко настраивать (настройки могут измениться после полподключения);

(ноутбуки) Платы, подключаемые к шине PCIMCA. Они имеют все достоинства PCI и USB карт, легко настраиваются, легко переносятся между устройствами. У этой шины недостаточное быстродействие, поэтому производители ноутбуков стали отказываться от этой шины.

ДЛЯ ИСКУШЁНЫХ ПОЛЬЗОВАТЕЛЕЙ

Подключение карты в BIOS

Q: По каким признакам можно определить, что карта распознавалась оборудованием компьютера?

A:

Если сетевая карта не работает, то, прежде всего, нужно определить, распознаётся ли она аппаратным обеспечением компьютера. В настоящее время все платы поддерживают технологию Plug-n-Play, а значит, при их вставке в компьютер им автоматически назначаются нужные аппаратные параметры (прерывания, порты ввода-вывода, адресация памяти). После этого эти параметры подхватывает драйвер сетевой карты, который находится либо в ядре (в UNIX подобных ОС), либо устанавливается отдельным модулем (в Windows). Иногда, если карта не работоспособна или полностью несовместима с данной версией операционной системы, её Вы не увидите вообще в выводе операционной системы. Если карта хоть как-то определилась операционной системой, то информация о ней появится в логах загрузки (в UNIX это команда dmesg). Но прежде, чем разбираться в логах загрузки, необходимо проверить, опознаётся ли карта в BIOS компьютера.

Q: Как в BIOS включить поддержку сетевой карты?

A:

Чтобы включить отключённую в BIOS карту или хотя бы проверить, опознаётся ли сетевая карта компьютером, необходимо:

Отправить компьютер на перезагрузку.

После первого успешного писка быстро и попеременно нажимать-отпускать клавиши F2 и DEL на клавиатуре. Дело в том, что одна из этих клавиш ответственна за запуск на компьютере экрана настройки BIOS/UEFI, а вот какая именно описано в документации на материнскую плату, но не на компьютер. Поэтому, быстро и попеременно нажимая эти клавиши, Вы гарантированно войдёте в BIOS на работающем компьютере, до загрузки операционной системы.

Рис. 1. Раздел «Integrated Pheriferals» на материнских платах с Award BIOS

После появления экрана BIOS необходимо войти в пункт, который может называться «Integrated Pheriferals», «PCI Devices», «I/O Devices» и т.д. Он обычно второй по порядку от главного экрана.

Если Вас интересует встроенная карта, найдите пункт «Onboard Devices», «Network Devices», «Onboard Lan», и ищите там пункты содержащие слово «Ethernet». Например, но не обязательно, «PCI Gigabit Ethernet» – для встроенной проводной сетевой карты, «Wireless Ethernet Adapter» – для беспроводной Wi-fi карты, если встречается слово Bluetooth, то это говорит о встроенном Bluetooth адаптере.

Если Вас интересует сетевая карта, установленная Вами в один из свободных гнёзд (слотов) PCI шины, ищите слова «Ethernet» и «Bluetooth» в пунктах Slot#, где # – номер слота, в который вы установили карту;

Рядом с пунктом встроенной карты, и иногда для внешней карты, могут присутствовать значки Enabled, Disabled, Auto Пункт Enabled означает, что устройство включено, Disabled – выключено, Auto – поведение определяется микропрограммой BIOS/UEFI.

Чтобы убедиться, что устройство включено в BIOS, должны присутствовать пункты 4 и/или 5, а в пункте 6 напротив устройств должно стоять Enabled или ничего. Поправьте эти значения.

Если Вы не видите указанных пунктов, то, скорее всего, у Вас аппаратные проблемы с оборудованием или BIOS. Попробуйте заменить оборудование. Если же ни при каких ухищрениях плата не выходит из положения Disabled, то, по-видимому, она несовместима с Вашим компьютером. Попробуйте также заменить оборудование. (Либо прекратите его использовать).

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

Подключение карты в Windows

Q: Как проверить состояние карты в операционной системе Microsoft Windows?

A:

Любое устройство, опознанное операционной системой Microsoft Windows версии выше Windows XP, будет отображено в его диспетчере устройств. В диспетчер устройств можно попасть из пункта «Система» панели управления (вызывается при нажатии сочетания клавиш Win+Pause), но проще попасть в диспетчер устройств из командной строки. Для этого надо:

Вызвать командную строку или терминал Windows с правами администратора (если Вы хотите сделать изменения);

В открывшейся командной строке набрать devmgmnt.msc и нажать клавишу Enter.

Примечание. Если Вы не чужды программирования, можете написать и выполнить код, приведённый ниже (http://scriptcoding.ru/2013/08/12/dispether-ustrojstv-iz-komandnoy-stroki/):

' **********************************

' Открытие заданной оснастки,

‘ например, запускаем диспетчер

‘ устройств из командной строки

' osnastki.vbs

'***********************************

Option Explicit

dim f, t, mmc_box, Button_Open

dim WshShell, WSO

'***********************************

' создаем ссылки на объекты

set WshShell = WScript.CreateObject("Wscript.Shell")

set WSO = WScript.CreateObject("Scripting.WindowSystemObject")

'***********************************

' создаем форму

set f = WSO.CreateForm(0, 0, 0, 0, WSO.Translate("WS_CONTROLBOX |

WS_MINIMIZEBOX"))

f.Text = "Открытие оснастки Windows"

f.ClientWidth = 400

f.ClientHeight = 100

f.CenterControl()

'***********************************

' элементы формы

' текстовая метка

f.TextOut 10,10,"Список оснасток:"

' список

set mmc_box = f.CreateComboBox(120,10,140,20,WSO.Translate("CBS_DROPDOWNLIST"))

mmc_box.add("диспетчер устройств")

mmc_box.add("управление компьютером")

mmc_box.add("дефрагментация диска")

mmc_box.add("журнал событий")

mmc_box.add("службы Windows")

mmc_box.ItemIndex=0

'кнопка открытия оснастки, например,

' диспетчер устройств из командной строки

set Button_Open = f.CreateButton(280,10,100,25,"Открыть")

Button_Open.OnClick = Getref("Open_mmc")

set t = f.CreateHyperLink(130,40,250,25,"www.scriptcoding.ru")

f.Show()

WSO.Run()

'***********************************

' функция для открытия оснастки, например

' диспетчер устройств через командную строку

'***********************************

function Open_mmc()

dim mmc

select case(mmc_box.ItemIndex)

case 0

      mmc = "devmgmt.msc"

case 1

      mmc = "compmgmt.msc"

case 2

      mmc = "dfrg.msc"

case 3

      mmc = "eventvwr.msc"

case else

      mmc = "services.msc"

end select

WshShell.Run "mmc " & mmc

end function

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

Рис. 2. Диспетчер устройств Windows 10

Примечание. Данный скрипт для своей работы требует установленного пакета Windows Script Object (WSO), который отсутствует в менеджере пакетов chocolatey. Скачать данные библиотеки можно по ссылке: http://www.veretennikov.org/Default.aspx?f=WSO%2fDefault.aspx, http://freesoft.ru/windowsystemobject_wso или с сайта авторов: ftp://88-147-147-107.san.ru:10021/Common/Hacking/Interface/wso.exe

В диспетчере задач посмотрите в дереве устройств на ветвь «Неизвестные устройства». Если драйверы сетевой карты не установлены, то оборудование Вы найдёте именно там. Щёлкнув правой клавишей мыши и посмотрев на вкладку «Свойства -> ИД Устройства», ВЫ можете найти буквенно-цифровой идентификатор устройства, для которого нужно будет найти драйвер.

Если драйвер сетевой карты установлен, то сетевая карта, вместе со своим наименованием и характеристиками, окажется в ветви «Сетевые адаптеры». Здесь возможно несколько вариантов:

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

Драйвер установлен, устройство отключено программно. На значке сетевой платы будет находиться красная или белая стрелка. Чтобы вновь включить устройство, необходимо в контекстном меню выбрать пункт «Включить устройство».

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

Q: Где найти драйвера сетевых плат в Windows?

A:

Помимо стандартного ответа «скачать с сайта производителя», существуют ещё несколько способов поиска «родных» и совместимых драйверов сетевых карт»:

Центр обновления Windows (Windows Update) – служба обновления программного обеспечения и совместимых драйверов для Microsoft Windows;

Сборник драйверов оборудования для Windows SamLab Drivers Pack. Этот пакет распространяется совершенно свободно, однако найти его можно только в торрентах и файлообменных сетях. Причина – файл распространяется в виде образа диска размером более 16 Гбайт, и ни один файловый сервер не согласен размещать такие файлы. Но ссылку на скачку нужной версии файла, а они обновляются ежемесячно, можно найти в поисковике, они не блокируются. Например,

https://yandex.ru/search/?lr=194&msid=1511712370.06254.22883.16801&text=SamLab%20Drivers%20pack%20%D1%81%D0%BA%D0%B0%D1%87%D0%B0%D1%82%D1%8C

Ссылки на драйверы к оборудованию, найденному по его ИД (Hardware Identifier:), можно найти, например, на сайтах:

http://devid.info/ru

http://www.pcidatabase.com/

http://listing.driveragent.com/?PHPSESSID=qhki0tfgj50vjpu0r3bnj2f520&PHPSESSID=qhki0tfgj50vjpu0r3bnj2f520

http://driverzone.com/

После поиска подходящего драйвера он скачивается и устанавливается как обычная программа.

Подключение карты в Ubuntu

Q: Как проверить подключённую карту в Ubuntu Server?

A:

Чтобы проверить, как сетевая карта подключена к компьютеру, какие параметры ей назначены, необходимо:

Через менеджер пакетов установить пакеты ethtool, lshwб net-tools и pciutil:

sudo apt install ethtool lshw pciutil net-tools

Для просмотра доступных сетевых плат используйте команду:

lspci | grep -i 'net'

Эта команда определит, какие именно интерфейсы подсоединены к шине PCI. Если там есть Ваши устройства, значит всё в порядке, их драйвера присутствуют в ядре Linux.

После этого можно просмотреть детальную информацию о каждой плате (интерфейсе). Для этого нужно подать команду:

sudo lshw -class network

Из предыдущего вывода можно узнать слот PCI латы, который в новом выводе будет обозначаться как bus info: Найдя по номеру гнезда плату, можно будет определить:

логический номер интерфейса: (logocal name:). Не факт, что он будет стандартным eth0, eth1 и т.д.;

мак адрес сетевой карты (физический) (serial:);

ip-адрес карты: (configuration:… ip=x.x.x.x …)

Примечание: если карта не настроена, ip=адрес может и не отображаться. А вот имя интерфейса и мак адрес карты должны отображаться всегда!

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

Q: Какие существуют файлы конфигурации для настройки сетевых интерфейсов Ubuntu?

A:

Для правильного функционирования сети необходимо внести изменения в следующие файлы конфигурации системы:

/etc/network/interfaces

/etc/resolv.conf

/etc/hosts

/etc/networks

Содержимое последних трёх файлов будет обсуждаться в разделах, посвящённых IP протоколам.

Q: Примеры настройки файла /etc/network/interfaces

A:

Ниже приводятся фрагменты настройки Ethernet карт с пояснениями.

Вначале нужно настроить закольцованный интерфейс, если по каким-то причинам он отсутствует:

# This file describes the network interfaces available on your system

# and how to activate them. For more information, see interfaces(5).

# The loopback network interface

auto lo

iface lo inet loopback

Минимальные настройки для интерфейса eth0 по dhcp

# The primary network interface

allow-hotplug eth0

iface eth0 inet dhcp

Минимальные настройки для интерфейса eth0 при статической адресации:

# The primary network interface

allow-hotplug eth0

iface eth0 inet static

address 192.168.1.1

netmask 255.255.255.0

gateway 192.168.1.254

broadcast 192.168.1.255

dns-nameservers 192.168.1.254 8.8.8.8

Здесь address – ip адрес компьютера

netmask – его сетевая маска

gateway – основной шлюз сети

broadcast – широковещательный адрес. Обычно заканчивается на .255, что означает все адреса компьютеров в сети.

dns-nameservers – адреса первичного и вторичного DNS серверов

Для Wi-fi карты типовые настройки будут следующими:

# The primary WLAN interface

iface wlan0 inet dhcp

wpa-driver wext

wpa-ssid <имя_точки_доступа>

wpa-ap-scan 1

wpa-proto RSN

wpa-pairwise CCMP

wpa-group CCMP

wpa-key-mgmt WPA-PSK

wpa-psk <hex_ключ> [ВАЖНО – см. Генерация ключей]

auto wlan0

Значения параметров следующие:

iface wlan0 inet dhcp – конфигурация для DHCP

«iface wlan0» – имя нашего интерфейса (wlan0, eth1, rausb0, ra0, и т.д.)

wpa-driver – это wpa-driver для нашей карты ('wext' – общий драйвер для Linux, работающий с «ndiswrapper»). Рекомендуется оставить как есть.

Другие варианты:

hostap = Host AP driver (Intersil Prism2/2.5/3)

atmel = ATMEL AT76C5XXx (USB, PCMCIA)

wext = Linux wireless extensions (generic)

madwifi = Atheros

wired = wpa_supplicant wired Ethernet driver

wpa-ssid – имя нашей точки доступа (ESSID). Без кавычек.

wpa-ap-scan – параметр вещания точкой доступа её имени. «1» = ESSID вещается всем. «2» = ESSID скрыт.

wpa-proto – протокол «RSN» = WPA(2) «WPA» = WPA(1)

wpa-pairwise & wpagroup – «CCMP» = AES-шифрователь (как часть стандарта WPA(2)) «TKIP» = TKIP-шифрователь (как часть стандарта WPA(1))

wpa-key-mgmt – «WPA-PSK» = Аутентификация через ключевую фразу (см. 'Создание ключей') «WPA-EAP» = Аутентификация при помощи сервера аутентификаций.

auto wlan0 – автоматическое включение wlan0 при загрузке/перезагрузке сети.

Q: Как генерировать шестнадцатеричные ключи для Wi-fi?

A:

Теперь нам нужно сконвертировать нашу ключевую фразу (WPA ASCII) в hex-ключ:

$ wpa_passphrase <имя_точки_доступа> <ascii_ключ>

Результат будет примерно таким:

network={

ssid="test"

#psk="12345678"

psk=fe727aa8b64ac9b3f54c72432da14faed933ea511ecab1 5bbc6c52e7522f709a

}

hex-ключ это все символы после "psk=".

Нужно его скопировать в буфер обмена и вставить в файл /etc/network/interfaces в поле wpa-psk.

Теперь можно сохранить файл и перезагрузить сеть. Должно установиться соединение. Однако иногда этого сразу не происходит. Если это так – перезагружаем машину.

Подключение карты в CentOS

Q: Как настроить сетевую карту в CentOS?

A:

Основные действия по настройке сетевой карты в CentOS мало отличаются он настройки в– Ubuntu, за исключением принципиального момента: в CentOS и вообще в продукции RedHat нет файла /etc/network/interfaces. Вместо этого используется каталог /etc/sysconfig/network-scripts. В нём расположены файлы с именами интерфейсов, Формат описание которых похож на вывод программы ifconfig в Ubuntu. Ниже приведён пример, как в CentOS создать файл конфигурации для интерфейса eth0:

su

cd /etc/sysconfig/network-scripts

nano ifcfg-eth0

DEVICE=eth0

TYPE=Ethernet

UUID=b9e5ce01-2ffd-48c3-be0f-5d6d099d6ec7

ONBOOT=yes

NM_CONTROLLED=yes

BOOTPROTO=dhcp

HWADDR=08:0A:27:AA:0C:AA

DEFROUTE=yes

PEERDNS=yes

PEERROUTES=yes

IPV4_FAILURE_FATAL=yes

IPV6INIT=no

NAME="System eth0"

Здесь DEVICE – логическое имя интерфейса

UUID – идентификатор платы (определяется командой lshw)

ONBOOT – карта активна при загрузке

HWADDR – эффективный мак адрес карты

DEFROUTE – используется ли маршрут по умолчанию

PEERDNS – есть ли назначение внешних DNS серверов (позволяет конфигурировать файл resolv.conf автоматически). По-умолчанию yes.

Конец ознакомительного фрагмента.

Текст предоставлен ООО «ЛитРес».

Прочитайте эту книгу целиком, купив полную легальную версию на ЛитРес.

Безопасно оплатить книгу можно банковской картой Visa, MasterCard, Maestro, со счета мобильного телефона, с платежного терминала, в салоне МТС или Связной, через PayPal, WebMoney, Яндекс.Деньги, QIWI Кошелек, бонусными картами или другим удобным Вам способом.