guest 와이파이 추가하는 예시입니다. 기본 wlan과 독립적인 개방형 wifi로 네트워크 subnet은 192.168.1.1/24이 아닌 다른 주소를 가지며 게스트 클라이언트는 서로 통신할 수 없도록 격리하는 구성입니다. 필요한 경우 캡티브 포털(Captive potal)을 설치해 사용자별 wifi 사용을 제안하거나 인증 할 수 있습니다.
Network
/etc/config/network에 guest 네트워크 인터페이스를 생성합니다.
... config device 'guest_dev' option name 'br-guest' option type 'bridge' config interface 'guest' option device 'br-guest' option proto 'static' option ipaddr '192.168.10.1' option netmask '255.255.255.0'
Wifi
/etc/config/wireless에 guest 네트워크 인터페이스와 바인딩된 guest wifi 인터페이스를 추가합니다.
- 아래예는 2.4ghz 주파수를 guest wifi로 제공할 경우로 5ghz 대역의 주파수를 guest wifi로 제공할 경우 radio1을 radio0으로 변경합니다. (라우터 마다 다를 수 있습니다.)
- 게스트 클라이언트는 게스트 클라이언트끼리 서로 통신할 수 없도록 격리(isolate)합니다.
- 추후 게스트 와이파이를 끄고 싶을 경우 option disabled '0' 을 option disabled '1'로 변경하고 와이파이 서비스를 재시작(/sbin/wifi reload) 합니다.
... config wifi-iface 'guest' option device 'radio1' option mode 'ap' option network 'guest' option ssid 'guest' option encryption 'none' option isolate '1' option disabled '0'
DHCP
/etc/config/dhcp dhcp 주소할당 법위는 192.168.10.100~192.168.10.250 까지로하고 ip 대여시간은 3시간으로 하였습니다.
... config dhcp 'guest' option interface 'guest' option start '100' option limit '150' option leasetime '3h' option force '1'
Firewall
/etc/config/firewall에 guest 네트워크에 대한 방화벽 정책을 설정합니다. 방화벽 기본정책은 output만 ACCEPT로 하고 guest 네트워크에서 라우터로 들어오는 dns와 dhcp를 위해 해당 포트만 개방합니다.
... config zone option name 'guest' list network 'guest' option input 'REJECT' option output 'ACCEPT' option forward 'REJECT' config forwarding option src 'guest' option dest 'wan' config rule option name 'Allow-DNS-guest' option src 'guest' option proto 'tcp udp' option dest_port '53' option target 'ACCEPT' option enabled '1' config rule option name 'Allow-DHCP-guest' option src 'guest' option proto 'udp' option family 'ipv4' option dest_port '67' option target 'ACCEPT' option enabled '1'
서비스 재시작
/etc/init.d/network restart
/sbin/wifi reload
/etc/init.d/dnsmasq restart
/etc/init.d/firewall restart