ip rule add fwmark i kernel > 2.6.30

1 03 2011

Jak to bywa w naszych otwartych systemach przychodzi czasami pora na kompilacje kernela. U mnie ostatnio też nadszedł taki dzień, a raczej noc, bo w serwerowni pojawiłem się o 2:00 żeby zrestartować serwer, aby w razie niepowodzenia móc szybko przywrócić starego. Wersja nowego kernela to  2.6.33, a do tej pory wszystko działało na 2.6.28.

Do rzeczy – po restarcie wszystko wstało, jednak nie działał mi routing na dwa łącza. Rozwiązane to miałem tak że pakiety markowałem w firewallu i dawałem im mark 1 a później w regułach routingu taki pakiet kierowałem do odpowiedniej tablicy routingu:

ip rule add fwmark 1 table T1

Szukając rozwiązania problemu trafiłem na wpis w bibli: http://lartc.org/howto/lartc.netfilter.html oraz na masę zapytań na forach właśnie o ten problem. W kernelu powyżej 2.6.30 zniknęła opcja CONFIG_IP_ROUTE_FWMARK – sugestia z trzepaka, że od tej wersji jądra po prostu została ona włączona na stałe i faktycznie tak jest bo w końcu jak się zaraz okaże wszystko działa.

Po dalszych poszukiwaniach problemu i dziesiątkach zapytań do wuja google trafiłem na wątek: http://forums.gentoo.org/viewtopic-t-813308.html gdzie w ostatnim poście znajduje się rozwiązanie! Wpisanie dwóch magicznych linii:

sysctl net.ipv4.conf.default.rp_filter = 2
sysctl net.ipv4.conf.all.rp_filter = 2

Po tym zabiegu działanie routingu wróciło do normy! Jeszcze mała informacja dla tych którzy używają skryptów barro (inet.one.pl) w firewallu jest linia:

echo "1" >/proc/sys/net/ipv4/conf/all/rp_filter

Należy wartośc 1 zamienić na 2, gdyż po przeładowaniu skryptów routing nie będzie działał.


Opcje

Info

1 Odpowiedź do “ip rule add fwmark i kernel > 2.6.30”

31 12 2012
emibig (23:38:40) :

tego szukałam

Odpowiedz

Możesz używać tagów : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>