Увімкнути вай фай на лінуксі. Як на ноутбуці ввімкнути wifi? Створення точки доступу

💖 Подобається?Поділися з друзями посиланням

За допомогою W-Fi адаптеріву Ubuntu спостерігаються певні проблеми. Добре, якщо можна вибрати свідомо сумісну модельпри покупці, але частіше доводиться використовувати обладнання, яке є. У цьому випадку доведеться встановлювати адаптер самостійно. Сьогодні ми розглянемо саме такий випадок.

Забігаючи наперед, скажемо, що нічого складного в підключенні непідтримуваних Wi-Fi адаптерів немає. Незважаючи на те, що ряд дій, які ми виконуємо, можна виконати за допомогою графічного інтерфейсу, ми будемо працювати виключно в консолі, що дозволить використовувати рекомендації цієї статті як для настільних, так і для серверних версій Ubuntu.

Наприклад розглянемо підключення в Ubuntu 12.04 LTS недорогого USB-адаптера TP-Link TL-WN725N.

Перейдемо в домашню директорію та скачаємо архів репозиторію, попередньо підвищивши права до суперкористувача:

Sudo-s
cd ~
wget "https://github.com/lwfinger/rtl8188eu/archive/master.zip"

Розпакуємо архів (при необхідності встановивши unzip).

Unzip master.zip

Як можна побачити з висновку команди, вміст архіву розпакувався в директорію rtl8188eu-master, перейдемо в неї і виконаємо складання модуля:

Cd rtl8188eu-master
make

Після складання модуля в директорії має з'явитися файл 8188eu.ko, це і є шуканий модуль ядра. Тепер встановимо його командою:

Make install

Залишилось включити наш модуль, виконавши команду:

Modprobe 8188eu

або просто вимкнути та підключити заново адаптер. У настільній системі ви відразу побачите повідомлення про можливість підключення до бездротової мережі.

Або виконайте в консолі команду:

Ifconfig

У висновку ви побачите бездротовий інтерфейс. wlan0.

Як бачимо, нічого складного немає. Однак слід пам'ятати, що модуль збирається та встановлюється під поточну версіюядра, і при його оновленні буде необхідно виконати складання та встановлення модуля заново. Якщо такої можливості немає, слід, утримуючи Shiftпри завантаженні, вибрати та завантажити версію ядра, для якої зібрано модуль.

У цьому посібнику пояснюється, як підключити комп'ютер до мережі за допомогою конфігураційних файлівта консольних утиліт. Основна мета - розповісти про різних способахпідключення до Інтернету без використання GUI (графічного інтерфейсу). Керівництво не торкається таких тем, як налаштування мережевих фільтрів або, наприклад, власних точок доступу Wi-Fi. Мається на увазі, що існує якийсь наданий провайдером спосіб підключення до інтернету, для використання якого і необхідно виконати наведені нижче дії.

У посібнику наведено приклади редагування конфігураційних файлів за допомогою текстових редакторів"nano" і "gedit". Зверніть увагу, що перший редактор запускається в терміналі і може бути використаний як при запуску Ubuntu з графічним інтерфейсом, так і без нього, а gedit можна використовувати тільки при включеному графічному середовищі.

Вимоги до системи

Для відтворення описаних у посібнику дій підходить будь-який варіант встановлення системи. Наявність графічного інтерфейсу користувача не обов'язково. Усі дії необхідно виконувати в консолі. Мається на увазі, що команди, що починаються з символу $ - необхідно виконувати від користувача, а з # - від суперкористувача (root).

Перш ніж Ви почнете, переконайтеся, що:

    Різні мережні фільтри (наприклад iptables), а також утиліти їх конфігурування (наприклад, Firestarter) відключені/правильно налаштовані та не втручаються в роботу мережі.

    У вас є всі необхідні параметри для підключення у Вашій мережі (наприклад, IP-адреса, маска підмережі та стандартний шлюз для з'єднання з використанням статичного IP).

    Пристрої мережі, що здійснюють фільтрацію за MAC-адресою, правильно налаштовані і «знають» Ваш мережевий інтерфейс.

    Драйвер Вашого мережного пристрою коректно встановлений, кабель (під час дротового з'єднання) справний і приєднаний.

Для налаштувань вам обов'язково знадобиться ім'я мережного адаптера. Його можна дізнатися з висновку команди:

$ sudo lshw -C network

Вона дозволяє переглянути підключені мережні пристрої.

Приклад виведення команди:

Ubuntu@ubuntu:~$ sudo lshw -C network *-network доклад: 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 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 - це і є шукане ім'я мережного інтерфейсу.

Ім'я eth0 буде надалі застосовуватися для налаштування саме даної мережевої карти. Де eth означає, що використовується Ethernet інтерфейс, а 0 - номер пристрою. Якщо у вас встановлено кілька мережевих пристроїв, то, відповідно, їм будуть надані імена: eth0, eth1, eth2 і т.д.

Після впровадження SystemD (з Ubuntu 15.04) мережні інтерфейси можуть мати інші імена (не ethX). Зроблено це для того, щоб імена мережевих пристроїв не змінювалися при підключенні до машини нових адаптерів (у Останнім часом, деякі USB модемивиступають у ролі мережного адаптера). В результаті eth0 може називатися, наприклад, enp0s4 або eno1, або навіть enx78e7d1ea46da. Саме це ім'я адаптера мережі і потрібно використовувати в налаштуванні мережі.

Детальніше про найменування мережевих інтерфейсіву SystemD можна почитати (англ.).

Таке перейменування можна відключити додавши в /etc/default/grub, у рядок зі змінною GRUB_CMDLINE_LINUX_DEFAULTрядок net.ifnames=0. Після цього потрібно виконати sudo update-grub

Налаштування дротової мережі

Налаштування IP-адреси, стандартного шлюзу, маски підмережі

/etc/network/interfaces, наприклад так:

І допишіть до нього:
Для статичного ІР:

Iface eth0 inet static address 192.168.0.1 netmask 255.255.255.0 gateway 192.168.0.254 dns-nameservers 192.168.0.254 8.8.8.8 auto eth0

    Iface eth0 inet static - показує, що інтерфейс (iface eth0) перебуває у діапазоні адрес 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;

    Dns-nameservers 192.168.0.254 8.8.8.8 - адреси DNS серверів(Про ниж ми розповімо пізніше)

    Auto eth0 - вказує системі, що інтерфейс eth0 необхідно включати автоматично при завантаженні системи з вищезазначеними параметрами.

eth0- Ім'я свого інтерфейсу. Список інтерфейсів можна переглянути набравши:

$ip addr

У результаті файл /etc/network/interfacesмає виглядати приблизно так:
(Для одного провідного з'єднання зі статичним IP)

# Цей файл описує мережу функцій доступних на вашій системі # і як вона активується. For more information, see interfaces(5). # Моя дротова мережа. iface eth0 inet static address 192.168.0.1 netmask 255.255.255.0 gateway 192.168.0.254 dns-nameservers 192.168.0.254 8.8.8.8 auto eth0

Збережіть файл та закрийте редактор. В даному прикладі (редактор nano) - натисніть Ctrl + X, потім Y, переконайтеся, що "Ім'я файлу для запису" - /etc/network/interfaces і натисніть Enter.

Детальніше про синтаксис файлу /etc/network/interfacesможна прочитати в документації.

Приклад конфігурації для динамічного IP:

Iface eth0 inet dhcp auto eth0

Тимчасове налаштування IP-адреси та маски підмережі

За необхідності задати пробні налаштування, виконайте:

$ sudo ip addr add 192.168.0.1/24 dev eth0

Де 192.168.0.1 – наша IP-адреса, /24 – число біт у префіксній частині адреси (відповідає масці підмережі 255.255.255.0).
eth0- мережний інтерфейс, що підключається.

Дані налаштування зникнуть після перезавантаження системи та не вплинуть на файл /etc/network/interfaces

Налаштування DNS

За конфігурацію DNS відповідає утиліта resolvconf, яка працює в парі з невеликим сервером dnsmasq, що кешує DNS. resolvconf дозволяє здійснити налаштування DNSна основі даних від різних підсистем.
Одним із наслідків цього корисного нововведення (перехід на цю схему стався в Ubuntu починаючи з версії 12.04) є те, що тепер файл /etc/resolv.conf генерується автоматично, а не індивідуально кожною програмою, яка хоче його змінити (іноді перезаписуючи правки, зроблені раніше ). Автоматична генерація /etc/resolv.conf означає, що внесені «руками» зміни до нього будуть втрачені.
Автоматично формований /etc/resolv.conf містить посилання на сервер DNS на локальному інтерфейсі (127.0.1.1), а там (на 53 порту) і сидить сервіс dnsmasq, який відповідає за дозвіл символьних імен в IP адреси. Слід зазначити, що це порт (53) відкрито режимі LISTEN, але т.к. це локальний інтерфейс, то із зовнішньої мережі цей порт недоступний.
Інформацію про DNS для статичних інтерфейсів тепер треба вносити в /etc/network/interfaces до параметрів dns-nameservers, dns-search і dns-domain (які відповідають параметрам nameserver, search і domain у /etc/resolv.conf)

Зверніть увагу - в /etc/resolv.conf, при записі кількох серверів використовується кілька ключів nameserver, а /etc/network/interfaces всі адреси DNS серверів записувалися в одну строчку після ключа dns-nameservers, розділені пробілами.

У результаті опис статичного інтерфейсу /etc/network/interfaces має виглядати приблизно так:

Iface eth0 inet static address 192.168.0.1 netmask 255.255.255.0 gateway 192.168.0.254 dns-nameservers 8.8.8.8 192.168.0.254 auto eth0

Ubuntu до версії 12.04

У старіших версіях ubuntu, коли є необхідність вказати статичні адреси DNS серверів (якщо вони не видаються автоматично) виконайте:

$ sudo gedit /etc/resolv.conf

і впишіть туди адреси серверів DNS (окремі записи для кожного сервера):

Nameserver 192.168.0.100 nameserver 192.168.0.200

Де 192.168.0.100 та 192.168.0.200 - адреси DNS серверів. Якщо потрібно додати більше адрес - кожну адресу потрібно починати з нового рядка і з фрази nameserver

Налаштування з'єднань ppp

За створення з'єднань типу «крапка-крапка» в Ubuntu відповідає демон pppd, докладніша інформація про який доступна в документації . У рамках даного керівництвабудуть розглянуті приклади створення PPPoE підключеннячерез DSL модем, підключення PPTP (VPN-підключення) та DIAL-UP підключення через звичайний модем.

З'єднання PPPoE

У стандартне встановлення Ubuntu входить утиліта для налаштування PPPoE з'єднань – pppoeconf, для її запуску наберіть:

$ sudo pppoeconf

З'явиться "псевдографічне" вікно в терміналі. Утиліта здійснить пошук мережних пристроїв і виведе їх на екран, далі вона здійснить пошук модему на цих пристроях. Якщо на цьому етапі pppoeconf видасть негативний результат – перевірте правильність підключення, живлення модему. Наступний крок – вибір «популярних параметрів» – здебільшого варто погодитися. Далі утиліта запросить Ваш логін, а потім пароль. Тепер – вибір способу вказівки DNS серверів. Знову ж таки, у більшості випадків слід погодитися на отримання адрес DNSсерверів автоматично. Далі Вам запропонують обмежити розмір MSS до 1452 байт - як правило, варто погодитися. Наступне питання - чи встановлювати з'єднання автоматично під час завантаження комп'ютера. Останнє питання утиліти – чи встановити з'єднання зараз. pppoeconfза промовчанням створює для підключення ім'я dsl-provider. Керувати підключенням Ви можете за допомогою команд:

$ sudo pon dsl-provider # Для підключення або $ sudo poff dsl-provider # Для відключення

Якщо у Вашому випадку опцій, що надаються утилітою pppoeconfнедостатньо - зверніться до документації по pppd або pppoeconf.

Примітка: під час налаштування з'єднання за допомогою pppoeconfчастина налаштувань записується в /etc/network/interfaces , внаслідок чого Network Manager більше не може керувати мережею. Вихід: або використовувати лише NM, або лише консоль+конфіги. Повернути керування Network Manager можна в такий спосіб. Наведіть /etc/network/interfacesдо наступного виду (зайве не обов'язково видаляти, достатньо закоментувати):

# Цей файл описує мережу функцій доступних на вашій системі # і як вона активується. For more information, see interfaces(5). # The loopback network interface auto lo iface lo inet loopback

Перезапустіть мережу:

Перезавантажтеся або перезапустіть Network Manager:

$ sudo /etc/init.d/NetworkManager restart

З'єднання PPTP

Для здійснення VPN-з'єднання за допомогою pppd Вам потрібно встановити пакет pptp-linux, який може бути знайдений на настановному диску Ubuntu. Далі створіть (від root'а) у папці /etc/ppp/peersфайл з назвою Вашого провайдера та відредагуйте його, наприклад так:

$ sudo nano /etc/ppp/peers/my-provider

І додайте туди опції підключення, наприклад:

Persist # При розриві з'єднання - перепідключатися знову. maxfail 0 # Максимальна кількість невдалих спробпідключення. 0 – нескінченно. mtu 1476 # Значення MTU name (логін) # Ваш логін. #nodefaultroute # Не бути стандартним шлюзом defaultroute # Бути стандартним шлюзом replacedefaultroute # Замінити шлюз за замовчуванням якщо він був remotename (vpn) # Ім'я віддаленого сервера(Для нас), може бути будь-яким. pty "pptp (адреса_сервера) --nolaunchpppd" # Команда запуску pptp. Адреса сервера - може бути як IP адресою, так і доменним ім'ямнаприклад vpn.foo.bar

(логін) (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 password for ubuntu: Editing `/etc/wvdial.conf". Сканування ваших серійних портів для 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>: Модем ID: 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

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 Password = internet Baud = 460800 Idle Seconds = 0 # Час простою з'єднання, # після якого потрібно буде його розірвати. Значення 0 – ніколи. Dial Attempts = 0 # Кількість спроб додзвону. 0 – нескінченно. Dial Command = ATDP # Команда набору номера (P – імпульсний, T – тональний). Має значення для набору номера в імпульсному режимі на старих АТС.

Файл /etc/wvdial.conf розбитий на секції, як роздільники яких виступають самі назви секцій, попереджені словом Dialer, в квадратних дужках. Якщо виконувати команду без параметрів, то справа піде установки, перелічені в секції Defaults. В іншому випадку додатково будуть виконані вказані у додаткових секціях команди.

Тепер, коли все налаштовано, можна встановити з'єднання набравши:

$ sudo wvdial

Якщо потрібно запустити wvdial з набором номера в імпульсному режимі, це можна зробити командою

$ sudo wvdial pulse

Перервати з'єднання можна перервавши виконання команди wvdial, тобто. у тому ж терміналі потрібно натиснути Ctrl+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/, або за рекомендацією офіційної документації створити /etc/ppp/ip-up.localнаприклад так:

$ sudo nano /etc/ppp/ip-up.local

$ 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

$ sudo chmod ug+x /etc/ppp/ip-up.local

$ 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, т.к. це найбільш безпечний протокол аутентифікації в бездротових мережахна даний момент.

Зауваження

Вирішення проблем

Не встановлюється з'єднання 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 DHCPDISCOVER на wlan0 to 255.255.255.255 port 67 interval 8 DHCPDISCOVER на 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

Тепер, при запуску команди ip addr, має відобразитися підключення eth0 з виставленими параметрами. Якщо підключення відображається, але параметри не такі, які були вказані у файлі /etc/network/interfaces , або виникають будь-які інші помилки, перевірте цей файл на наявність неточностей і друкарських помилок і спробуйте ще раз перезапустити мережу.

FAQ по мережах

Як зайти на мій комп'ютер ззовні (через інтернет)?

Для початку треба дізнатися, яку IP-адресу дає провайдер - сірий або білий (не плутати зі статичним/динамічний). Якщо сірий, то нічого не вийде. Якщо білий, то можливі два варіанти:

    Роутера немає або працює в режимі бриджу (моста). У цьому випадку біла IP-адреса присвоюється самому комп'ютеру. Вводимо адресу - потрапляємо на комп'ютер, все просто.

    Біла адреса присвоюється роутеру. Відповідно, за цією адресою ми потрапляємо на роутер, а не комп'ютер. Щоб потрапити на комп'ютер, на роутері потрібно прокинути порти (див. нижче).

Мені здається, у мене надто повільно працює мережа!

Виміряйте швидкість мережі між двома комп'ютерами за допомогою iperf . Можна скористатися цією інструкцією. У ній пропонують скомпілювати програму з вихідних джерел, але можна просто встановити її з репозиторію. Якщо 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

Як присвоїти дві IP-адреси одній мережній карті?

Наприклад, інтерфейсу eth0потрібно додати адресу 192.168.1.1 . Короткочасно, до перезапуску мережі:

Sudo ip addr add 192.168.1.1/24 dev eth0

Назавжди - додати /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 filtr -A FORWARD -m conntrack --ctstate DNAT -j ACCEPT

Intel PRO/Wireless

WiFi-картка з відповідним софтом під Win-Intel PROSet/Wireless.
На прикладі ноутбука MSI L745 все запрацювало без втручання. Клік по іконці NetworkManager"а - отримуємо список усіх мереж в районі.
Ubuntu 7.10, 7.04 Піднімав wifi на прикладі ноутбука ASUS Pro 52RL. Інформації на нього немає ніде, навіть на сайті асусу. Гугль нею дає лише 4 посилання російською. Продається він лише у медіамаркті. Ну та гаразд, ближче до справи.
Ubuntu 7.10

Стоїть на ньому бездротова картка Atheros AR5006EG. Убунт знаходить і за замовчуванням включає пропрієтарний драйвер, який не працює. Треба його вимкнути. Для цього у файл /etc/modprobe.d/blacklist-common (якщо такого немає, то файл blacklist) потрібно додати рядок:


Перезавантажимося:

Крім того, нам потрібен драйвер для Windows. Для зазначеної картки його можна взяти. Так, ще програма, яка змусить його працювати, і тоді можна одразу драйвер і встановити.
$ sudo apt-get install ndiswrapper-common
$ sudo ndiswrapper -i net5416.inf
$ sudo ndiswrapper -m
$ sudo init 6

У списку iwconfig має з'явитися новий інтерфейс wlan0. Далі все, як у випадку з Intel PRO. Цього звіра переміг хабраюзер chumric на лаптопі HP Pavilion TX1350ER (нічого так іграшка:). За його словами процес докладно описаний у

Якщо ви є власником будь-якого мобільного пристрою під керуванням OS Linux, то вам в першу чергу доведеться задуматися над виконанням завдання номер один - налаштування з'єднання з бездротовою точкою доступу Wifi. За замовчуванням стандартні інструменти для Linux-десктопів надійні та зручні у використанні. Наприклад, Wifi Radar , Network Manager і багато інших програм цього класу. Звичайно, мається на увазі, що ви використовуєте оточення типу Gnome або KDE, які мають дуже багатий функціонал і вибір.

Але як бути, якщо у вас щось інше і рідкісніше - E17, Fluxbox, ION чи взагалі "гола" консоль? У цьому випадку вам варто застосувати класичний спосібналаштування - командний рядок.

Давайте розглянемо два випадки налаштування з'єднання з бездротовою точкою доступу:
- графічний додаток Wicd (для прикладу);
- Консольні утиліти.

Вступ

Передбачається, що у вас є бездротове мережевий пристрій(Адаптер), який працює під Linux. Якщо ви раптом виявили, що ваш пристрій не працює, можна запропонувати, як один із варіантів для новачків, поставити останню версію дистрибутива Ubuntuта встановити пропрієтарні драйвера для своєї бездротової картки. Запропонований випадок є найбільш простим та дієвим, порівняно зі спробами змусити працювати адаптер через драйвер ndiswrapper.

Також передбачається, що у вас є два параметри для підключення до бездротової точки: SSID і ідентифікаційний ключ. Без них (особливо - без другого, оскільки перший можна легко дізнатися) ви не зможете встановити з'єднання.

Wicd

Графічний додаток, написаний на Python. Гнучка та зручна у використанні програма, що пропонує великий функціонал. Wicd легко встановлюється та ним також легко користуватися. Достатньо лише кількох хвилин для ознайомлення з програмою. Варто також зауважити, що Wicd, крім графічного інтерфейсу, має і консольний варіант "виконання", що не поступається за функціональністю.

Командна строка

Давайте подивимося, як налаштувати wifi-з'єднання через командний рядок. До речі, такий спосіб є універсальним, тому що використовуються утиліти, які є стандартними для всіх дистрибутивів Linux. Більше того, всі програми з графічним інтерфейсом (GUI) засновані на роботі саме цих утиліт. Образно кажучи, якщо ми знімемо "дах" GUI у будь-якого графічного застосування, то під нею ми побачимо скромних і непомітних трудівників консолі: ifconfig, wireless-tools, wpa_supplicant, ping, nmap та багато інших.

Для виконання нашого завдання знадобляться такі утиліти:

  • - ifconfig : повністю керує роботою будь-якого мережного адаптера вашого комп'ютера (чи проводового або бездротового інтерфейсу);
  • - iwlist : видає список доступних для підключення (які знаходяться в радіусі досяжності) бездротових дочок доступу;
  • - iwconfig : утиліта керування та конфігурування бездротових мережевих пристроїв (адаптерів);
  • - dhclient (або його податки): автоматично отримує IP-адресу від dhcp-сервера бездротової точки;
  • - wpa_supplicant: утиліта для налаштування шифрованих з'єднань.

Перед початком налаштування wifi-з'єднання логічним було б перевірити наявність усіх цих утиліт у системі (хоча майже всі вони входять у стандартний набір Linux-дистрибутивів). Давайте все ж переконаємося в тому, що вони є у нас, виконавши зовсім нескладні команди (див. man which):

  • - which ifconfig
  • - Які iwlist
  • - which iwconfig
  • - Які dhclient
  • - which wpa_supplicant

При виконанні кожної з цих команд ви побачите шлях, яким вони розташовуються в файловій системі. Якщо раптом не побачите – вам доведеться встановити відсутні. Найбільш простий і рекомендований - це менеджером пакетів того дистрибутива Linux, яким Ви користуєтеся. Як альтернатива – можна запропонувати установку з вихідних джерел, але такий шлях вимагає достатнього досвіду від користувача.

Розглянемо приклад підключення до wifi-точки із шифруванням WEP

1 . Перше, що ми зробимо – подивимося, які мережеві адаптери є у нас на комп'ютері:

# ifconfig -a

Висновок міститиме імена та докладний описвсіх мережних інтерфейсів, які вдалося виявити утиліті ifconfig. Якщо не було виявлено бажаний, то причина полягає лише в одному - немає драйверів для нього і не включено підтримку цього інтерфейсу в ядрі Linux.

2 . Запускаємо бездротовий мережевий адаптер:

# ifconfig wlan0 up

тут :
- wlan0 – стандартне в більшості Linux-систем ім'я wifi-картки;
- up - опція каже команді ifconfig запустити для роботи ("підняти") мережний пристрій.

3 . Тепер нам треба сканувати ефір навколо себе на наявність доступних hot-spot"ів:

# iwlist wlan0 scan

тут :

Wlan0 – ім'я бездротового адаптера;
- scan - команда iwlist запускається як сканування.

Результатом роботи iwlist буде детальний звіт, з якого на даному етапі нас цікавить лише один рядок: ESSID: "Some_Name". Значення ESSID ("Some_Name") - це ім'я точки доступу бездротової мережі. Тепер ми знаємо, до якої конкретно wifi-точки ми підключатимемося.

4 . Виконуємо підключення:

# iwconfig wlan0 essid Some_Name key Wireless_Key

тут :

Wlan0 – мережевий адаптер, на якому налаштовується з'єднання;
- essid - задаємо ім'я точки доступу, до якої підключаємось;
- key - вказуємо ключ шифрування, який використовується цією точкою доступу передачі даних.

Зауваження:

Команда iwconfig за замовчуванням використовує для ключа шифрування дані у шістнадцятковому вигляді HEX. Якщо ви хочете вказати ключ як простого тексту (ASCII), вам необхідно використовувати опцію s .

Наприклад, так:

# iwconfig wlan0 essid Some_Name key s:Wireless_Key

З'єднання встановлено.

5 . Останній крок - отримуємо від dhcp-сервера wifi-точки IP-адресу:

# dhclient wlan0

Звичайно, вищезазначені кроки виконувати щоразу втомлює. Можна спростити процес встановлення з'єднання, написавши скрипт підключення, в якому ми поєднаємо всі ці команди в одне ціле:

#! /bin/bash ifconfig wlan0 up iwconfig wlan0 essid Кнопка одного_назви:Wireless_Key sleep 10 dhclient wlan0

Зберігаємо цей файл під якимось ім'ям (наприклад, wireless_up) та робимо його виконуваним командою:

# chmod u+x wireless_up

Переносимо wireless_up шляхом /usr/local/bin, щоб зробити його глобально видимою всією системою.

Тепер вам достатньо набрати в командному рядку:

#wireless_up

І з'єднання буде встановлено.

Розглянемо складніший випадок - з'єднання з точкою доступу WPA-шифруванням

З'єднання з таким шифруванням підтримує лише утиліта wpa_supplicant, тому вона нам знадобиться. Також, знову ж таки, припускаємо, що ми знаємо ключ (пароль) шифрування цієї точки доступу.

1 . Генеруємо пароль на основі цього ключа за допомогою утиліти wpa_passphrase, яка входить до складу пакету wpa_supplicant. Справа в тому, що пароль, який ми будемо використовувати далі, має бути у вигляді шістнадцяткового числа:

# wpa_passphrase ssid password

Утиліта видасть згенерований рядок psk, який ми вставимо в конфігураційний файл wpa_supplicant.conf:

# sudo nano -w /etc/wpa_supplicant.conf Network=( ssid=SSID psk=PSK )

Це дуже спрощений конфігураційний файл, але він буде працювати. Можливо, вам буде потрібно додати до шапки цього файлу ще один рядок:

Ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=wheel

для надання необхідних правдоступу.

2 . "Піднімаємо" інтерфейс wlan0:

# ifconfig wlan0 up

3. Вказуємо, до якої точки ми хочемо підключитися:

# iwconfig wlan0 essid ssid

4 . Запускаємо утиліту wpa_supplicant на встановлення з'єднання:

# wpa_supplicant -B -Dwext -i wlan0 -c /etc/wpa_supplicant.conf

тут :
-B – запускати команду wpa_supplicant у фоновому режимі;
-Dwext - говоримо утиліті wpa_supplicant використовувати драйвер wext для інтерфейсу wlan0;
-i - задаємо мережний інтерфейс, що настроюється (wlan0 в нашому випадку);
-с – вказуємо шлях до конфігураційного файлу wpa_supplicant.conf.

5 . Перевіряємо, що з'єднання встановлено:

# iwconfig wlan0

На виводі побачимо докладну інформацію щодо вказаного інтерфейсу wlan0.

6 . Отримуємо локальну IP-адресу:

# dhclient wlan0

7 .Спрощуємо процес, створивши шляхом /etc/network/interfaces запис наступного виду:

auto wlan0 iface wlan0 inet dhcp pre-up wpa_supplicant -Bw -Dwext -i wlan0 -c /etc/wpa_supplicant.conf post-down killall -q wpa_supplicant

Висновок

Залежно від дистрибутива Linux існує безліч способів налаштування wifi-з'єднань. Саме завдяки такій різноманітності налаштувати з'єднання можна практично в будь-якій Linux-системі.
Головне, щоб сам бездротовий адаптер підтримувався в Linux лише на рівні драйверів. Але це вже залежить головним чином розробників операційних систем.



Розповісти друзям