Открытие доступа на openwrt из интернета
Часто мне нужно иметь доступ к своей домашней сетке с работы, либо с любого другого места, поэтому мне необходимо иметь доступ к своему роутеру (DIR-320A1) по ssh и www. По умолчанию доступ из вне на wan в openwrt закрыт, поэтому здесь я опишу как его открыть.
Есть несколько способов это сделать. Для себя я выбрал стандартный iptables, дабы подкреплять знания в нем, которые потом можно всегда применить в другой linux-системе.
Я использую веб-интерфейс luci, поэтому привожу скриншот куда вводить команды iptables.
Вводим в данное окно наши iptables правила.
WAN='wlan0'
iptables -A input_rule -i $WAN -p tcp --dport 80 -j ACCEPT
iptables -A input_rule -i $WAN -p tcp --dport 22 -j ACCEPT
Нажимаем кнопку Submit, а потом Save&Apply или перезагружаем роутер.
Эти две команды открываю доступ к вебинтерфейсу на 80 порту и доступ по ssh на 22порту.
Интернет на своем DIR-320 я получаю по wifi, поэтому я использую интерфейс wlan0.
Какой интерфейс использовать вы можете посмотреть подключившись к своему роутеру с помощью ssh-клиента и посмотреть файл /etc/config/network с настройками сетевых интерфейсов.
cat /etc/config/network
У меня выводит следующее
config switch 'eth0' option enable '1' config switch_vlan 'eth0_0' option device 'eth0' option vlan '0' option ports '1 2 3 4 5' config switch_vlan 'eth0_1' option device 'eth0' option vlan '1' option ports '0 5' config interface 'loopback' option ifname 'lo' option proto 'static' option ipaddr '127.0.0.1' option netmask '255.0.0.0' config interface 'lan' option ifname 'eth0.0' option type 'bridge' option proto 'static' option netmask '255.255.255.0' option gateway '192.168.2.221' option dns '8.8.8.8' option ipaddr '192.168.2.2' config interface 'wan' option ifname 'eth0.1' option _orig_ifname 'eth0.1' option _orig_bridge 'false' option proto 'static' option ipaddr '192.168.2.1' option netmask '255.255.255.0' option gateway '192.168.2.221' option dns '8.8.8.8' config interface 'wwan' option _orig_ifname 'wlan0' option _orig_bridge 'false' option proto 'static' option ipaddr '192.168.1.210' option netmask '255.255.255.0' option gateway '192.168.1.1' option dns '192.168.1.1'
Если бы я получал интернет не по wifi, а через wan, то согласно приведенной конфигурация мне нужно было использовать eth0.1 интерфейс и команды iptables имели бы следующий вид
WAN='eth0.1'
iptables -A input_rule -i $WAN -p tcp --dport 80 -j ACCEPT
iptables -A input_rule -i $WAN -p tcp --dport 22 -j ACCEPT
Тоже самое можем продеалать внеся данные строки в файл /etc/firewall.user
nano /etc/firewall.user
После внесения изменений перезагружаем firewall
/etc/init.d/firewall restart