Настройка точки доступа на openwrt
Снова дошли руки поиграть с отличным устройством: TP-Link TL-WR703N. И в качестве разминки решил настроить на нём wifi точку доступа.
Я раньше уже настраивал её. Однако сегодня возникли проблемы, решением которых хотелось бы поделиться.
Итак, в документации всё довольно просто.
config 'wifi-iface'
option 'device' 'wl0'
option 'network' 'lan'
option 'mode' 'ap'
option 'ssid' 'MyWifiAP'
option 'encryption' 'psk2'
option 'key' 'secret passphrase'
И так раньше у меня работало. Проблема же в том, что я решил переназвать интерфейсы, т.к. в будущем у меня не будет чёткого деления на wan и lan. И я назвал их eth и wifi.
Соответственно эти интерфейсы определены в /etc/config/network
config interface 'wifi'
option ifname 'wlan0'
option proto 'static'
option ipaddr '192.168.3.1'
option netmask '255.255.255.0'
В /etc/config/wireless я заменил option ‘network’ ‘lan’ на option ‘network’ ‘wifi’
Теперь для того, чтобы при соединении с этой сетью автоматически выдавались ip, надо завести секцию в @/etc/config/dhcp@:
config dhcp wifi
option interface wifi
option start 151
option limit 50
option leasetime 12h
И казалось бы всё. Но не работает. Авторизацию клиенты проходят, а IP не получают. В официальной документации забыли упомянуть про файрвол. Т.к. в их примере интерфейс называется lan, а для него есть запись в @/etc/config/firewall@, то их пример работает, а мой нет. Надо просто создать новую зону wifi в /etc/config/firewall:
config zone
option name wifi
option network 'wifi'
option input ACCEPT
option output ACCEPT
option forward REJECT
Теперь всё заработало.
гугл молодец, а яндекс - тормоз Btsync и утечка памяти