O dziwnym zachowaniu firewalla w WRT było na forum pisane wielokrotnie.
Może czas na usystematyzowanie wiedzy.
Konkretny mój przypadek (domeny itp uprościłem, to tylko przykład) - dopuszczony ruch dla konkretnego hosta w określonym czasie do wybranych domen.
config restriction_rule 'rule_6'
option is_ingress '0'
option description 'Tylko wybrane witryny 07:00-16:00'
option family 'any'
option local_addr 'XX:XX:XX:XX:XX:XX'
option active_weekdays 'mon,tue,wed,thu,fri'
option active_hours '07:00-16:00'
option proto 'both'
option not_url_domain_exact '"www.google.com","www.google.pl"'
option not_url_domain_contains '"aka.ms","akadns.net"
option enabled '1'
Działa od wielu miesięcy bez problemowo.
Wczoraj pojawiła się konieczność włączenia dodatkowego dostępu do innej domeny w innych ramach czasowych.
Na szybko zrobiłem to jako wpis białej listy
config whitelist_rule 'exception_2'
option is_ingress '0'
option description 'Youtube Sr 08-09'
option family 'any'
option local_addr 'XX:XX:XX:XX:XX:XX'
option active_weekdays 'wed'
option active_hours '08:00-09:00'
option proto 'both'
option url_domain_contains '"youtube","youtu.be","googlevideo","ytimg"'
option enabled '1'
Efekt - przestały działać dostępy z pierwszej listy.
Wyłączyłem drugą regułę i wszystko zaczęło działać jak powinno.
Zastanawiałem się czy nie stworzyć kolejnej reguły restrykcji zamiast białej listy ale nie wiem jak to będzie działać.
Jeśli pierwsza reguła restrykcji nie zezwala na 'youtube' a kolejna w tym momencie tak, to jaki będzie wynik działania.
W większości urządzeń jest możliwość zmiany kolejności reguł, niestety Gargoyle (1.13.0.0pre11) tego nie udostępnia.
Można oczywiście ręcznie przenumerować, poprzesuwać reguły (ważna jest kolejność linii czy numery reguł?)
Identyczny efekt można uzyskać zarówno poprzez restrykcje jak i białą listę, która ma wyższy priorytet?
Czy są jakieś dobre praktyki którą listę stosować do czego? Może jest jakiś sensowny opis?
Nie wykluczam, że pojawiły się chwilowe błędy w systemie a sam restart firewalla rozwiązał problem (log systemowy jest czysty) ale niezależnie od tego pytania są aktualne, bo problem zapewne powróci.