PaKon - nová funkce v 3.9 - dotazy

Koukali jsme na ten ticket naposledy v pátek, probírali jsme to s dalšími kolegy s IPv6 a nenapadá nás proč by se to mělo stávat.

Třeba já jsem teď taky připojen přes Omnii s běžící suricatou a IPv6 mi funguje. Otázka je nakolik může být konfigurace IPv6 odlišná no. Zrovna to zkoumám.

V mém případě se nejedná o nativní IPv6.
Jsem připojen přes UPC (od něj mám přidělenu IPv4 adresu) a IPv6 mám tunelovanou přes Hurricane Electric.

IPv4 i IPv6 na routeru je v pořádku, ale s nainstalovanou Surricatou se IPv6 již dále nepřidělí zařízením v LAN.
Aktuálně mám Surricatu i Pakone odinstalovány a IPv6 se do LAN normálně přiděluje.

Ja mam IPv6 nativne (resp. dualstack, ctyrku i sestku). Po instalaci pakone (+ vse co si zada) a pripadnem rebootu ma router jako takovy porad IPv6, ale uz nikdo na LAN (neprijde potrebne RA).
Samotnou surikatu bych mohl zkusit, ale protoze jde o jediny muj router, pres ktery vsechno bezi, tak se mi do toho nechce.

Tak jsem teda nakonec prubnul nainstalovat suricatu (bez pakone, tedy nainstaluji se balicky: suricata, libyaml, jansson, kmod-nfnetlink-queue, kmod-ipt-nfqueue, iptables-mod-nfqueue, libiconv-full, libhtp, libnet-1.2.x , python3-base, python3-light, python3-logging).

Tak pokud:
a) Suricata bezi (/etc/init.d/suricata start), pak LAN nedostava RA
b) Suricata nebezi (/etc/init.d/suricata stop), pak LAN dostava RA

NFQUEUE fakt nedavam, jen se dopracovavam k tomu ze pokud suricata bezi a smazu z “output_rule” skok do “suricata”:
ip6tables -D output_rule -j suricata
pak IPv6 na LANce dostavam (RA je posilano).

(snad tohle bude nekomu uzitecny)

4 Likes

Každopádně je to přínos pro reprodukovatelnost problému u kolegů v Turris teamu, kde se jim to (podle jejich vyjádření) doposud reprodukovat nepodařilo.

Díky! :slight_smile:

Díky za info, to je konečně něco z čeho se dá při hledání vycházet. Bohužel pořád platí že nám se tady ten problém neprojevuje, IPv6 za turrisem normálně chodí, klienti dostávají RA jak mají.

Dáme vědet až na to přijdeme.

@mpetracek


no evidentne nechodi, teraz som si to vsimol. IPv6 nedostava NAS a ani ine zariadenia (PC)

No, u mě to funguje, RA i DHCPv6 chodí mezi routerem a klienty bez ohledu na to jestli je Suricata zapnutá nebo vypnutá.

Ještě mě napadá - zkuste prosím jestli se to chová stejně po aktualizaci na 3.9.2 - ve 3.9.2 byly mj. i změny ve firewallu pro Suricatu. I když ty změny nebyly kvůli IPv6, je možné že by to mohly také ovlivnit - to by alespoň vysvětlovalo proč mě se to tady neděje - zkoušel jsem už verzi z 3.9.2.

Jinak mi pořád není moc jasné proč by se to mělo dít…

1 Like

Tak 3.9.2 a… je to stejny :frowning:
Jakmile je je nainstalovana suricata (nijak ji nenastavuju, proste jen opkg install suricata) a, a to hlavne, v sestce je v output_rule skok do suricata, pak router proste neposila RA.

Mam maly rozsireni popisu: Router nejenze neposila RA, ale ani neodpovida na multicast adresy (konkretne ping6 na ff02::1 a ff02::2).

Edit: Nejsem si uplne jisty, ale mam dojem ze kdyz v sestkovy chaine suricata smazu:
-m mark --mark 0x2/0x2 -j RETURN
tak to pak jede (jak to pingani, tak RA).

Díky za debug! Tohle pravidlo je tam ale zase dost podstatné z jiných důvodů…

Můžete mi poslat výstup z ip6tables -L -nvx (ve chvíli kdy suricata běží, se všemi pravidly prosím)?
Nejlíp mi to pošlete jako soukromou zprávu tady na fóru.

Díky!

Asi se ty MARK pravidla poperou s jinými pravidly, potřebuju zjistit jak přesně.

zdravim pouzivam 2x Turris Omnia na jednom routeri to funguje:

na druhom po instalaci suricati IPv6 adresy DHCP neprideluje… nepouzivam ziadne custom nastavenie vsetko defaultne nastavene

edit:
aktualne 3.9.2 na oboch zariadeniach

@mpetracek Odeslano.

Jo, to jsem dneska zjistil. Bez nej to jaksi nefirewalluje (je to plne otevreny). Tedy pokud neni jeste jiny podstatny duvod, i kdyz tenhle mi prijde dost podstatny :-).

Jojo, bohužel je to tak, bez toho se nezpracovávají další pravidla.

Když tam to pravidlo není, vleze to přes NFQUEUE do Suricaty a NFQUEUE bohužel nemá neterminující ACCEPT - jediné co s tím Suricata může udělat je NF_ACCEPT a zase obejde ty ostatní pravidla (ukončí procházení iptables chainu)… Proto se to musí obcházet přes NF_REPEAT a nastavení marku.

Za výpis díky, podívám se na to a snad najdu příčinu.

Podle @BuloZB to vypadá že je to problém zase jen v některých případech, nevím zatím proč.

Do 3.9.5 jsme přidali workaround na problémy s IPv6, který jsem vyzkoušeli ve spolupráci s @kmarty - díky za spolupráci.

Dejte prosím vědět, jestli vám po aktualizaci IPv6 funguje.

Eee, ne :slight_smile:
Kdyz jsme si psali, tak jsem to bral jen jako nahodny preklep (koho taky napadlo to oznacovat jinak u ctyrky a jinak u sestky). Ale v realu to je rozdil:

--- suricata.orig	2018-02-07 12:33:30.399114849 +0100
+++ suricata	2018-02-07 12:35:26.863162838 +0100
@@ -20,7 +20,7 @@
 	IFACES=$(uci -q get suricata.suricata.interface) || { echo >&2 "Interfaces not set in configuration (configuration file might be missing)."; exit 1; }
 	echo "-I suricata -m connmark --mark 1/1 -j RETURN" >> $IPTABLES_RULES
 	echo "-I suricata -m connmark --mark 1/1 -j RETURN" >> $IP6TABLES_RULES
-	echo "-I suricata -p icmp -j RETURN" >> $IP6TABLES_RULES #workaround: ignore ICMPv6
+	echo "-I suricata -p icmpv6 -j RETURN" >> $IP6TABLES_RULES #workaround: ignore ICMPv6
 	echo "-A suricata -m mark --mark 1/1 -j CONNMARK --set-mark 1/1" >> $IPTABLES_RULES
 	echo "-A suricata -m mark --mark 1/1 -j CONNMARK --set-mark 1/1" >> $IP6TABLES_RULES
 	echo "-A suricata -m mark --mark 2/2 -j RETURN" >> $IPTABLES_RULES
1 Like

Ach jo.

No, tak opravený workaround :smile: bude v dalším vydání, kdo chce ověřit teď, tak změňte /etc/init.d/suricata tímhle způsobem:

+ echo "-I suricata -p icmpv6 -j RETURN" >> $IP6TABLES_RULES #workaround: ignore ICMPv6
- echo "-I suricata -p icmp -j RETURN" >> $IP6TABLES_RULES #workaround: ignore ICMPv6

Omlouvám se, považoval jsem to za tak triviální změnu že jsem jí pořádně nezkontroloval…

2 Likes

V právě vydané verzi Turris OS 3.9.6 by měla být oprava workaroundu.

Prosím o zpětnou vazbu, zda Vám nyní IPv6 funguje, tak jak má.

Za mne dobry.

(lorem ipsum)

1 Like

Jo, mně už IPv6 chodila po úpravě FW pravidla viz. výše také dobře. Od včerejška mám ale zase opětovně pakoně a suricatu odinstalované kvůli omezování rychlosti … viz jiné vlákno.

Chyba s přidělováním IPv6 byla opravena ve verzi Turris OS 3.9.6. Dle feedbacku zavírám.
Stále se mi nedaří reprodukovat chybu s rychlostí, jak je uvedeno ve vlákně: Omezovani rychlosti internetu . Vývojáře jsem upozornil na možnou chybu a podíváme se, kde by mohl být problém.