Гостьова Wi-Fi мережа з обмеженням доступу

  у розділі Технічні теми 

Сьогодні хочу розповісти як безпечно поділитися своїм бездротовим інтернетом з сусідами чи клієнтами.

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

Також, бажано розділити інтернет так, щоб Ваші гості не забирали всю швидкість собі, тобто встановити пріоритети трафіку (основне Вам, все решта — гостям).

Я реалізував це на безкоштовній прошивці для роутерів DD-WRT. Зауважу, що багато сучасних роутерів мають такі функції (в тій чи іншій мірі) вже в стандартних прошивках. Але якщо їх функцій недостатньо — краще встановити альтернативні.

В загальному, повинна вийти ось така схема:

Гостьова Wi-Wi мережа з обмеженим доступом

Наші гості можуть вільно підключатись до Wi-Fi і отримувати доступ до інтернету. Ми самі підключаємося до іншої W-Fi мережі і отримуємо доступ до інтернету та локальних ресурсів.

Обмін інформацією між Wi-Fi мережами заборонено. Доступ до роутера з гостьової мережі — заборонено.

Гостьова мережа має менший пріоритет трафіку, щоб не заважати користуватися інтернетом нам.

Після змін на сторінках не забувайте тиснути Apply Settings! Дайте роутеру час (30-90 с) щоб все коректно зберегти!

Встановіть прошивку DD-WRT

На цьому не буду зупинятися. Процес встановлення залежить від моделі роутера. Перевірити чи придатний Ваш роутер і як його перепрошити краще на офіційному сайті DD-WRT.

Процедура, як правило, не складна.

Зайдіть на веб-сторінку налаштувань роутера.

Створення додаткової Wi-Fi мережі

Заходимо в Wireless -> Basic Settings. У розділі Virtual Interfaces тиснемо Add.

Даємо назву новій мережі (гостьовій). Більше нічого не змінюємо.

MultiWLAN_wireless_basicsettings

Apply Settings.

Параметри безпеки Wi-Fi мереж

Заходимо в Wireless -> Advanced Settings. Задаємо параметри безпеки для обидвох мереж. Для себе — надійно, для гостей — щось з простим паролем.

MultiWLAN_wireless_encryption

Apply Settings.

Розділення мереж

Розділимо дві мережі на логічно окремі, зі своїм діапазоном IP-адрес.

Setup -> Networking page. У розділі Bridging, підрозділ Create Bridge тицяємо Add. Назва — br1.

Apply Settings.

Якщо "основна" мережа має адресу 192.168.1.0 (за замовчуванням) то для додаткової задаємо, наприклад, 192.168.2.0/255.255.255.0.

MultiWLAN create bridge

Apply Settings.

Прив’яжемо створену підмережу до гостьового Wi-Fi. У розділі Assign to Bridge вкажіть що br1 належить до wl0.1.

MultiWLAN assign bridge

Apply Settings.

Для роздавання IP-адрес з нового діапазану створимо додатковий DHCP-сервер. У розділі Multiple DHCP Server вкажіть br1. Параметри мережі підтягнуться автоматично.

MultiWLAN add dhcp

Тепер, основна Wi-Fi мережа та локальні комп’ютери (що під’єднані кабелем) автоматично отримуватимуть IP-адреси 192.168.1.x, а гостьова мережа — 192.168.2.x.

Apply Settings.

Обмеження доступу

Потрібно зробити так, щоб гостьова мережа могла користуватись лише інтернетом, без доступу до ресурсів приватної мережі чи налаштувань роутера.

Administration -> Commands page, у текстовому полі Commands скопіюйте та вставте:

iptables -t nat -I POSTROUTING -o `get_wanface` -j SNAT --to `nvram get wan_ipaddr`
iptables -I FORWARD -i br1 -m state --state NEW -j ACCEPT
iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
iptables -I FORWARD -i br1 -o br0 -m state --state NEW -j DROP
iptables -I FORWARD -i br0 -o br1 -m state --state NEW -j DROP
iptables -I FORWARD -i br1 -d `nvram get wan_ipaddr`/`nvram get wan_netmask` -m state --state NEW -j DROP
iptables -I FORWARD -i br1 -d `nvram get lan_ipaddr`/`nvram get lan_netmask` -m state --state NEW -j DROP
iptables -t nat -I POSTROUTING -o br0 -j SNAT --to `nvram get lan_ipaddr`
iptables -I INPUT -i br1 -m state --state NEW -j DROP
iptables -I INPUT -i br1 -p udp --dport 67 -j ACCEPT
iptables -I INPUT -i br1 -p udp --dport 53 -j ACCEPT
iptables -I INPUT -i br1 -p tcp --dport 53 -j ACCEPT

(доповнено 11.11.14) або ще й зробити так, щоб гості могли відкривати лише веб-сторінки (TCP порти 80 та 443, а не торенти/FTP тощо):

iptables -t nat -I POSTROUTING -o `get_wanface` -j SNAT --to `nvram get wan_ipaddr`
iptables -I FORWARD -i br1 -m state --state NEW -j ACCEPT
iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
iptables -I FORWARD -i br1 -o br0 -m state --state NEW -j DROP
iptables -I FORWARD -i br0 -o br1 -m state --state NEW -j DROP
iptables -I FORWARD -i br1 -d `nvram get wan_ipaddr`/`nvram get wan_netmask` -m state --state NEW -j DROP
iptables -I FORWARD -i br1 -d `nvram get lan_ipaddr`/`nvram get lan_netmask` -m state --state NEW -j DROP
iptables -t nat -I POSTROUTING -o br0 -j SNAT --to `nvram get lan_ipaddr`
iptables -I INPUT -i br1 -m state --state NEW -j DROP
iptables -I INPUT -i br1 -p udp --dport 67 -j ACCEPT
iptables -I INPUT -i br1 -p udp --dport 53 -j ACCEPT
iptables -I INPUT -i br1 -p tcp --dport 53 -j ACCEPT
iptables -I FORWARD -i br1 -j DROP
iptables -I FORWARD -i br1 -p udp --dport 53 -j ACCEPT
iptables -I FORWARD -i br1 -p tcp --dport 53 -j ACCEPT
iptables -I FORWARD -i br1 -p tcp --dport 80 -j ACCEPT
iptables -I FORWARD -i br1 -p tcp --dport 443 -j ACCEPT

Натисніть Save Firewall.

Встановлення пріоритетів трафіку

Нехай гості користуються інтернетом без обмежень, але якщо інтернетом користуються з основної мережі — швидкість для гостей автоматично знижується, щоб не заважали.

NAT/QoS  -> QoS. Параметри — як на малюнку.

У полях "швидкість" вкажіть приблизно 90% від реальної швидкості що надається провайдером! Наприклад для швидкості 2Мб/с (~2000 Кб/с) вкажіть 1800.

QOS

У розіділі Netmask Priority додайте, по черзі, дві наших IP-мережі. Для основної виберіть пріоритет Premium (пріоритетна швидкість), для гостьової — Bulk (що залишиться). На малюнку, 1-ша мережа має діапазон 192.168.0.0, бо це мої власні налаштування. Стандартні — 192.168.1.0.

QOS priority

Пріоритет трафіку працює не супер-гладенько, але прийнятно.

Перевантажте роутер щоб переконатись що все збереглося та працює як треба.

На цьому — дякую за увагу. Нехай Ваші клієнти будуть задоволені, а сусіди вдячні за халяву. ;)

P.S.

Тестувалося на Linksys WR54g, DD-WRT v24-sp2 (10/10/09) micro. Частину ілюстрацій використано з Wiki-сайту DD-WRT.


Коментарі