Като за начало ти трябва рутър, който позволява инсталиарне на някаква рутърска ОС (аз използвам DD-WRT с рутър Netgear R7800 имам и един Linksys WRT160N в офиса) .
От настройкте Wireless > Basic settings избираш Add virtual AP
На скрийншота съм добавил 2 виртуални APта към интерфейс ath1, който ми е 2.4Ghz wifi (има и ath0 на 5Ghz, но камерите и sonoff-ите работят само на 2.4)
После на Setup > Networking задавам локални IPта на 2те мрежи ath1.1 и ath1.2 (даже не съм ги добавил в бридж).
Малко по-надолу в Setup > Networking задавам DHCP обслужавне, не че е задължително, но за удобство ( а не да казвам на гостите ръчно да си слагат IPта в настройките на телефоните):
Сега за iptables.
За да забраня достъпа на камерите до основната LAN мрежа 192.168.0.0/24 :
Код:
iptables -I FORWARD -i ath1.1 -d `nvram get lan_ipaddr`/`nvram get lan_netmask` -m state --state NEW -j logdrop
Код:
iptables -I FORWARD -i ath1.2 -d `nvram get lan_ipaddr`/`nvram get lan_netmask` -m state --state NEW -j logdrop
Понеже софтуерът на камерките периодично пингва гейтуея 192.168.10.1 и ако няма отговор си рестартират мрежите докато получат пинг съм разрешил пинга в тая мрежа (за всеки случай нека да се пингваит и по между си с маска /24):
Код:
iptables -I INPUT -i ath1.2 -p icmp --icmp-type echo-request -d `nvram get ath1.2_ipaddr`/`nvram get ath1.2_netmask` -m state --state NEW,ESTABLISHED,RELATED -j logaccept
И за да има интернет досъп до камерите( и за гостите), за да се преглеждат през приложение на телефона, когато не съм в обхвата на WiFi:
Код:
iptables -t nat -I POSTROUTING -o `get_wanface` -s `nvram get ath1.1_ipaddr`/`nvram get ath1.1_netmask` -j SNAT --to `nvram get wan_ipaddr`
iptables -t nat -I POSTROUTING -o `get_wanface` -s `nvram get ath1.2_ipaddr`/`nvram get ath1.2_netmask` -j SNAT --to `nvram get wan_ipaddr`
Евентуално мога да забраня достъпа между устройствата във мрежата за гости ath1.1 така, че да не могат да си бъркат един на друг в споделените папки (не съм го направил на моя рутер).
Преди това обаче се разрешава достъпа от и до гейтуея на ath1.1, за да не останат без интернет гостите:
Код:
iptables -I INPUT -i ath1.1 -s `nvram get ath1.1_ipaddr` -m state --state NEW -j logaccept
iptables -I INPUT -i ath1.1 -d `nvram get ath1.1_ipaddr` -m state --state NEW -j logaccept
iptables -I INPUT -i ath1.1 -d `nvram get ath1.1_ipaddr`/`nvram get ath1.1_netmask` -m state --state NEW -j logdrop
За удобство използвам променливи, съхранени в nvram на рутера. По този начин ако променя IP адресите или типът на интернет връзка да не се налага преправяне на iptables. Стойностите са:
Код:
nvram get lan_ipaddr = 192.168.0.1
nvram get lan_netmask = 255.255.255.0
nvram get ath1.1_ipaddr = 192.168.5.1
nvram get ath1.1_netmask = 255.255.255.0
nvram get ath1.2_ipaddr = 192.168.10.1
nvram get ath1.2_netmask = 255.255.255.0
nvram get wan_ipaddr = тук излиза публичния ми IP
Разбира се повечето рутери предлагат пускане на WiFi мрежа за гости само с клик, но няма как да се направи финната до-настройка като да не се виждат помежду си и разни такива.
Предпочитам да използвам рутери поддържащи DD-WRT за пълен контрол.
ВАЖНО: не използвайте горните настройки на готово. Много е вероятно имената на мрежовите интерфейси на вашия рутер да са различни, примерно eth0, eth1, wl0.1.
След настройка на тия неща задължително се тества чрез симулации - свързване към съответната wifi мрежа, проверка има ли интернет, пинг към гейтуея, пинг към основната LAN мрежа, виждат ли се по между си устройства в една мрежа или между различните мрежи.
Използването на съмнителни устройства като камери, умни контакти, умни крушки закупени от сайтове като алиекспрес винаги крие рискове. Устройствата може да се използват като ботнет дори без знанието на производителя (или пък със), така че наблюдавайте кво става.