Статьи

Yellow Leaf - Статті - Точка доступу WiFi на FreeBSD

Операційну систему FreeBSD відрізняє стабільність і простота конфігурації. Саме тому вона є хорошим вибором для шлюзу в інтернет для невеликого офісу. Вісім років тому ми вже розглядали просту конфігурацію, яку можна розгорнути буквально за півгодини.

За минулий час точка доступу WiFi перестала бути чимось екзотичним і стала обов'язковим атрибутом будь-якого офісу. Далі буде показано як можна доповнити описану раніше конфігурацію точкою доступу WiFi.

Короткий план: додати в сервер WiFi-адаптер, налаштувати програмну точку доступу (hostapd), об'єднати в міст (bridge) мережеві інтерфейси точки доступу і дротової локальної мережі, і нарешті поправити конфігурацію pf.

Як мережевого адаптера ми будемо використовувати TP-Link TL-WN781ND, який відрізняється низькою ціною, хорошою підтримкою у FreeBSD і за кілька років експлуатації показав себе виключно стабільним і безпроблемним рішення.

Ще одне невелике уточнення: за минулі вісім років ОС на сервері була покроково оновлена ​​до FreeBSD 11.1: сервіс "named" був вилучений з базової поставки і тепер надається пакетом "bind912", а dhcp-сервер - пакетом "isc-dhcp44-server". В іншому конфігурація не змінилася (і навіть самі файли конфігурації не зміниться, хіба що настройки "named" перемістилися з "/ etc / namedb" в "/ usr / local / etc / namedb").

Приступаємо до налаштування. Почнемо з точки доступу. Додамо в "/etc/rc.conf" рядки:

# Зв'язуємо мережевий інтерфейс wlan0 з фізичним ath0 wlans_ath0 = "wlan0" # wlan0 буде працювати в режимі точки доступу create_args_wlan0 = "wlanmode hostap" # Дозволяємо запуск демона hostapd hostapd_enable = "YES"

Наступним кроком потрібно конфігурувати демон програмної точки доступу (hostapd). Для цього потрібно створити файл "/etc/rc.conf" такого змісту:

# Ім'я інтерфейсу interface = wlan0 # Рівень налагодження debug = 7 # Сокет, через який можна буде управляти демоном ctrl_interface = / var / run / hostapd # Група користувачів, яка буде мати можливість управління ctrl_interface_group = wheel # Видиме ім'я мережі ssid = best-company # Будемо використовувати шифрування WPA2 wpa = 2 # Пароль нашої мережі wpa_passphrase = p4330wrd # Протокол управління ключами wpa_key_mgmt = WPA-PSK # Канал, на якому буде працювати наша точка доступу. channel = 7

На цьому настройка hostapd закінчена і можна переходити до створення моста. Нагадаємо що у нас два дротових інтерфейсу: "em0" дивиться в локальну мережу і "le0" дивиться в інтернет. Ми будемо об'єднувати "em0" і "wlan0" в міст "bridge0".

Спочатку треба прибрати (або закомментировать) в файлі "/etc/rc.conf" пов'язані з "em0" настройки. Потім додаємо в цей же файл рядки:

# Віртуальні інтерфейси, які нам треба створити cloned_interfaces = "bridge0" # Описуємо настройки bridge0 ifconfig_bridge0 = "inet 172.31.255.1 netmask 255.255.255.0 addm em0 addm wlan0 up" # Вхідні в міст інтерфейси повинні бути підняті ifconfig_em0 = "up" ifconfig_wlan0 = " up "

Приступаємо до налаштування DHCP-сервера. Тут треба тільки змінити ім'я інтерфейсу, на якому слухає DHCP-сервер. За це відповідає параметр "dhcpd_ifaces" у файлі "/etc/rc.conf":

dhcpd_ifaces = "bridge0"

В останню чергу змінювати налаштування файрволла. Порівняно з вихідної конфігурацією змін майже немає. Тільки в якості внутрішнього інтерфейсу в файлі "/etc/pf.rules" тепер треба вказувати "bridge0":

if_int = "bridge0"

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

На цьому все. Приємної роботи!

Новости