1

Temat: Barrier Breaker, uszkodzony iptables?

Tak sobie sprawdzałem regułki w iptables po wgraniu r42258 i ze zdumieniem stwierdziłem, że coś mi nie gra na filtrze. Najpierw odnotowałem 0 pakietów na regule z ESTABLISHED,RELATED w łańcuchu forward -- żadne pakiety tam nie trafiają, a mimo to komunikacja jest możliwa i odbywa się bez przeszkód. Dodaje przy tym smaku fakt, że domyślna polityka na łańcuchu FORWARD jest DROP. big_smile Jakim cudem to działa to ja nie wiem.

Zrobiłem test i wywaliłem całą zawartość łąńcucha FORWARD -- efekt jest taki jak oczekiwany, czyli komunikacja zdycha. Dodałem zatem do tego łańcucha tylko dwie regułki:

iptables -t filter -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
iptables -t filter -A FORWARD -i br-lan -s 192.168.1.0/24 -m conntrack --ctstate NEW -j ACCEPT

Pakiety zaczynają płynąć i stronki się ładują ale na zaporze mam taki log:

Chain FORWARD (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            ctstate RELATED,ESTABLISHED
   26  1584 ACCEPT     all  --  br-lan *       192.168.1.0/24       0.0.0.0/0            ctstate NEW

WTF? big_smile

No to wywaliłem mu tę pierwszą regułkę, skoro i tak pakiety tam nie lecą i sprawdziłem inną stronkę i .... załadowała się, Jakim cudem, przecie ta druga reguła akceptuje tylko pakiety w stanie new. Co ciekawsze, pakiety nie są łapane przez domyślną politykę łańcucha, zatem muszą być wszystkie pakiety dopasowane do tego cstate NEW tyle, że licznik pokazuje 26 pakietów a każde załadowanie pojedyńczej strony powinno nabić ich ze 100, a tu załadowałem już stron kilka i tylko 26 pakietów?

To samo jest w łańcuchu INPUT na routerze, pakiety nie lecą do reguły z ESTABLISHED, RELATED

Sprawdziłem też ten wbudowany filter ale nawet tam pakiety nie wędrują do żadnej z tych 3 reguł ctstate RELATED,ESTABLISHED -- mają liczniki wskazujące 0.

To jakaś znana przypadłość? Może ktoś to sprawdzić u siebie?

2 (edytowany przez morfik 2014-08-26 09:19:28)

Odp: Barrier Breaker, uszkodzony iptables?

Wgrałem oryginalne openwrt, zarówno RC3 jak i Trunk -- w obu przypadkach jest podobnie, czyli reguły z established,related nie łapią żadnych pakietów.

Wgrałem gargulca i tu działa:

root@Gargoyle:~# iptables -nvL -t filter | grep -i established
11738   10M ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           ctstate RELATED,ESTABLISHED
  359 33562 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           ctstate RELATED,ESTABLISHED
  219 50716 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           ctstate RELATED,ESTABLISHED

Pierwsza tyczy się łańcucha FORWARD, druga, INPUT, trzecia, OUTPUT.

Nie chciałbym nic mówić ale coś jest schrzanione w tym nowym wydaniu BB.

3

Odp: Barrier Breaker, uszkodzony iptables?

Posłałem ticket na dev.openwrt.org i ustaliliśmy winowajcę:

net.netfilter.nf_conntrack_skip_filter=1

Nie mam pojęcia jaki jest cel tego parametru ale po przestawieniu go na 0, pakiety wreszcie trafiają tam gdzie trzeba.

4

Odp: Barrier Breaker, uszkodzony iptables?

Żeby zwiększyć wydajność nata. To poprawka z ostatnich dni.

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

5

Odp: Barrier Breaker, uszkodzony iptables?

A wiesz może jak to dokładnie ma działać i jak zmienia się ta wydajność? Jeśli reguła z established,related nie łapie żadnych pakietów, to skąd iptables ma wiedzieć co przepuszczać?

6

Odp: Barrier Breaker, uszkodzony iptables?

Łatka na kernel to wprowadziła, ale nie analizowałem na jakiej zasadzie to działa.

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

7

Odp: Barrier Breaker, uszkodzony iptables?

Ja się tam próbowałem dopytać o jakąś dokumentację na temat tego parametru ale mi powiedzieli, że póki co nie ma żadnej. :] A fakt, że takie parametry bez dokumentacji włączają domyślne, to nie świadczy za dobrze. W każdym razie ja ten parametr u siebie przestawiłem na 0 do momentu wyjaśnienia zasady jego działania.