Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2016-03-14 15:07:37

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Kształtowanie ruchu IPv6

Czy w linuxie da radę w ogóle kształtować ruch IPv6? Obecnie jadę na tunelu 6in4 i standardowe regułki, które działają dla IPv4, nie działają na ruch IPv6, tj. cały ruch po IPv6 leci na domyślną kolejkę. Stworzyłem też osobne regułki dla IPv6, by oznaczyć połączenia IPv6, coś w poniższym stylu:

Kod:

$tc filter add dev ifb0 parent 1:0 prio 5 handle 2 fw classid 1:200

A na tą kolejkę idą pakiety generowane przez użytkownika:

Kod:

$ipt -A qos-egress -m owner --gid-owner morfik -m mark --mark 0 -j MARK --set-mark 2
$ip6t -A qos-egress -m owner --gid-owner morfik -m mark --mark 0 -j MARK --set-mark 2

Połączenia są oznaczane prawidłowo:

# cat /proc/net/nf_conntrack | grep ipv6
ipv6     10 tcp      6 28799 ESTABLISHED src=2001:0470:1234:09dd:0000:0000:0000:0150 dst=2001:06b0:000e:2018:0000:0000:0000:0176 sport=65132 dport=80 src=2001:06b0:000e:2018:0000:0000:0000:0176 dst=2001:0470:1234:09dd:0000:0000:0000:0150 sport=80 dport=65132 [ASSURED] [b]mark=2[/b]
zone=0 delta-time=0 use=2
ipv6     10 tcp      6 19 TIME_WAIT src=2001:0470:1234:09dd:0000:0000:0000:0150 dst=2001:06b0:000e:2018:0000:0000:0000:0165 sport=64604 dport=80 src=2001:06b0:000e:2018:0000:0000:0000:0165 dst=2001:0470:1234:09dd:0000:0000:0000:0150 sport=80 dport=64604 [ASSURED] [b]mark=2[/b]
zone=0 delta-time=0 use=2[/quote]
Ale pakiety trafiają do domyślnej kolejki zamiast być rozdzielane na 1:200. Mam dokładnie taki sam zestaw reguł dla IPv4 i IPv6 (zarówno w TC jak i iptables) ale tylko na IPv4 pakiety trafiają gdzie trza.

Na necie znalazłem to poniższe info:

Dlaczego filtry tc dla IPv6 nie działają?

Baza danych zasad routingu (ang. "Routing Policy Database", RPDB) zastąpiła strukturę routingu i adresowania dla IPv4 w jądrze Linuksa, która odpowiadała za całą wspaniałą funkcjonalność opisywaną w tym HOWTO. Niestety, struktura odpowiedzialna za IPv6 została zaimplementowana poza tą bazą. O ile obie współdzielą część mechanizmów, RPDB nie współpracuje z procesem adresowania ani routingu IPv6.

To się na pewno zmieni, musimy tylko trochę cierpliwie poczekać.

FIXME: Czy ktoś nad tym pracuje? Albo przynajmniej ma plany?

Oznaczanie pakietów IPv6 przez ip6tables

ip6tables umożliwia oznaczanie pakietów i przydzielanie im numerów:

# ip6tables -A PREROUTING -i eth0 -t mangle -p tcp -j MARK --mark 1

Nadal jednak nic to nie zmienia - pakiet nie przejdzie przez wspomnianą wcześniej strukturę RPDB.

-- https://lukasz.bromirski.net/docs/translations/lartc-pl.html#LARTC.ADV-FILTER.IPV6[/quote]
To howto ma już xx lat i nie wiem czy to jest aktualne. Wszystko wskazuje, że jest i ten ruch IPv6 nie jest łapany przez TC. Jeśli linux tego IPv6 nie potrafi kształtować, to chyba będę musiał ten tunel wywalić, bo z tego co widzę, to połączenia IPv6 są preferowane jeśli hosty je obsługują i 2x więcej pakietów leci u mnie po IPv6 niż po IPv4 ale to głównie przez YT. xD Tylko co mi po tym IPv6 jak nie można go kształtować. :]

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Możesz wyłączyć AdBlock — tu nie ma reklam ;-)

[ Generated in 0.006 seconds, 11 queries executed ]

Informacje debugowania

Time (s) Query
0.00009 SET CHARSET latin2
0.00003 SET NAMES latin2
0.00074 SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='3.145.95.233' WHERE u.id=1
0.00061 REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.145.95.233', 1732747259)
0.00039 SELECT * FROM punbb_online WHERE logged<1732746959
0.00042 SELECT topic_id FROM punbb_posts WHERE id=299226
0.00041 SELECT id FROM punbb_posts WHERE topic_id=28395 ORDER BY posted
0.00039 SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=28395 AND t.moved_to IS NULL
0.00008 SELECT search_for, replace_with FROM punbb_censoring
0.00061 SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=28395 ORDER BY p.id LIMIT 0,25
0.00074 UPDATE punbb_topics SET num_views=num_views+1 WHERE id=28395
Total query time: 0.00451 s