====== Настройка сети вручную ======
===== Краткое описание руководства =====
В данном руководстве объясняется, как подключить компьютер к сети при помощи конфигурационных файлов и консольных утилит. Основная цель - рассказать о различных способах подключения к интернету без использования GUI (графического интерфейса). Руководство не затрагивает таких тем, как настройка сетевых фильтров или, например, собственных точек доступа Wi-Fi. Подразумевается, что существует некий, предоставленный провайдером, способ подключения к интернету, для использования которого и необходимо выполнить приведенные ниже действия.\\
В руководстве приведены примеры редактирования конфигурационных файлов с помощью текстовых редакторов "nano" и "gedit". Обратите внимание на то, что первый редактор запускается в терминале и может быть использован как при запуске Ubuntu с графическим интерфейсом, так и без него, а "gedit" можно использовать только при включенной графической среде.\\
===== Требования к системе =====
Для воспроизведения описанных в руководстве действий подходит любой вариант установки системы. Наличие графического пользовательского интерфейса не обязательно. Все действия необходимо выполнять в [[консоль|консоли]]. Подразумевается, что команды, начинающиеся с символа $ - необходимо выполнять от пользователя, а начинающиеся с # - от суперпользователя (root).\\
Прежде чем Вы начнете, убедитесь, что:\\
* Различные сетевые утилиты, предназначенные для автоматического конфигурирования сети выключены. Например [[отключение_network_manager_а|тут]] Вы можете прочитать, как отключить установленный по-умолчанию в Ubuntu сетевой помощник Network Manager.
* Различные сетевые фильтры (например iptables), и утилиты их конфигурирования (например Firestarter) отключены/правильно настроены и не вмешиваются в работу сети.
* У Вас есть все необходимые параметры для подключения в Вашей сети (например IP адрес, маска подсети и шлюз по-умолчанию для соединения с использованием статического IP).
* Устройства сети осуществяющие фильтрацию по MAC адресу правильно настроены и "знают" Ваш сетевой интерфейс.
* Драйвер Вашего сетевого устройства корректно установлен, кабель (при проводном соединении) исправен и подсоединен. Команда
$ sudo lshw -C network
позволяет посмотреть подключенные сетевые устройства.\\
Пример вывода команды:
ubuntu@ubuntu:~$ sudo lshw -C network
*-network
description: Ethernet interface # Тип устройства
product: L2 100 Mbit Ethernet Adapter # Название адаптера
vendor: Attansic Technology Corp. # Производитель устройства
physical id: 0
bus info: pci@0000:03:00.0
logical name: eth0 # Имя сетевого интерфейса
version: a0
serial: 00:00:00:00:00:00 # Физический адрес устройства (mac-адрес)
size: 100MB/s
capacity: 100MB/s
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress vpd bus_master cap_list
ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd autonegotiation
configuration: autonegotiation=on broadcast=yes
driver=atl2 # Используемый драйвер
driverversion=2.2.3 # Версия драйвера
duplex=full firmware=L2 ip=192.168.0.5 latency=0
link=yes # Наличие линка
module=atl2 multicast=yes port=twisted pair
speed=100MB/s # Текущая скорость подключения.
Обратите внимание на пункт:
logical name: eth0 # Имя сетевого интерфейса
Имя ''eth0'' будет далее применяться для настройки именно данной сетевой карты. Где ''eth'' обозначает что используется [[http://ru.wikipedia.org/wiki/Ethernet|Ethernet]] интерфейс, а ''0'' - номер устройства. Если у вас установлено несколько сетевых устройств то соответственно им будет присвоено имена: ''eth0'', ''eth1'', ''eth2'' и т.д.
===== Настройка проводной сети =====
==== Настройка IP адреса, шлюза по умолчанию, маски подсети ====
Отредактируйте файл конфигурации //''/etc/network/interfaces''//, например так:\\
$ sudo nano /etc/network/interfaces
И допишите в него:\\
Для статического IP:\\
iface eth0 inet static
address 192.168.0.1
netmask 255.255.255.0
gateway 192.168.0.254
auto eth0
Где:
* ''iface eth0 inet static'' - указывает, что интерфейс (''iface eth0'') находится в диапазоне адресов [[http://ru.wikipedia.org/wiki/IPv4|IPv4]] (''inet'') со статическим ip (''static'');
* ''address 192.168.0.1'' - указывает что IP адрес (address) нашей сетевой карты 192.168.0.1;
* ''netmask 255.255.255.0'' - указывает что наша маска подсети (netmask) имеет значение 255.255.255.0;
* ''gateway 192.168.0.254'' - адрес шлюза (''gateway'') по умолчанию 192.168.0.254;
* ''auto eth0'' - указывет системе что интерфейс ''eth0'' необходимо включать автоматически при загрузке системы с вышеуказанными параметрами.
**eth0** - имя подключаемого своего интерфейса. Список интерфейсов можно посмотреть набрав:
$ ifconfig -a
В итоге файл //''/etc/network/interfaces''// должен выглядеть примерно так:\\
(для одного проводного соединения со статическим IP)
# 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
# Моя проводная сеть.
iface eth0 inet static
address 192.168.0.1
netmask 255.255.255.0
gateway 192.168.0.254
auto eth0
Сохраните файл и закройте редактор. В данном примере (редактор nano) - нажмите C-x, затем y, убедитесь, что "Имя файла для записи" - /etc/network/interfaces и нажмите enter.
Более подробно про синтаксис файла //''/etc/network/interfaces''// можно прочитать в [[man_interfaces|документации]].
Пример конфигурации для динамического IP:
iface eth0 inet dhcp
auto eth0
==== Временная настройка IP адреса и маски подсети ====
При необходимости задать пробные настройки, выполните:
$ sudo ifconfig eth0 192.168.0.1 netmask 255.255.255.0 up
Где 192.168.0.1 - наш IP адрес, 255.255.255.0 - наша маска подсети.\\
**eth0** - подключаемый сетевой интерфейс.
Данные настройки пропадут после перезагрузки системы и не повлияют на файл //''/etc/network/interfaces''//
===== Настройка DNS =====
Если есть необходимость указать DNS сервера (если они не выдаются автоматически) выполните:
$ sudo gedit /etc/resolv.conf
и впишите туда:
nameserver 192.168.0.100
nameserver 192.168.0.200
Где 192.168.0.100 и 192.168.0.200 - адреса DNS серверов. Если нужно добавить больше адресов - каждый адрес нужно начинать с новой строки и с фразы ''nameserver ''
Более подробно про синтаксис файла //''/etc/resolv.conf''// можно прочитать в [[man_resolvconf|документации]].
===== Настройка соединений ppp =====
За создание соединений типа "точка-точка" в Ubuntu отвечает демон //''pppd''//, более подробная информация о котором доступна в [[man_pppd|документации]]. В рамках данного руководства будут рассмотрены примеры создания PPPoE подключения через DSL модем, подключения PPTP (VPN-подключения) и DIAL-UP подключения через обычный модем.
==== Соединение PPPoE ====
В стандартную установку Ubuntu входит утилита для настройки PPPoE соединений – //''pppoeconf''//, для ее запуска наберите:
$ sudo pppoeconf
Появится "псевдографическое" ((под "псевдографическим" автор имел ввиду окно, отрисованное в терминале при помощи [[wpru>ncurses]])) окно в терминале. Утилита произведет поиск сетевых устройств и выведет их на экран, далее она произведет поиск модема ((точнее сервера PPPoE-авторизации, доступного через модем)) на этих устройствах. Если на этом этапе pppoeconf выдаст отрицательный результат - проверьте правильность подключения, питание модема. Следующий шаг - выбор "популярных параметров" - в большинстве случаев стоит согласиться. Далее утилита запросит Ваш логин, а затем - пароль. Теперь - выбор способа указания DNS серверов. Опять же, в большинстве случаев следует согласиться на получение адресов DNS серверов автоматически. Далее Вам предложат ограничить размер [[http://en.wikipedia.org/wiki/Maximum_segment_size|MSS]] до 1452-х байт - как правило, стоит согласиться. Следующий вопрос - устанавливать ли подключение автоматически при загрузке компьютера. Последний вопрос утилиты - установить ли соединение сейчас. //''pppoeconf''// по-умолчанию создает для подключения имя dsl-provider. Управлять подключением Вы можете при помощи команд:
$ sudo pon dsl-provider # Для подключения
или
$ sudo poff dsl-provider # Для отключения
Если в Вашем случае опций, предоставляемых утилитой ''//pppoeconf//'' недостаточно - обратитесь к [[man_pppd|документации по pppd]] или [[man_pppoeconf|pppoeconf]].
Замечание: при настройке соединения с помощью ''//pppoeconf//'' часть настроек записывается в ''/etc/network/interfaces'', в результате чего Network Manager больше не может управлять сетью. Выход: либо использовать только NM, либо только консоль+конфиги.
Вернуть управление Network Manager можно следующим образом. Приведите //''/etc/network/interfaces''// к следующему виду (лишнее не обязательно удалять, достаточно закоментировать):
# 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
Перезапустите сеть:
$ sudo /etc/init.d/networking restart
Перезагрузитесь или перезапустите Network Manager:
$ sudo /etc/init.d/NetworkManager restart
==== Соединение PPTP ====
Для осуществления VPN соединения при помощи pppd Вам потребуется [[http://wiki.ubuntu.ru/doc/установка_программ|установить]] пакет //''pptp-linux''//, который может быть найден на установочном диске Ubuntu. Далее создайте (от root'а) в папке //''/etc/ppp/peers''// файл с названием Вашего провайдера и отредактируйте его, напрмер так:
$ sudo nano /etc/ppp/peers/my-provider
И добавьте туда опции подключения, например такие:
persist # При разрыве соединения - переподключаться снова.
maxfail 0 # Максимальное количество неудачных попыток подключения. 0 - бесконечно.
mtu 1476 # Значение MTU
name {логин} # Ваш логин.
remotename {vpn} # Имя удаленного сервера (для нас), может быть любым.
pty "pptp {адрес_сервера} --nolaunchpppd" # Команда запуска pptp.
# Адрес сервера - может быть как IP адресом, так и доменным именем, например vpn.foo.bar
Далее - отредактируйте файл //''/etc/chap-secrets''// ((Для chap аутентификации. Для других видов аутентификации - редактируйте соответствующие *-secrets файлы)) и добавьте туда:
{логин} {vpn} {пароль}
После перезагрузки системы Вы сможете управлять соединением при помощи команд:
$ sudo pon my-provider # Для подключения
или
$ sudo poff my-provider # Для отключения
Процесс настройки VPN соединения может сильно облегчить [[скрипт_vpn|скрипт-помощник]].
==== Настройка DIAL-UP подключения ====
Для настройки модемного соединения можно использовать встроенный конфигуратор //''pppd''// - //''pppconfig''// или специальную утилиту //''wvdial''// . \\
=== При помощи pppconfig ===
Процесс настройки при помощи //''pppconfig''// во многом похож на утилиту //''pppoeconfig''//, Вам по очереди будут заданы вопросы о параметрах подключения, и будет предложено ввести номер телефона, логин и пароль, а также имя соединения. Запускать pppconfig следует с правами суперпользователя. Например так:
$ sudo pppconfig
Управлять соединением можно так:
$ sudo pon my-provider # Для подключения
или
$ sudo poff my-provider # Для отключения
Где my-provider - имя, присвоенное Вами соединению при настройке.
=== При помощи wvdial ===
В некоторых случаях (например при подключении с использованием мобильного телефона), удобнее использовать //''wvdial''// . Для этого нужно его сначала установить. Например так:
$ sudo apt-get install wvdial
В состав пакета //''wvdial''// входит утилита автоматического конфигурирования - //''wvdialconf''// .
$ sudo wvdialconf
Вывод будет примерно следующим:
ubuntu@ubuntu:~$ sudo wvdialconf
[sudo] password for ubuntu:
Editing `/etc/wvdial.conf'.
Scanning your serial ports for a modem.
Modem Port Scan<*1>: S0 S1 S2 S3
WvModem<*1>: Cannot get information for serial port.
ttyACM0<*1>: ATQ0 V1 E1 -- OK
ttyACM0<*1>: ATQ0 V1 E1 Z -- OK
ttyACM0<*1>: ATQ0 V1 E1 S0=0 -- OK
ttyACM0<*1>: ATQ0 V1 E1 S0=0 &C1 -- OK
ttyACM0<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 -- OK
ttyACM0<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 -- OK
ttyACM0<*1>: Modem Identifier: ATI -- Manufacturer: QUALCOMM INCORPORATED
ttyACM0<*1>: Speed 4800: AT -- OK
ttyACM0<*1>: Speed 9600: AT -- OK
ttyACM0<*1>: Speed 19200: AT -- OK
ttyACM0<*1>: Speed 38400: AT -- OK
ttyACM0<*1>: Speed 57600: AT -- OK
ttyACM0<*1>: Speed 115200: AT -- OK
ttyACM0<*1>: Speed 230400: AT -- OK
ttyACM0<*1>: Speed 460800: AT -- OK
ttyACM0<*1>: Max speed is 460800; that should be safe.
ttyACM0<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 -- OK
Found an USB modem on /dev/ttyACM0.
Modem configuration written to /etc/wvdial.conf.
ttyACM0: Speed 460800; init "ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0"
Теперь остается только отредактировать файл //''/etc/wvdial.conf''// и добавить в него номер телефона, логин и пароль.
$ sudo nano /etc/wvdial.conf
В данном примере я дополнительно добавил несколько опций. См. комментарии.
[Dialer Defaults]
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Modem Type = USB Modem
ISDN = 0
Idle Seconds = 0
New PPPD = yes
Dial Attempts = 0
Phone = #777
Modem = /dev/ttyACM0
Username = mobile
Password = internet
Baud = 460800
Idle Seconds = 0 # Время простоя соединения,
# после которого нужно будет его разорвать. Значение 0 - никогда.
Dial Attempts = 0 # Количество попыток дозвона. 0 - бесконечно.
[Dialer pulse]
Dial Command = ATDP # Команда набора номера (P - импульсный, T - тональный). Имеет смысл для набора номера в импульсном режиме на старых АТС.
Файл /etc/wvdial.conf разбит на секции, в качестве разделителей которых выступают сами названия секций, предварённые словом Dialer, в квадратных скобках. Если исполнять команду без параметров, то в дело пойдут установки, перечисленные в секции Defaults. В противном случае дополнительно будут исполнены указанные в добавочных секциях команды.
Теперь, когда все настроено, соединение можно установить набрав:
$ sudo wvdial
Если потребуется запустить wvdial с набором номера в импульсном режиме, то это можно сделать командой
$ sudo wvdial pulse
Прервать соединение можно прервав выполнение команды ''wvdial'', т.е. в том же терминале нужно нажать C-c.
==== Автоматическое подключение ====
Отредактируйте файл конфигурации //''/etc/network/interfaces''//, например так:\\
$ sudo nano /etc/network/interfaces
И допишите в него:\\
Для pppoe , pptp , и модемного подключения без использования //''wvdial''// :
iface ppp0 inet ppp
provider my-provider
auto ppp0
Где **my-provider** - название вашего соединения.\\
При использовании //''wvdial''//:
iface ppp0 inet wvdial
provider wvdial
auto ppp0
Теперь при перезапуске сетевых служб соединение будет автоматически установлено.
==== Ручная настройка роутинга ====
Если Вы не получаете адрес шлюза по-умолчанию от сервера, к которому подключаетесь, или по какой-либо иной причине Вам необходимо указать маршруты вручную - Вы можете создать скрипт в //''/etc/ppp/ip-up.d/''//, например так:
$ sudo nano /etc/ppp/ip-up.d/routing
со следующим кодом:
#! /bin/sh
#
route del default
route add default ppp0 # Имя ppp-подключения.
# тут - необходимые маршруты, например:
route add -net 192.168.0.0 netmask 255.255.255.0 gw 192.168.0.1 dev eth0
Далее - сделайте этот скрипт исполняемым, например так:
$ sudo chmod ug+x /etc/ppp/ip-up.d/routing
Теперь маршруты будут автоматически подключаться при установлении ppp-соединения.
===== Установка MTU и TTL =====
MTU (Maximum Transfer Unit) - параметр определяет величину максимальной единицы передачи.
Это максимальное количество октетов (байт), которое интерфейс способен поддерживать
за одну операцию приема/передачи. Для Ethernet это значение по умолчанию составляет
1500 (максимальный размер пакета Ethernet).
TTL (Time To Live) - время жизни ip-пакета в секундах. Нужен чтобы избежать перегрузки сети пакетами.
Обычно каждый роутер, через которого прошел пакет, уменьшает TTL на еденицу.
Если TTL=0, пакет из системы удаляется. Изначально TTL=128 (для Windows) и TTL=64 (для Ubuntu).
Для DNS-записей TTL определяет время актуальности данных при кешировании запросов.
Для изменения велечины MTU отредактируем файл конфигурации //''/etc/network/interfaces''//, например так:
auto eth0
iface eth0 inet static
address 192.168.1.5
netmask 255.255.255.0
mtu 600
Для изменения велечины TTL наберите:
$ sudo su
затем
$ echo "128" > /proc/sys/net/ipv4/ip_default_ttl
Значение TTL меняется только с правами администратора, для выхода из аккаунта администратора введите //''exit''//
===== Настройка WiFi =====
==== Настройка Wi-Fi при помощи wpa-supplicant и /etc/network/interfaces ====
В этой главе пойдет речь о настройке подключения к существующей Wi-Fi сети с использованием наиболее безопасного на сегодняшний день стандарта шифрования и аутентификации WPA2. Дополнительно приведены примеры настроек для менее безопасных соединений.
Если Вы можете повлиять на настройку точки доступа, например, в случае, если это Ваш домашний Wi-Fi роутер - постарайтесь настроить авторизацию с использованием WPA2, т.к. это наиболее безопасный протокол аутентификации в беспроводных сетях на настоящий момент.
=== Замечания ===
Дополнительно к [[настройка_сети_вручную#требования_к_системе|требованиям, указанным выше]] Вам следует учесть, что:
- После установки всех необходимых пакетов, кабель проводной сети лучше отсоединить.
- Некоторые устройства (или их драйвера, например Madwifi) не поддерживают WPA2 (AES). Если соединение WPA2 установить не удается, можно попробовать WPA1 (TKIP).
- Если у Вас RTxxx (Ralink) с драйверами Serialmonkey - этот способ Вам не поможет. Вам следует либо установить пакет //''ndiswrapper''//, заменяющий Serialmonkey, либо попробовать другой способ.
=== Подготовка ===
Установите пакеты //''wpa-supplicant''// и //''wireless-tools''//\\
Например так:
$ sudo apt-get install wpasupplicant wireless-tools
Теперь убедитесь в том, что Ваше беспроводное устройство (в данном примере это "wlan0") работает и "видит" беспроводные сети. Команда
$ iwconfig
должна выдать примерно такой результат:
ubuntu@ubuntu:~$ iwconfig
lo no wireless extensions.
eth0 no wireless extensions.
wmaster0 no wireless extensions.
wlan0 IEEE 802.11bg ESSID:""
Mode:Managed Frequency:2.412 GHz Access Point: Not-Associated
Tx-Power=27 dBm
Retry min limit:7 RTS thr:off Fragment thr=2352 B
Power Management:off
Link Quality:0 Signal level:0 Noise level:0
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
а доступные сети можно посмотреть командой
$ iwlist <имя интерфейса> scan
которая должна выдать примерно такой результат:
ubuntu@ubuntu:~$ iwlist wlan0 scan
wlan0 Scan completed :
Cell 01 - Address: 00:00:00:00:00:00
ESSID:"ubuntuessid"
Mode:Master
Channel:8
Frequency:2.447 GHz (Channel 8)
Quality=7/100 Signal level:-99 dBm Noise level=-104 dBm
Encryption key:on
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 18 Mb/s
24 Mb/s; 36 Mb/s; 54 Mb/s; 6 Mb/s; 9 Mb/s
12 Mb/s; 48 Mb/s
Extra:tsf=0000001d57e98bf6
Extra: Last beacon: 388ms ago
=== Настройка ===
Редактируем ''/etc/network/interfaces'', например так:\\
$ sudo gedit /etc/network/interfaces
Удаляем (или комментируем) все упоминания нашего беспроводного интерфейса и добавляем свои:
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 [ВАЖНО - см. Генерация ключей]
auto wlan0
Где:\\
^ Параметр ^ Описание ^
| iface wlan0 inet dhcp | конфигурация для DHCP (для статического IP см. пример ниже)\\ "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 & wpa-group | "CCMP" = AES-шифрователь (как часть стандарта WPA(2))\\ "TKIP" = TKIP-шифрователь (как часть стандарта WPA(1)) |
| wpa-key-mgmt | "WPA-PSK" = Аутентификация через ключевую фразу (см. 'Cоздание ключей')\\ "WPA-EAP" = Аутентификация при помощи сервера аутентификаций. |
| auto wlan0 | Автоматическое включение wlan0 при загрузке/перезагрузке сети. |
=== Генерация ключей ===
Теперь нам нужно сконвертировать нашу ключевую фразу (WPA ASCII) в hex-ключ:
$ wpa_passphrase <имя_точки_доступа>
Результат будет примерно таким:
network={
ssid="test"
#psk="12345678"
psk=fe727aa8b64ac9b3f54c72432da14faed933ea511ecab1 5bbc6c52e7522f709a
}
hex-ключ это все символы после "psk=".\\
Нужно его скопировать в буфер обмена и вставить в файл ''/etc/network/interfaces'' в поле //wpa-psk//.
Теперь можно сохранить файл и перезагрузить сеть. Должно установиться соединение. Однако иногда этого сразу не происходит. Если это так - перезагружаем машину.
=== Дополнительно ===
Отключаем чтение файла ''/etc/network/interfaces'' для others во избежания попадания пароля от сети к третьим лицам.
$ sudo chmod o=-r /etc/network/interfaces
=== Примеры конфигураций ===
WPA2 + статический IP, скрытый ESSID.
iface wlan0 inet static
address 192.168.168.40
gateway 192.168.168.230
dns-nameservers 192.168.168.230
netmask 255.255.255.0
wpa-driver wext
wpa-ssid <имя_точки_доступа>
wpa-ap-scan 2
wpa-proto RSN
wpa-pairwise CCMP
wpa-group CCMP
wpa-key-mgmt WPA-PSK
wpa-psk [ВАЖНО - см. Генерация ключа]
auto wlan0
WPA1 + DHCP, ESSID виден всем.
iface wlan0 inet dhcp
wpa-driver wext
wpa-ssid <имя_точки_доступа>
wpa-ap-scan 1
wpa-proto WPA
wpa-pairwise TKIP
wpa-group TKIP
wpa-key-mgmt WPA-PSK
wpa-psk [ВАЖНО - см. Генерация ключа]
auto wlan0
Смешанный режим (WPA1, WPA2) + DHCP, ESSID виден всем.
iface wlan0 inet dhcp
wpa-driver wext
wpa-ssid <имя_точки_доступа>
wpa-ap-scan 1
wpa-proto WPA RSN
wpa-pairwise TKIP CCMP
wpa-group TKIP CCMP
wpa-key-mgmt WPA-PSK
wpa-psk [ВАЖНО - см. Генерация ключа]
auto wlan0
LEAP, WEP, DHCP, ESSID виден всем.
iface wlan0 inet dhcp
wpa-driver wext
wpa-ssid <имя_точки_доступа>
wpa-ap-scan 1
wpa-eap LEAP
wpa-key-mgmt IEEE8021X
wpa-identity <имя_пользователя>
wpa-password <пароль>
auto wlan0
PEAP, AES, DHCP, ESSID виден всем.
iface wlan0 inet dhcp
wpa-driver wext
wpa-ssid <имя_точки_доступа>
wpa-ap-scan 1
wpa-proto RSN
wpa-pairwise CCMP
wpa-group CCMP
wpa-eap PEAP
wpa-key-mgmt WPA-EAP
wpa-identity <наш_identity>
wpa-password <пароль>
auto wlan0
TTLS, WEP, DHCP, ESSID виден всем.
iface wlan0 inet dhcp
wpa-driver wext
wpa-ssid <имя_точки_доступа>
wpa-ap-scan 1
wpa-eap TTLS
wpa-key-mgmt IEEE8021X
wpa-anonymous-identity
wpa-identity <наш_identity>
wpa-password <наш_password>
wpa-phase2 auth=PAP [Также: CHAP, MSCHAP, MSCHAPV2]
auto wlan0
==== Другие способы работы Wi-Fi оборудования ====
При помощи Wi-Fi адаптера также возможно установить децентрализованную сеть ad-hoc или сделать из компьютера под управлением Ubuntu точку доступа. Поскольку описание данных способов Wi-Fi подключения выходит за рамки этого руководства - обратитесь к соответствующим разделам. Ссылки на эти разделы см. в разделе [[настройка_сети_вручную#ссылки|Cсылки]].
==== Решение проблем ====
=== Не устанавливается соединение по Wi-Fi/Ethernet с точкой доступа/маршрутизатором ===
**Симпотомы:** сеть обычно изначально работает нормально, долго или недолго, а затем неожиданно пропадает и не появляется после перезагрузки. Эта проблема может быть непостоянной. Сеть "сама собой" начинает работать, а затем пропадает вновь.
При перезапуске адаптера сети таким образом:
sudo ifdown wlan0
sudo ifup wlan0
будет выводиться в консоль похожий текст
Listening on LPF/wlan0/00-02-2A-E1-E0-6C
Sending on LPF/wlan0/00-02-2A-E1-E0-6C
Sending on Socket/fallback
DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 8
DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 8
DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 15
No DHCPOFFERS received.
No working leases in persistent database - sleeping.
**Причиной проблемы** может быть то, что материнская плата полностью не обесточивается при выключении компьютера. При этом вероятно не обесточивается и некоторое периферийное оборудование, в т.ч. могут не обесточиваться usb порты. Если вы используете, например, Wi-Fi usb-адаптер, то в таком случае можно заметить горящий на адаптере светодиод (если он им оборудован). Вероятно проблема возникает из-за того, что сетевое оборудование в этом режиме работает не совсем корректно.
__Простое решение__ проблемы состоит в выключении компьютера и выдергивании кабеля питания из розетки с последующим подключением шнура питания и влюченим компьютера.
__Сложное решение__ проблемы состоит в настройке параметров BIOS-а на полное обесточиваение сетевого оборудования при выключении компьютера.
=== Иногда наглухо пропадает соединение по Wi-Fi с точкой доступа/маршрутизатором ===
**Симпотомы:** сеть изначально работает, а затем после перезагрузки точки доступа/маршрутизатора неожиданно пропадает, и не появляется ни после перезагрузки, ни после танцев с бубном. При этом беспроводной адаптер в упор не видит точку доступа (хотя она может стоять рядом с компьютером), но прекрасно видит все соседские сети. Затем после ~дцатой~ перезагрузки маршрутизатора сеть сама собой появляется вновь.
**Причиной проблемы** может быть то, что некоторые маршрутизаторы произвольно выбирают номер рабочего канала, игнорируя номер канала выбранный в настройках маршрутизатора. Если в файле /etc/network/interfaces номер канала для беспроводного интерфейса указан, то вероятно проблема состоит именно в этом. Номер 6 канала указывается в файле примерно так:
auto wlan0
...
wireless-channel 6
__Простое решение__ проблемы состоит в комментировании этого параметра, чтобы адаптер не был ограничен только этим каналом, и перезапуске сети
auto wlan0
...
#wireless-channel 6
__Сложное решение__ проблемы состоит в регистрации бага на сайте производителя маршрутизатора (прошивки для него) и обновление прошивки маршрутизатора после (в случае) его исправления.
==== Перезапуск сети ====
Теперь, когда все необходимые действия выполнены можно перезапустить сеть и проверить соединение. Для этого:
$ sudo /etc/init.d/networking restart
Теперь при запуске комманды ''ifconfig'' должно отобразиться подключение eth0 с выставленными параметрами.
Если подключение отображается, но параметры не такие, какие были указаны в файле ''/etc/network/interfaces'', либо возникают любые другие ошибки, перепроверьте этот файл на наличие неточностей и опечаток и попробуйте ещё раз перезапустить сеть.
===== FAQ по сетям =====
===Как зайти на мой компьютер извне (через интернет)?===
Для начала надо узнать, какой IP-адрес даёт провайдер — серый или белый (не путать со статическим/динамическим). Если серый, то ничего не получится. Если белый, то возможны два варианта:
* Роутера нет или он работает в режиме бриджа (моста). В этом случае белый IP-адрес присваивается самому компьютеру. Вводим адрес — попадаем на комп, всё просто.
* Белый адрес присваивается роутеру. Соответственно, по этому адресу мы попадаем на роутер, а не на компьютер. Чтобы попасть на компьютер, на роутере нужно пробросить порты (см. ниже).
===Мне кажется, у меня слишком медленно работает сеть!===
Измерьте скорость сети между двумя компьютера с помощью ''iperf''. Можно воспользоваться [[http://www.ttk.ru/www/nsf/site.nsf/all/32DC8C9E2B6541A8C325705A0049A03B|этой]] инструкцией. В ней предлагают скомпилять программу из исходников, но можно просто [[установка программ#установка из репозиториев|установить её из репозитория]]. Если ''iperf'' покажет значение немного меньшее, чем ожидаемое, то с сетью всё в порядке, проблема может быть в железе (жёсткий диск/процессор не могут обеспечить большую скорость), в способе передачи (например, ''scp'' и ''ftp'' весьма неторопливы), в настройках (скорость может быть ограничена, например, настройками FTP-сервера) или в чём-то ещё. Если ''iperf'' показал величину, которая в разы меньше желаемой, то да, с сетью проблемы. Стоит посмотреть, в нужном ли режиме работает карта (например, с помощью ''ethtool''), проверить наличие "errors" в выхлопе ''ifconfig'' и потестить скорость подключения к какому-нибудь третьему компьютеру.
===Как узнать, какие программы слушают порты на моём компьютере?===
Чтобы посмотреть список открытых портов и названия слушающих их программ, используйте команду:
sudo netstat -nlpA inet,inet6
Для вывода информации о конкретном порте можно использовать ''grep''. Например, для //80// порта:
sudo netstat -nlpA inet,inet6 | grep :80
Из вывода ''netstat'' не всегда понятно, о какой программе идёт речь (например, //2671/python//), подробнее о процессе расскажет ''ps'':
ps aux | grep 2671
===Как присвоить 2 IP-адреса одной сетевой карте?===
Например, интерфейсу //eth0// нужно добавить адрес //192.168.1.1//.
Кратковременно, до перезапуска сети:
sudo ifconfig eth0:1 192.168.1.1
Навсегда — добавить в ''/etc/network/interfaces'' следующее:
#исправить строку auto
auto eth0 eth0:1
# добавить алиас
iface eth0:1 inet static
address 192.168.1.1
netmask 255.255.255.0
===Как пробросить порт?===
Например, нужно пробросить порт 8081. Адрес, на который обращается клиент, назовём //внешний_ip//, а адрес, на который он должен попасть — //внутренний_ip//.
iptables -t nat -A PREROUTING -p tcp -d внешний_ір --dport 8081 -j DNAT --to-destination внутренний_ір:8081
iptables -t nat -A POSTROUTING -p tcp --dst внутренний_ір --dport 8081 -j SNAT --to-source внешний_ір
И обязательно нужно что-то вроде
iptables -t filter -A FORWARD -m conntrack --ctstate DNAT -j ACCEPT
===== Ссылки =====
[[администрирование | Раздел Администрирование ]]\\
[[отключение_network_manager_а | Отключение Network Manager'a ]]\\
[[скрипт_vpn | Скрипт-помощник для настройки VPN соединения ]]\\
[[wifi_ap | Программная точка доступа ]]\\
[[http://forum.ubuntu.ru/index.php?topic=47337.msg352852#msg352852|Раздел часто задаваемых вопросов на форуме]]\\
[[http://ru.wikipedia.org/wiki/WiFi|Описание стандарта Wi-Fi]]\\
[[http://ru.wikipedia.org/wiki/WPA2|Описание протокола WPA2]]\\
[[http://ru.wikipedia.org/wiki/Вардрайвинг|Немного интересного про безопасность Wi-Fi сетей]]\\
[[http://ru.wikipedia.org/wiki/Беспроводная_сеть_ad_hoc|Описание ad hoc]]\\
[[http://ubuntuforums.org/showthread.php?t=318539|Статья о настройке Wi-Fi на ubuntuforums.org]]\\
[[http://linuxwireless.org|Ресурс, посвященный Wi-Fi устройствам в Linux]]\\
[[http://ubuntologia.ru/network-manual-configuration|Сайт "Убунтология". Настройка сети вручную.]]
{{tag> HOWTO Система Консоль Сеть Администрирование WiFi Домашний_Сервер}}