Додаткові налаштування гостьового Wi-Fi
Вступ
- Цей посібник описує найпоширеніші сценарії налаштування гостьового Wi-Fi в OpenWrt.
- Перед цим налаштуйте гостьову мережу за базовою інструкцією.
Додатково
Подвійний діапазон (Dual-band)
Якщо ви хочете використовувати обидва діапазони Wi-Fi. Змініть ідентифікатор інтерфейсу за потреби.
# Налаштування бездротової мережі WIFI_DEV="$(uci get wireless.@wifi-iface[1].device)" uci -q delete wireless.guest2 uci set wireless.guest2="wifi-iface" uci set wireless.guest2.device="${WIFI_DEV}" uci set wireless.guest2.mode="ap" uci set wireless.guest2.network="guest" uci set wireless.guest2.ssid="guest2" uci set wireless.guest2.encryption="none" uci commit wireless wifi reload
Наведені нижче налаштування потрібно застосувати окремо для кожного SSID/діапазону.
Шифрування
Захистіть вашу гостьову мережу.
# Налаштування шифрування WIFI_PSK="GUEST_WIFI_PASSWORD" uci set wireless.guest.encryption="psk2" uci set wireless.guest.key="${WIFI_PSK}" uci commit wireless wifi reload
Ізоляція клієнтів
Ізолюйте клієнтів гостьової мережі один від одного. Деяке обладнання або драйвери можуть не підтримувати цю опцію.
# Увімкнення ізоляції uci set wireless.guest.isolate="1" uci commit wireless wifi reload
ICMP / ICMPv6
Дозвольте вхідний трафік ICMP та ICMPv6. Змініть індекси правил, якщо потрібно. Мета — змінити стандартні правила фаєрволу OpenWrt, щоб дозволити певні типи ICMP/ICMPv6 з усіх зон, а не лише з WAN.
# Налаштування фаєрволу uci rename firewall.@rule[1]="icmp" uci rename firewall.@rule[5]="icmp6" uci set firewall.icmp.src="*" uci set firewall.icmp6.src="*" uci commit firewall service firewall restart
IPv6
Увімкніть IPv6 для гостьової мережі. Дозвольте ICMPv6, призначте префікс, налаштуйте DHCPv6 пул і дозвольте запити DHCPv6.
# Налаштування IPv6 мережі uci set network.guest.ip6assign="60" uci commit network service network restart # Налаштування DHCP uci set dhcp.guest.dhcpv6="server" uci set dhcp.guest.ra="server" uci -q delete dhcp.guest.ra_flags uci add_list dhcp.guest.ra_flags="managed-config" uci add_list dhcp.guest.ra_flags="other-config" uci commit dhcp service odhcpd restart # Налаштування фаєрволу uci -q delete firewall.guest_dhcp6 uci set firewall.guest_dhcp6="rule" uci set firewall.guest_dhcp6.name="Allow-DHCPv6-Guest" uci set firewall.guest_dhcp6.src="guest" uci set firewall.guest_dhcp6.dest_port="547" uci set firewall.guest_dhcp6.proto="udp" uci set firewall.guest_dhcp6.family="ipv6" uci set firewall.guest_dhcp6.target="ACCEPT" uci commit firewall service firewall restart
Гостьова мережа лише з IPv6
У той час як у вашій основній LAN можуть бути пристрої лише з підтримкою IPv4, більшість сучасних смартфонів, планшетів і ноутбуків підтримують IPv6. Тож ви можете створити гостьову мережу лише з IPv6, не призначаючи IPv4-адреси.
Щоб гостьові клієнти IPv6 могли отримати доступ до сайтів лише з IPv4, налаштуйте DNS64 + NAT64:
- Встановіть DNS-сервери, які підтримують DNS64 (наприклад, Google DNS64).
- Налаштуйте NAT64 на маршрутизаторі OpenWrt.
Обмеження доступу до інтернету
Дозвольте гостьовим клієнтам лише перегляд вебсайтів.
# Налаштування фаєрволу uci -q delete firewall.guest_wan uci -q delete firewall.guest_fwd uci set firewall.guest_fwd="rule" uci set firewall.guest_fwd.name="Allow-HTTP/HTTPS-Guest-Forward" uci set firewall.guest_fwd.src="guest" uci set firewall.guest_fwd.dest="wan" uci add_list firewall.guest_fwd.dest_port="80" uci add_list firewall.guest_fwd.dest_port="443" uci set firewall.guest_fwd.proto="tcp" uci set firewall.guest_fwd.target="ACCEPT" uci commit firewall service firewall restart
Обмеження upstream доступу / Безпровідна точка доступу (AP)
Дозвольте гостьовим клієнтам доступ до інтернету, але обмежте доступ до внутрішньої мережі.
# Отримати підмережу і зону . /lib/functions/network.sh network_flush_cache network_find_wan NET_IF network_get_subnet NET_SUB "${NET_IF}" FW_WAN="$(fw3 -q network "${NET_IF}")" # Налаштування фаєрволу uci -q delete firewall.guest_wan uci -q delete firewall.guest_fwd uci set firewall.guest_fwd="rule" uci set firewall.guest_fwd.name="Allow-Guest-Forward" uci set firewall.guest_fwd.src="guest" uci set firewall.guest_fwd.dest="${FW_WAN}" uci set firewall.guest_fwd.dest_ip="!${NET_SUB}" uci set firewall.guest_fwd.proto="all" uci set firewall.guest_fwd.target="ACCEPT" uci commit firewall service firewall restart
Увімкніть маскарадинг для зони LAN, якщо використовується бездротова точка доступу.
# Налаштування фаєрволу uci rename firewall.@zone[0]="lan" uci set firewall.lan.masq="1" uci set firewall.lan.masq_src="!${NET_SUB}" uci commit firewall service firewall restart
Усунення конфліктів ініціалізації (race conditions)
Виправлення проблеми гонки служби netifd.
# Налаштування DHCP uci set dhcp.guest.force="1" uci commit dhcp service dnsmasq restart
Обмеження швидкості
Обмеження пропускної здатності гостьової мережі (в кб/с).
opkg update opkg install qos-scripts uci -q delete qos.guest uci set qos.guest="interface" uci set qos.guest.enabled="1" uci set qos.guest.upload="5000" uci set qos.guest.download="80000" uci commit qos service qos restart
Альтернативно, можна встановити luci-app-sqm і налаштувати через вебінтерфейс. Див. також розділ про SQM (Smart Queue Management): sqm
Кілька мережевих пристроїв
Для конфігурацій з декількома мережевими пристроями (роутер, комутатори, точки доступу) потрібно налаштувати окремий VLAN.
На кожному роутері, комутаторі чи AP додаємо інтерфейс типу bridge
, щоб об’єднати дротові й бездротові гостьові інтерфейси в одну мережу.
HotSpot / Каптив-портал
Щоб реалізувати просту гостьову Hotspot-мережу, скористайтесь Nodogsplash або WiFiDog.
Для комерційних сервісів, сумісних із ChilliSpot, дивіться CoovaChilli.
Автоматичне налаштування
Автоматичне налаштування гостьової мережі.
URL="https://openwrt.org/_export/code/docs/guide-user/network/wifi/guestwifi/guest-wlan" cat << EOF > guest-wlan.sh $(wget -U "" -O - "${URL}?codeblock=0") $(wget -U "" -O - "${URL}?codeblock=1") $(wget -U "" -O - "${URL}?codeblock=2") $(wget -U "" -O - "${URL}?codeblock=3") EOF sh guest-wlan.sh