Temat: Konfiguracja firewall z odizolowanym lan, wifi i vpn

Dobry wieczór,

Na routerze mam cztery interfejsy
- lan (porty ethernet routera)
- wifi (WiFi routera) 
- wan (wyjście do internetu).
- vpn (interfejs openVPN)

Łączę się routerem albo przez wifi albo przez vpn.

Do portów ethernet (lan) mam podłączone urządzenia, które muszą mieć zablokowany dostęp do internetu (kamery ip).
Chcę zatem zablokować ruch jakikolwiek ruch inicjowany z lan, przy równoczesnym pozostawieniu możliwości połączenia się aplikacją z komputera w momencie kiedy jestem podłączony przez wifi lub vpn.
Dodatkowo będąc podłączony do wifi powinienem mieć normalny dostęp do internetu.
Dodatkowo: w openvpn jest justawiony routing do lan oraz w lan wszystkie adresy są statyczne.

Czy taki /etc/config/firewall zapewni powyższe?

config defaults
        option syn_flood '1'
        option input 'ACCEPT'
        option output 'ACCEPT'
        option forward 'REJECT'

config zone
        option name 'lan'
        option input 'REJECT'
        option output 'ACCEPT'
        option forward 'REJECT'
        option network 'lan'

config zone
        option name 'wifi'
        option input 'ACCEPT'
        option output 'ACCEPT'
        option forward 'ACCEPT'
        option network 'wifi'

config zone
        option name 'wan'
        option input 'REJECT'
        option output 'ACCEPT'
        option forward 'REJECT'
        option masq '1'
        option mtu_fix '1'
        option network 'wan wan6'

config zone
        option name 'vpn'
        option input 'ACCEPT'
        option output 'ACCEPT'
        option forward 'ACCEPT'
        option network 'vpn'
        option masq '1'

config forwarding
        option src 'lan'
        option dest 'wan'

config forwarding
        option src 'wifi'
        option dest 'wan'

config forwarding
        option src 'vpn'
        option dest 'wan'

config forwarding
        option src 'vpn'
        option dest 'lan'
        
config forwarding
        option src 'wifi'
        option dest 'lan'        

config rule
        option name 'Open-VPN'
        option src 'wan'
        option proto 'udp'
        option dest_port '1194'
        option target 'ACCEPT'

Oczywiscie dodatkowo zawiera standardowe reguły po instalacji OpenWrt

config rule
        option name 'Allow-DHCP-Renew'
        option src 'wan'
        option proto 'udp'
        option dest_port '68'
        option target 'ACCEPT'
        option family 'ipv4'

config rule
        option name 'Allow-Ping'
        option src 'wan'
        option proto 'icmp'
        option icmp_type 'echo-request'
        option family 'ipv4'
        option target 'ACCEPT'

config rule
        option name 'Allow-IGMP'
        option src 'wan'
        option proto 'igmp'
        option family 'ipv4'
        option target 'ACCEPT'

config rule
        option name 'Allow-DHCPv6'
        option src 'wan'
        option proto 'udp'
        option src_ip 'fc00::/6'
        option dest_ip 'fc00::/6'
        option dest_port '546'
        option family 'ipv6'
        option target 'ACCEPT'

config rule
        option name 'Allow-MLD'
        option src 'wan'
        option proto 'icmp'
        option src_ip 'fe80::/10'
        list icmp_type '130/0'
        list icmp_type '131/0'
        list icmp_type '132/0'
        list icmp_type '143/0'
        option family 'ipv6'
        option target 'ACCEPT'

config rule
        option name 'Allow-ICMPv6-Input'
        option src 'wan'
        option proto 'icmp'
        list icmp_type 'echo-request'
        list icmp_type 'echo-reply'
        list icmp_type 'destination-unreachable'
        list icmp_type 'packet-too-big'
        list icmp_type 'time-exceeded'
        list icmp_type 'bad-header'
        list icmp_type 'unknown-header-type'
        list icmp_type 'router-solicitation'
        list icmp_type 'neighbour-solicitation'
        list icmp_type 'router-advertisement'
        list icmp_type 'neighbour-advertisement'
        option limit '1000/sec'
        option family 'ipv6'
        option target 'ACCEPT'

config rule
        option name 'Allow-ICMPv6-Forward'
        option src 'wan'
        option dest '*'
        option proto 'icmp'
        list icmp_type 'echo-request'
        list icmp_type 'echo-reply'
        list icmp_type 'destination-unreachable'
        list icmp_type 'packet-too-big'
        list icmp_type 'time-exceeded'
        list icmp_type 'bad-header'
        list icmp_type 'unknown-header-type'
        option limit '1000/sec'
        option family 'ipv6'
        option target 'ACCEPT'

config rule
        option name 'Allow-IPSec-ESP'
        option src 'wan'
        option dest 'lan'
        option proto 'esp'
        option target 'ACCEPT'

config rule
        option name 'Allow-ISAKMP'
        option src 'wan'
        option dest 'lan'
        option dest_port '500'
        option proto 'udp'
        option target 'ACCEPT'

config include
        option path '/etc/firewall.user'

Czy wyjście z lan będzie wystarczająco zabezpieczone? Czy na coś jeszcze powinienem zwrócić uwagę?

Dziękuję i pozdrawiam,
Marcin

2

Odp: Konfiguracja firewall z odizolowanym lan, wifi i vpn

No nie, zezwoliłeś przecież na forwarding lan->wan a napisałeś że tego nie chcesz. Strefę wifi też przestaw na reject analogicznie do lanu, bo inaczej z lanu będziesz miał dostęp do wifi  (chyba że tak chcesz).

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

3

Odp: Konfiguracja firewall z odizolowanym lan, wifi i vpn

Dziękuję,

Tak ten forwarding lan->wan to przeoczenie. Oczywiście do usunięcia. Dziękuję.

Mam pytanie natomiast co do REJECT dla wifi. Intencją jest by z lan nie mozna było zainicjować zadnego połączenia na zewnątrz. Czy jeśli zatem zrobił bym dla lan input ACCEPT ale output REJECT i pozostawił resztę jak jest będę mógł zainicjować połączenie z vpn lub wifi do systemu w lan?



config defaults
        option syn_flood '1'
        option input 'ACCEPT'
        option output 'ACCEPT'
        option forward 'REJECT'

config zone
        option name 'lan'
        option input 'ACCEPT'
        option output 'REJECT'
        option forward 'REJECT'
        option network 'lan'

config zone
        option name 'wifi'
        option input 'ACCEPT'
        option output 'ACCEPT'
        option forward 'ACCEPT'
        option network 'wifi'

config zone
        option name 'wan'
        option input 'REJECT'
        option output 'ACCEPT'
        option forward 'REJECT'
        option masq '1'
        option mtu_fix '1'
        option network 'wan wan6'

config zone
        option name 'vpn'
        option input 'ACCEPT'
        option output 'ACCEPT'
        option forward 'ACCEPT'
        option network 'vpn'
        option masq '1'

config forwarding
        option src 'wifi'
        option dest 'wan'

config forwarding
        option src 'vpn'
        option dest 'wan'

config forwarding
        option src 'vpn'
        option dest 'lan'
        
config forwarding
        option src 'wifi'
        option dest 'lan'        

config rule
        option name 'OpenVPN'
        option src 'wan'
        option proto 'udp'
        option dest_port '1194'
        option target 'ACCEPT'

Dziękuję i pozdrawiam,
Marcin

4

Odp: Konfiguracja firewall z odizolowanym lan, wifi i vpn

Raczej forward cię interesuje jeżeli masz się bawić ruchem pomiędzy sieciami...

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

5

Odp: Konfiguracja firewall z odizolowanym lan, wifi i vpn

Czyli bez forwarding lan->vpn , lan->wifi, lan->wan cel będzie osiągnięty.

DZiękuję za pomoc.

Pozdrawiam,
Marcin

6

Odp: Konfiguracja firewall z odizolowanym lan, wifi i vpn

Jeszcze jedno drobne pytanie.
Jak ustawic routing by po podłączeniu się do wifi można było dostać się do hostów z lan?

Dziękuję i pozdrawiam,
Marcin

7

Odp: Konfiguracja firewall z odizolowanym lan, wifi i vpn

Zezwól na forwarding wifi->lan smile

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

8

Odp: Konfiguracja firewall z odizolowanym lan, wifi i vpn

Hmmm... forwarding wifi->lan juz jest.
Jeśli to wystarczy to muszę jutro potestować dlaczego nie zadziałało.

Dziękuję.
Marcin

9

Odp: Konfiguracja firewall z odizolowanym lan, wifi i vpn

Dzień dobry,

Niestety po podłączeniu do wifi (będac w sieci wifi 192.168.17.0/24) nie jestem w stanie dostać się do urządzeń w lan (siec 192.168.16.0/24) mimo ustawionego forwarding wifi->lan (trzy posty wyżej).
Co może być przyczyna? Czego brakuje? Czy powoduje to sposób konfiguracji zony lan?

config zone
        option name 'lan'
        option input 'ACCEPT'
        option output 'REJECT'
        option forward 'REJECT'
        option network 'lan'

Dziękuję i pozdrawiam,
Marcin

10

Odp: Konfiguracja firewall z odizolowanym lan, wifi i vpn

Daj output na accept.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

11

Odp: Konfiguracja firewall z odizolowanym lan, wifi i vpn

Zrobione. Sytuacja bez zmian.

config zone
        option name 'lan'
        list network 'lan'
        option forward 'REJECT'
        option input 'ACCEPT'
        option output 'ACCEPT'

config zone
        option name 'wifi'
        option input 'ACCEPT'
        option output 'ACCEPT'
        option forward 'ACCEPT'
        option network 'wifi'

config zone
        option name 'wan'
        option input 'REJECT'
        option output 'ACCEPT'
        option forward 'REJECT'
        option masq '1'
        option mtu_fix '1'
        option network 'wan wan6'

config zone
        option name 'vpn'
        option input 'ACCEPT'
        option forward 'ACCEPT'
        option output 'ACCEPT'
        option network 'vpn'
        option masq '1'

config forwarding
        option src 'wifi'
        option dest 'wan'

config forwarding
        option src 'vpn'
        option dest 'wan'

config forwarding
        option src 'vpn'
        option dest 'lan'

config forwarding
        option src 'wifi'
        option dest 'lan'

config rule
        option name 'OpenVPN'
        option target 'ACCEPT'
        option src 'wan'
        option proto 'udp'
        option dest_port '1194'

12

Odp: Konfiguracja firewall z odizolowanym lan, wifi i vpn

Cokolwiek innego się pinguje? W ostateczności postaw sobie snifera (tcpdumpa) i zobacz co idzie i co nie wraca.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

13

Odp: Konfiguracja firewall z odizolowanym lan, wifi i vpn

Dla uzupełnienia obrazu

/etc/config/network

config interface 'loopback'
        option ifname 'lo'
        option proto 'static'
        option ipaddr '127.0.0.1'
        option netmask '255.0.0.0'

config globals 'globals'
        option ula_prefix 'fd60:0edd:8cea::/48'

config interface 'wan'
        option ifname 'eth1'
        option proto 'dhcp'

config interface 'wan6'
        option ifname 'eth1'
        option proto 'dhcpv6'

config interface 'lan'
        option type 'bridge'
        option ifname 'eth0.1'
        option proto 'static'
        option netmask '255.255.255.0'
        option ip6assign '60'
        option ipaddr '192.168.16.1'

config switch
        option name 'switch0'
        option reset '1'
        option enable_vlan '1'

config switch_vlan
        option device 'switch0'
        option vlan '1'
        option ports '1 2 3 4 0t'

config interface 'vpn'
        option ifname 'tun0'
        option proto 'none'

config interface 'wifi'
        option type 'bridge'
        option proto 'static'
        option ipaddr '192.168.17.1'
        option netmask '255.255.255.0'

/etc/config/dhcp

config dnsmasq
        option domainneeded '1'
        option boguspriv '1'
        option filterwin2k '0'
        option localise_queries '1'
        option rebind_protection '1'
        option rebind_localhost '1'
        option local '/lan/'
        option domain 'lan'
        option expandhosts '1'
        option nonegcache '0'
        option authoritative '1'
        option readethers '1'
        option leasefile '/tmp/dhcp.leases'
        option resolvfile '/tmp/resolv.conf.auto'
        option nonwildcard '1'
        option localservice '1'

config dhcp 'lan'
        option interface 'lan'
        option start '100'
        option limit '150'
        option leasetime '12h'
        option dhcpv6 'server'
        option ra 'server'
        option ra_management '1'

config dhcp 'wan'
        option interface 'wan'
        option ignore '1'

config odhcpd 'odhcpd'
        option maindhcp '0'
        option leasefile '/tmp/hosts/odhcpd'
        option leasetrigger '/usr/sbin/odhcpd-update'
        option loglevel '4'

config dhcp 'wifi'
        option start '100'
        option limit '150'
        option leasetime '12h'
        option interface 'wifi'

/etc/config/wireless

config wifi-device 'radio0'
        option type 'mac80211'
        option channel '11'
        option hwmode '11g'
        option path 'platform/ahb/18100000.wmac'
        option htmode 'HT20'

config wifi-iface 'wifi'
        option device 'radio0'
        option network 'wifi'
        option mode 'ap'
        option ssid 'abc'
        option key 'xxxxxxxxxxx'
        option encryption 'psk2'

Tam nie ma żadnych więcej urządzeń poza kamerami w lan. Zaraz wepnę się do lan i sprawdzę czy lokalnie się do nich dostaję czy nie ma problemu w innym miejscu.

14

Odp: Konfiguracja firewall z odizolowanym lan, wifi i vpn

Znalazlem taką informację w dokumentacji firewall dotyczącą forwarding:
https://openwrt.org/docs/guide-user/fir … figuration

"At least one of the src or dest zones needs to have connection tracking enabled through the masq option."

Dodałem zatem taką opcję do definicji zony wifi

config zone
        option name 'wifi'
        option input 'ACCEPT'
        option output 'ACCEPT'
        option forward 'ACCEPT'
        option network 'wifi'
        option masq '1'

Niestety bez zmian po reboot.

Jeśli chodzi o traceroute to po podłączeniu do sieci wifi (192.168.17.0/24) i próbie kontaktu z urządzeniem z lan (192.168.16.0/24) wygląda tak:

$ traceroute 192.168.16.101
traceroute to 192.168.16.101 (192.168.16.101), 30 hops max, 60 byte packets
1  OpenWRT.lan (192.168.17.1)  2.982 ms  2.948 ms  3.594 ms
2  * * *
3  * * *
4  * * *
5  * * *
6  * * *
7  * * *

Zastanawia mnie dlaczego przy OpenWRT.lan pokazuje się 192.168.17.1 czy jest to dopisek lan uzupełniony z definicji dnsmasq option domain czy jest jakis problem w konfiguracji?

15

Odp: Konfiguracja firewall z odizolowanym lan, wifi i vpn

Domyślną domeną w openwrt jest własnie "lan", więc do każdego urzadzenia podłączonego do routera możesz się odwołać przez nazwa.lan

Taka jest domyślna konfiguracja, tak ma być.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

16

Odp: Konfiguracja firewall z odizolowanym lan, wifi i vpn

I slusznie. Wszystko zadzialalo.
Urządzenia mialy błędny default gateway. Tcpdump pomogł.

DZiękuję za pomoc.

Pozdrawiam,
Marcin