Додаткові налаштування гостьового Wi-Fi

  • Цей посібник описує найпоширеніші сценарії налаштування гостьового Wi-Fi в OpenWrt.
  • Перед цим налаштуйте гостьову мережу за базовою інструкцією.

Якщо ви хочете використовувати обидва діапазони 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. Змініть індекси правил, якщо потрібно. Мета — змінити стандартні правила фаєрволу 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 для гостьової мережі. Дозвольте 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

У той час як у вашій основній 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

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

# Отримати підмережу і зону
. /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

Виправлення проблеми гонки служби 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-мережу, скористайтесь 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
This website uses cookies. By using the website, you agree with storing cookies on your computer. Also you acknowledge that you have read and understand our Privacy Policy. If you do not agree leave the website.More information about cookies
  • Last modified: 2025/06/06 14:00
  • by vazaz