12 Grudzień 2018 07:33:12
Nawigacja
· Strona Główna
· Galeria
· Forum
· Linki

· Tomato by Shibby

· Wiki-OpenWrt
· Wiki-DD-WRT
· Emulatory sprzętu

Darowizna
Ostatnio na forum
Najnowsze tematy
· [S] HDD WD Red WD10E...
· DNS od cloudflare 1....
· Belkin F7D3302 + Hua...
· Asus ac56u overclock...
· dodatkowa karta eth ...
· Zakup routera VPN TAP
· AsusWRT-Merlin i pro...
· [MOD] FreshTomato-MIPS
· Mocny ruter pod tomato
· [MOD] Tomato by shibby
· [S] ASUS RT-AC3200
· [MOD] FreshTomato-ARM
· Multiroom N z wykorz...
· Asus RT-AC68U
· Jaki router kupić? Z...
· Asus RT-AC56U - "mał...
· [S] ASUS RT-N66U B1 ...
· Qnap TS-251+ i Trans...
· R8000
· WAN Bandwidth - Monthly
Najciekawsze tematy
· [MOD] Tomato by s... [13700]
· Multiroom N z wyk... [951]
· [MOD] FreshTomato... [400]
· [MOD] FreshTomato... [300]
· DNS od cloudflare... [55]
· Asus ac56u overcl... [28]
· Mocny ruter pod t... [17]
· Belkin F7D3302 + ... [12]
· dodatkowa karta e... [4]
· Zakup routera VPN... [3]
· AsusWRT-Merlin i ... [1]
· [S] HDD WD Red WD... [0]
· [S] ASUS RT-AC3200 [0]
Ankieta
Jaki procesor posiada twój router?

Broadcom MIPSEL
Broadcom MIPSEL
39% [132 głosów]

Broadcom ARM
Broadcom ARM
49% [166 głosów]

Atheros
Atheros
6% [20 głosów]

Marvell
Marvell
1% [4 głosów]

Ralink
Ralink
1% [2 głosów]

Intel/AMD/VIA
Intel/AMD/VIA
1% [4 głosów]

Żaden z powyższych
Żaden z powyższych
3% [10 głosów]

Ogółem głosów: 338
Musisz zalogować się, aby móc zagłosować.
Rozpoczęto: 02/02/2015 09:38

Archiwum ankiet
Reklama
Twoje IP
54.82.10.219
Reklama
Zobacz temat
OpenLinksys » :: PORTAL :: » Tutoriale
 Drukuj temat
Blokowanie HTTPS (np. Facebook) za pomocą dnsmasq i ipset
shibby Dziekuje za dotacje
Tytułem wstępu

Obsługa IPSet dla dnsmasq dostępna jest w Tomato od pewnego czasu. Od wersji v129 również Tomato-ARM również wspiera tą funkcjonalność.

Blokowanie połączeń szyfrowanych, nie jest proste, gdyż nie ma idealnej metody filtrowania pakietów. Najpopularniejszą metodą jest użycie modułu string z iptables, który pozwala na przeskanowanie każdego pakietu pod kątem występowania danego słowa. Generuje to jednak 3 problemy:
1) dodatkowe i znaczne obciążenie procesora skanowaniem każdego pakietu
2) nie zawsze filtrowane słowo występuje z zaszyfrowanym pakiecie w czytelnej formie
3) blokowane słowo może być częścią innego słowa, np. blokowanie nk.pl spowoduje również blokadę bank.pl, ingbank.pl itd.

Znacznie lepszą metodą jest blokowanie adresów IP serwerów danej witryny. Problem w tym, że duże serwisy jak chociażby facebook stoją na farmach serwerów, które posiadają wiele adresów IP, co więcej te adresy ciągle się zmieniają. Tu z pomocą przychodzi nam funkcjonalność IPSet.

W dużym skrócie: Tworzymy łańcuch IPSet, do którego DNSmasq będzie dopisywał wszystkie adresy IP jakie uda mu się rozwiązać dla danej domeny. Mają listę adresów IP w łańcuchu IPSet możemy wskazany łańcuch zablokować prostą regułką iptables.


Do dzieła.

Załóżmy, że chcemy zablokować stronę Facebook dla danego adresu IP w naszej sieci, np. 192.168.1.10.

By to uczynić, do skryptu Firewall doklejamy następujące regułki:

Dla Tomato Mipsel
modprobe ipt_set
modprobe ip_set
modprobe ip_set_iphash

ipset --create facebook iphash

iptables -I FORWARD 1 -s 192.168.1.10 -m set --match-set facebook dst,src -j DROP



Dla Tomato-ARM
modprobe xt_set
modprobe ip_set
modprobe ip_set_hash_ip

ipset create facebook hash:ip

iptables -I FORWARD 1 -s 192.168.1.10 -m set --match-set facebook dst,src -j DROP


pierwsze 3 linie to załadowanie wymaganych modułów kernela. Kolejna linia tworzy łańcuch ipset o nazwie "facebook" Ostania reguła blokuje pakiety, których źródłem jest ip 192.168.1.10 dla reguły "set facebook".

Po tym zabiegu wydajemy jednorazowo komendę "service firewall restart" by nasze reguły zostały zaaplikowane. Po restarcie routera działo się to będzie automatycznie.
Na tym etapie strona facebooka będzie jeszcze normalnie chodzić, ponieważ łańcuch, który blokujemy, jest póki co pusty.

Teraz pora na DNSMasq. W zakładce Advanced -> DHCP/DNS -> w Custom Configuration, dopisujemy:
ipset=/facebook.com/facebook
ipset=/fb.com/facebook


i zapisujemy zmiany. Dzięki tym wpisom, dnsmasq będzie automatycznie "karmić" nasz łańcuch "facebook" nowymi adresami IP, jeżeli tylko odpytamy domeny facebook.com lub fb.com. Od tej pory strona powinna być już zablokowana.

Oczywiście by nasz łańcuch był "karmiony", klienci muszą używać serwera DNS wbudowanego w Tomato.

PS To rozwiązanie ma jeden minus: blokuje komunikację z danych adresem IP serwera, zatem wszystkie usługi na danym adresie IP przestaną działać. Przykładowo tomato.groov.pl o openlinksys.info stoją na tym samym adresie IP. Zablokowanie jednej strony spowoduje automatycznie blokadę drugiej witryny.
Bardziej problematyczny przykład to usługi google. Blokada np. Youtuba może jednocześnie zablokować dostęp do innych usług googla np. gmail lub google docs, ponieważ Google używa tej samej farmy serwerów do różnych aplikacji.

Mimo wszystko mam nadzieję, że powyższe rozwiązanie będzie dla niektórych pomocne.

Pozdrawiam
Edytowane przez shibby dnia 14-09-2015 12:05
Router: Ubiquiti EdgeRouter ER-4 (FTTH + LTE/failover, OpenVPN, DPI, VLAN)
Wi-Fi: Ubiquiti UAP-AC-Pro
LAN: Netgear GS110TP (8x GbE, 2x SFP, PoE, LACP, VLAN)
NAS: Netgear ReadyNAS Pro4 (2x 4TB/RAID1, 1x 1TB, LACP 2Gbit)
Controler: Raspberry Pi 2 Model B + HDD 1,8" 160GB (Unifi, NUT, CUPS, Pi Hole/DNS Server)
UPS: Eaton Ellipse Eco 650
 
qrs
potwierdzam, działa na R7000 (ARM)

super!!!
---
R7000 [FreshTomato - TomatoAnon]
 
need_password
Ja wolę blokować za pomocą OpenDNS. Tam są całe kategorie stron, które mają być blokowane, a w panelu wygląda to tak
http://i60.tinypi...auz6ti.jpg
need_password dodał/a następującą plik:
Nie masz uprawnień to pobierania załączników w tym temacie.

Asus RT-AC56U
Netgear R7000
Asus RT-N10U
Tenda N60
Linksys WRT54G
 
shibby Dziekuje za dotacje
ale korzystając z OpenDNS:
1) zmuszasz się do korzystania akurat z ich DNSów i żadnych innych
2) jeżeli użytkownik zmieni sobie DNSy na końcówce lub wpisze danego hosta w plik hosts, to blokada openDNS przestanie działać.

To rozwiązanie też oczywiście idealne nie jest ale nie podlega ono powyższym dwóm punktom.

Powyższe rozwiązanie nie ma na pewno zastosowania przy filtrowaniu danych treści tematycznych. Chodzi w nim raczej o ograniczenie wybranej osobie/osobom dostępu do danej witryny (facebook, youtube), którą dana osoba w domu (np. dzieci) lub w pracy nadużywa.

Sam przedstawiony przeze mnie sposób jest również przedstawieniem przykładu wykorzystania dnsmasq+ipset, o którym mało kto wie. Dla przykładu dodam, że funkcjonalność ipset używana jest przez Tomato np. w funkcjonalności Selectable routing dla OpenVPN Smile
Router: Ubiquiti EdgeRouter ER-4 (FTTH + LTE/failover, OpenVPN, DPI, VLAN)
Wi-Fi: Ubiquiti UAP-AC-Pro
LAN: Netgear GS110TP (8x GbE, 2x SFP, PoE, LACP, VLAN)
NAS: Netgear ReadyNAS Pro4 (2x 4TB/RAID1, 1x 1TB, LACP 2Gbit)
Controler: Raspberry Pi 2 Model B + HDD 1,8" 160GB (Unifi, NUT, CUPS, Pi Hole/DNS Server)
UPS: Eaton Ellipse Eco 650
 
need_password
OPENDNS jest skuteczny, a raczej był. Pomimo że było na kompach zablokowane takie ustawienia jak zmiana DNS, to i tak jeden użyszkodnik złamał "system" i ominął ograniczenie. Jak? A bardzo łatwo. Kutafon zorientował się, że nasza sieć pracuje na DSLu. Czyli Orange. Jak Orange to wystarczy otworzyć google i wpisać "proxy tpsa". Wynik to 2 adresy serwera proxy. Wpisał je więc w firefoxa w Opcje->zaawansowane->sieć->ustawienia. I już twarzoksiążka chodzi, nk działa, a robota stoi. Firefoxa przecież nie da się zablokować tak, żeby to ustawienie było ukryte. Jutro oskarżę go o złamanie polityki bezpieczeństwa firmy i każe głównemu ekonomowi go wychłostać. Ale to jutro będzie. A dziś trzeba zablokować te proxy. Ma ktoś pomysł jak?
Asus RT-AC56U
Netgear R7000
Asus RT-N10U
Tenda N60
Linksys WRT54G
 
Steel_Rat
Myśle, że jak tam się wpisze każde proxy nie tylko z tepsy to ominie się OPENDNS. Musiałbyś każde proxy blokować.
WRT3200ACN + OpenWRT 18.06+światełko 150/150 Mb/s
Asus RT-AC68UvE1 + RMerlin + Entware
Netgear WNR3500Lv2 + DDWRT
 
ryskonet
Pewnie pytanie banalne, ale jak tym sposobem zablokować zakres np. 10.0.0.2-10.0.0.254?
ASUS RT-N18U
Tomato Firmware 1.28.0000 -131 K26ARM USB AIO-64K
 
shibby Dziekuje za dotacje
zamiast -s wpisz
-m iprange --src-range 10.0.0.1-10.0.0.254

albo (bo w sumie twój zakres tyczy się całej podsieci) możesz użyć -s 10.0.0.0/24
Router: Ubiquiti EdgeRouter ER-4 (FTTH + LTE/failover, OpenVPN, DPI, VLAN)
Wi-Fi: Ubiquiti UAP-AC-Pro
LAN: Netgear GS110TP (8x GbE, 2x SFP, PoE, LACP, VLAN)
NAS: Netgear ReadyNAS Pro4 (2x 4TB/RAID1, 1x 1TB, LACP 2Gbit)
Controler: Raspberry Pi 2 Model B + HDD 1,8" 160GB (Unifi, NUT, CUPS, Pi Hole/DNS Server)
UPS: Eaton Ellipse Eco 650
 
ryskonet
dzięki :-)

Połączony z 09 listopad 2015 16:51:51:
Shibby, a czy Twój przykład możnaby zmodyfikować, by działał odwrotnie, tzn. zablokować dla tego zakresu cały ruch z internetu z wyjątkiem tego, co jest w łańcuchu (w przykładzie "facebook"Wink

z góry dzięki
Edytowane przez ryskonet dnia 09-11-2015 16:51
ASUS RT-N18U
Tomato Firmware 1.28.0000 -131 K26ARM USB AIO-64K
 
shadowlord
po wpisaniu

iptables -I FORWARD 1 -s 192.168.1.10 -m set --match-set facebook dst,src -j DROP

wywala mi błąd

iptables v1.3.8: Unknown arg `(null)'

coś mu nie pasuje w składni ?
Netgear R6400 + Tomato v138
ASUS RT-N16 + Tomato v138
 
przemasisko
Załadowałeś moduły pod odpowiednią architekturę?
Asus RT-AC86U | Asuswrt-Merlin 384.8_2
Synology DS218+ | DSM 6.2
Raspberry Pi 3 B+ | Raspbian Stretch Lite
APC Back-UPS ES 700
 
shadowlord
pewnie do AC-66U to raczej Mipsel ?

Połączony z 07 styczeń 2016 11:30:04:
obecnie działa mi to

iptables -I FORWARD -p tcp -m tcp -m string --string "facebook.com" --algo bm -j DROP
iptables -I FORWARD -p tcp -m tcp -m string --string "facebook" --algo bm -j DROP

po załadowaniu

modprobe -a xt_string

ale metoda z tego postu bardziej mi się podoba tylko jest zonk z tym poleceniem

iptables -I FORWARD 1 -s 192.168.1.10 -m set --match-set facebook dst,src -j DROP

tak jak by ta wersja iptables nie rozumiała tej składni
Edytowane przez shadowlord dnia 07-01-2016 11:30
Netgear R6400 + Tomato v138
ASUS RT-N16 + Tomato v138
 
shibby Dziekuje za dotacje
a łańcuch facebook dla ipset utworzyłeś?
Router: Ubiquiti EdgeRouter ER-4 (FTTH + LTE/failover, OpenVPN, DPI, VLAN)
Wi-Fi: Ubiquiti UAP-AC-Pro
LAN: Netgear GS110TP (8x GbE, 2x SFP, PoE, LACP, VLAN)
NAS: Netgear ReadyNAS Pro4 (2x 4TB/RAID1, 1x 1TB, LACP 2Gbit)
Controler: Raspberry Pi 2 Model B + HDD 1,8" 160GB (Unifi, NUT, CUPS, Pi Hole/DNS Server)
UPS: Eaton Ellipse Eco 650
 
shadowlord
jak zmienię trochę składnię na
iptables -I FORWARD 1 -s 192.168.1.10 -m set --match facebook dst,src -j DROP
to dostaje
iptables v1.3.8: Couldn't load match `facebook':File not found

Połączony z 07 styczeń 2016 12:29:33:
tak dostaje info że już jest
ipset v4.5: Set already exists
Edytowane przez shadowlord dnia 07-01-2016 12:29
Netgear R6400 + Tomato v138
ASUS RT-N16 + Tomato v138
 
shibby Dziekuje za dotacje
a pokaż ipset list albo ipset --list
Router: Ubiquiti EdgeRouter ER-4 (FTTH + LTE/failover, OpenVPN, DPI, VLAN)
Wi-Fi: Ubiquiti UAP-AC-Pro
LAN: Netgear GS110TP (8x GbE, 2x SFP, PoE, LACP, VLAN)
NAS: Netgear ReadyNAS Pro4 (2x 4TB/RAID1, 1x 1TB, LACP 2Gbit)
Controler: Raspberry Pi 2 Model B + HDD 1,8" 160GB (Unifi, NUT, CUPS, Pi Hole/DNS Server)
UPS: Eaton Ellipse Eco 650
 
shadowlord
Name: facebook
Type: iphash
References: 0
Header: hashsize: 1024 probes: 8 resize: 50
Members:
31.13.93.3
31.13.93.36
173.252.120.68
31.13.81.36
31.13.93.7

Połączony z 07 styczeń 2016 12:36:22:
coś dodaje chyba mimo że polecenie wywala błąd

Połączony z 07 styczeń 2016 12:54:33:
tylko nie wiem czy facebook będzie blokowany bo nie widzę ty adresów z ipset --list w tablicy iptables do blokowania ?
Edytowane przez shadowlord dnia 07-01-2016 12:54
Netgear R6400 + Tomato v138
ASUS RT-N16 + Tomato v138
 
shibby Dziekuje za dotacje
iptables -I FORWARD 1 -s 192.168.1.10 -m set --match facebook dst,src -j DROP


w tutorialu pisze --match-set a nie --match
Router: Ubiquiti EdgeRouter ER-4 (FTTH + LTE/failover, OpenVPN, DPI, VLAN)
Wi-Fi: Ubiquiti UAP-AC-Pro
LAN: Netgear GS110TP (8x GbE, 2x SFP, PoE, LACP, VLAN)
NAS: Netgear ReadyNAS Pro4 (2x 4TB/RAID1, 1x 1TB, LACP 2Gbit)
Controler: Raspberry Pi 2 Model B + HDD 1,8" 160GB (Unifi, NUT, CUPS, Pi Hole/DNS Server)
UPS: Eaton Ellipse Eco 650
 
shadowlord
wiem ale i tak nie działa, sprawdzam różne warianty, niestety w ipset --list mam adresy IP ale do blokowania ich nie dodaje przez to że wywala błąd iptables

Połączony z 07 styczeń 2016 18:20:58:
ciągle dostaje
iptables v1.3.8: Unknown arg `(null)'
Try `iptables -h' or 'iptables --help' for more information.

Połączony z 07 styczeń 2016 18:24:42:
może brakuje jakiegoś modułu iptables, mam świeże tomato postawione ?

Połączony z 07 styczeń 2016 18:35:43:
coś takiego przyjmuje
iptables -I INPUT -m set --set facebook src -j REJECT

Połączony z 07 styczeń 2016 18:38:58:
poszło taką formułę przyjmuje i działa blokowanie

iptables -I FORWARD -m set --set facebook dst,src -j DROP
Edytowane przez shadowlord dnia 07-01-2016 18:38
Netgear R6400 + Tomato v138
ASUS RT-N16 + Tomato v138
 
qrs
można tworzyć kilka łańcuchów czy opierać się tylko o facebook np

Pobierz kod źródłowy  Kod źródłowy
ipset=/fb.com/facebook
ipset=/fbcdn.net/facebook
ipset=/facebook.net/facebook
ipset=/akamaihd.net/facebook
ipset=/facebook.com/facebook
ipset=/nk.pl/facebook
ipset=/redtube.com/facebook




rozumiem, że składnia jest następująca
ipset=/[blokowana strona https]/[łańcuch]

i żeby powielać łańcuchy należy również powielać wpisy w firewall

Pobierz kod źródłowy  Kod źródłowy
ipset create [nowy łańcuch] hash:ip
iptables -I FORWARD 1 -s 192.168.0.11 -m set --match-set [nowy łańcuch] dst,src -j DROP




no i gdzie można podejrzeć zebrane IP dla blokowanych stron?

Połączony z 25 styczeń 2016 15:33:04:
po

Pobierz kod źródłowy  Kod źródłowy
service firewall restart




w logach mam

Jan 25 15:01:35 R7000 preinit: 188: /tmp/ppp/resolv.conf can't be opened
Jan 25 15:04:03 R7000 rcheck: Activating rule 1
Jan 25 15:04:04 R7000 kernel: ip_set: protocol 6

Edytowane przez qrs dnia 25-01-2016 15:33
---
R7000 [FreshTomato - TomatoAnon]
 
shibby Dziekuje za dotacje
tak, można robić kilka łańcuchów ipset. Jeżeli zaś wszystkie te domeny mają być aplikowane dla identycznej reguły iptables (dla tych samych hostów), to nie ma potrzeby je powielać.

zawartość łańcuchów podejrzeć można komendą "ipset list"
Router: Ubiquiti EdgeRouter ER-4 (FTTH + LTE/failover, OpenVPN, DPI, VLAN)
Wi-Fi: Ubiquiti UAP-AC-Pro
LAN: Netgear GS110TP (8x GbE, 2x SFP, PoE, LACP, VLAN)
NAS: Netgear ReadyNAS Pro4 (2x 4TB/RAID1, 1x 1TB, LACP 2Gbit)
Controler: Raspberry Pi 2 Model B + HDD 1,8" 160GB (Unifi, NUT, CUPS, Pi Hole/DNS Server)
UPS: Eaton Ellipse Eco 650
 
Przejdź do forum:
Logowanie
Nazwa użytkownika

Hasło



Nie masz jeszcze konta?
Zarejestruj się

Nie możesz się zalogować?
Poproś o nowe hasło
Aktualnie online
· Gości online: 8

· Użytkowników online: 0

· Łącznie użytkowników: 23,816
· Najnowszy użytkownik: unuresy
Shoutbox
Musisz zalogować się, aby móc dodać wiadomość.

Blacon
11-12-2018 22:23
Asus RT-AC 3200. Czy ten ruter dziala bez zadnych problemow z Tomato?

lulo
10-12-2018 04:53
...failover zarówno z drugim WAN czy to po kablu, czy mieszane z kluczem usb na LTE - działa bez zarzutu

lulo
10-12-2018 04:48
faileover działa spoko

lulo
10-12-2018 04:47
u mnie to działa na UPC/Orange po 1 Gb - jest moc - z wiadomych względów zewnętrznych sumowanie działa różnie, w zależności od usługi/itd.

lulo
10-12-2018 04:43
...wtedy nie tracisz nic z mocy sterów, a i dzięki Merlinowi/entware da się ogarnąć większość popularnych niuansów/dodatków/
itd.

lulo
10-12-2018 04:32
@bigl np. RT-AC88U (pięknie śmiga wszystko, łącznie z dual-band - właśnie sobie sprawiłem niedawno) - styka Asus Merlin z ewentualnym dograniem softu na entware/dodania własnych skryptów/zapis na jffs

bigl
04-12-2018 20:23
qrs - dziękuję więc kupię go. Jest akurat na Amazonie po 99 funtów więc okazja :-)

qrs
04-12-2018 13:15
bigl, R7000 to kozak - z nim nie ma problemów

bigl
03-12-2018 23:11
Czy jest jakiś router z FreshTomato i z dobrze działającym dual band? Szukam i widzę że większość na FreshTomato ma problem z 5GHz. Albo z zasięgiem, albo z wydajności i zostaje oryginalny soft.

bigl
03-12-2018 21:05
Przepraszam za zamieszanie - działa. Ale testowałem na profilu "tenda_red" i ten pomimo pozytywnych opinii nie ładuje się. Inne są OK (np. linksysred).

kille72
03-12-2018 06:35
@bigl: mi działa bez problemow. Napisz więcej info na forum.

bigl
02-12-2018 16:05
Na FreshTomato nie działa ładowanie tematów z TTB. Jest pobierany plik zip do katalogu /www ale nie jest ładowany. Coś da się z tym zrobić?

RaTaJ
02-12-2018 00:01
Przepraszam, na myśli miałem już dostępne Pine64. https://forum.pin.
..p?tid=2021
tylko to znalazłem o HDMI-CEC

Steel_Rat
01-12-2018 20:23
A gdzie już można kupić? Narazie tylko czytałem, że będzie Smile

RaTaJ
01-12-2018 13:15
Athlon 200GE a o tym słyszeliście? Procesor PEREŁKA 4x 3,2Ghz i Vega 3 TDP35 wat za 250zł

RaTaJ
01-12-2018 13:14
Tak Proszę Pana Steel_Rat, a nie wiesz czy działa HDMI_CEC? Bo komuś działa trochę z nielicznymi telewizorami

Steel_Rat
25-11-2018 17:28
A ma się tez pojawić Rock Pi. https://forbot.pl.
..pi-id29663

37,128,269 unikalne wizyty