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!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Witam, robiłem wczoraj serwer na sieci, wszystko ładnie chodziło dopóki o 10 rano kilka osób nie obudziło twierdząc, że nie mają internetu. W nocy wszystko śmigało, PPPoE, DHCP. Szukając przyczyny natknąłem się na błąd z maskaradą, otóż nie przepuszcza ona wszystkich tzn. nie wiem czy to jest losowe, ale po restarcie serwera osoby które nie miały neta teraz mają, a kilka innych nie ma.
121 17569 MASQUERADE all -- * eth1 10.0.0.45 0.0.0.0/0 78 4680 MASQUERADE all -- * eth1 10.0.1.171 0.0.0.0/0 21 1008 MASQUERADE all -- * eth1 10.0.2.163 0.0.0.0/0 0 0 MASQUERADE all -- * eth1 10.0.0.42 0.0.0.0/0 <-- tu 602 31500 MASQUERADE all -- * eth1 10.0.9.191 0.0.0.0/0 2509 134K MASQUERADE all -- * eth1 10.0.0.46 0.0.0.0/0 1285 67703 MASQUERADE all -- * eth1 10.0.0.94 0.0.0.0/0 1 48 MASQUERADE all -- * eth1 10.0.0.72 0.0.0.0/0 <-- tu 239 25282 MASQUERADE all -- * eth1 10.0.0.109 0.0.0.0/0 2585 231K MASQUERADE all -- * eth1 10.0.0.132 0.0.0.0/0 1 76 MASQUERADE all -- * eth1 10.0.0.44 0.0.0.0/0 <-- tu 1 76 MASQUERADE all -- * eth1 10.0.0.108 0.0.0.0/0 <-- tu 630 31083 MASQUERADE all -- * eth1 10.0.1.231 0.0.0.0/0 1985 246K MASQUERADE all -- * eth1 10.0.3.221 0.0.0.0/0 401 19446 MASQUERADE all -- * eth1 10.0.1.138 0.0.0.0/0
Tutaj można zaobserwować, że ilość pakietów jest mała lub zerowa, może klienci są nieaktywni, ale wątpie w to.
Firewall jest bradzo prosty, a maskarada robi się automatycznie po udanej autoryzacji użytkownika przez PPPoE
http://router.domkinet.pl/firewall troche ułomny, ale nie mam czasu na zabawę póki co :)
Dodam jeszcze, że kolejkuje ruch na IMQ przez co kompilowałem iptables w wersji 1.4.8 i kernel 2.6.32. Jedynie te łaty były nakładane! Kompilowałem jeszcze rp-pppoe dla wsparcia z opcją -k, ale nie zadziałało
W razie czego dodaje jeszcze lsmod http://router.domkinet.pl/lsmod
Offline
Co prawda na PPPoE się nie znam ale tam bym szukał problemu.
Jak sam zauważyłeś reguły proste i nie ma co się spartolić - a jakby było co to by się logach znalazło ;).
No chyba, że spłodziłeś jakieś odkrywcze reguły których nie pokazałeś ;)
Jeżeli masz adres IP przypisany na sztywno do interfejsu używaj raczej SNAT, nie maskaradę. Pozwoli to też zagospodarować leżące odłogiem adresy - o ile takie są. :)
Ostatnio edytowany przez bobycob (2011-03-06 22:22:35)
Offline
Witam, wlaśnie też później sobie pomyślałem, że wina może leżeć po stronie rp-pppoe, tymbardziej, że kompilowany ręcznie i nie wiadomo jak to jest nigdy. Nic, zainstaluje wersje z repo i zobaczymy jak to będzie, może to rozwiąże problem. Co do SNATu to rzeczywiście, lepiej tak zrobie i zuzyje pozostałe zewnętrzne adresy IP bo 1 to mało na całą sieć :)
Zrobię to jak najszybciej się da i dam odpowiedź :)
Offline
Cholera, problem nadal występuje, ale przyczyną na 10000% jest IMQ. Wyłącze IMQ w iptables wszystko smiga, pakiety lecą w obie strony tym co nie działa, a jak włącze, to sytuacja jest ta sama, pakiet leci od usera w świat, ale już nie wraca :/ Kernel 2.6.32 i tylko łaty imq nałożone
Offline
bez imq można żyć - ja z powodzeniem od jakichś 6 lat :)
Offline
Tzn? Bo z tego co czytałem, u32 spokojnie wyłapie download, a upload trzeba markować. Tylko powiedz mi, jak to wygląda, jak chce pobrać coś z serwera? Bo mam torrentfluxa zarzuconego i leci mi po 15MB ^^
Offline
Ruch wychodzący z serwera też trzeba odpowiednio markować. ;)
Odnośnie markowania - zarządzać i tak można tylko ruchem wychodzącym, na przychodzący wpływu za bardzo nie mamy.
IMQ odechciało się bo wypadkach z patchem zdarzało mu się powodować kernel panic.
Offline
No ok, na WAN markujemy UPLOAD, a na LAN DOWNLOAD? a jak to sie sprawdza z PPPoE? na lanowskim interfejsie widze bez problemu wew. adresy ip z interefejsów pppoe. Może ja coś dupce jeszcze i skrypty mam źle napisane?
http://router.domkinet.pl/htb <-- kolejki
http://router.domkinet.pl/firewall <-- firewall
http://router.domkinet.pl/tcpdump <-- logi z tcpdumpa
NAT robie dynamicznie przy połączeniu pppoe, może powodem jest brak -o eth1
iptables -t nat -A POSTROUTING -s $PPP_REMOTE -j MASQUERADE
Ostatnio edytowany przez hudys (2011-04-09 13:48:47)
Offline
Imq masz po nacie czy przed skonfigurowane? - nie używam tego wynalazku, pamiętam jednak, że to ma znaczenie.
Jeżeli podałeś cały konfig i markowane jest tylko to co wpada w tą regułę;
iptables -t mangle -A PREROUTING -i $wanif -j IMQ --todev 0 iptables -t mangle -A POSTROUTING -o $wanif -j IMQ --todev 1
To ruch między klientami ppp a serwerem raczej nie jest markowany.
Offline
Przy kompilacji kernela określasz zachowanie IMQ, zobacz
http://wiki.nix.hu/cgi-bin/twiki/view/IMQ/ImqFaq
akapit
When does IMQ (and filters attached to the IMQ device) see the packets - relative to NAT?
i następne.
Czego używasz jako koncentratora PPPoE? Czy używasz VLAN? Pytam bo mam zamiar zacząć w nowo tworzonej sieci używać PPPoE, szukam rozwiązania i waham się wybrać router na linuksie z pełnym wypasem ;) czy biedniutki routerek typu cisco czy inny mikrotik.
Pozdrawiam
Offline
bobycob: Tak jak wcześniej napisałem to mam zachowanie na After PREROUTING i Before POSTROUTING zrobione, czyli tak jak zawsze i chyba dobrze.
Co do PPPoE to rp-pppoe 3.10 i pppd 2.4.5 w trybie kernel mode. Jak dobrze pójdzie to w tym roku wroże RADIUSa jeszcze, BiExi i PanZajebisty wytłumaczyli mi jak to się je i powiem, że fajne rozwiązanie, bo możesz zrobić system koncentratorów rozproszonych na mikrotikach. Ale myślę, że na początku Linux i własny paneli powinny zaspokoić twoje potrzeby ;)
Offline
Time (s) | Query |
---|---|
0.00007 | SET CHARSET latin2 |
0.00004 | SET NAMES latin2 |
0.00068 | 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.68.167' WHERE u.id=1 |
0.00075 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.145.68.167', 1732297762) |
0.00043 | SELECT * FROM punbb_online WHERE logged<1732297462 |
0.00065 | DELETE FROM punbb_online WHERE ident='18.223.195.127' |
0.00054 | SELECT topic_id FROM punbb_posts WHERE id=170353 |
0.00008 | SELECT id FROM punbb_posts WHERE topic_id=18494 ORDER BY posted |
0.00062 | 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=18494 AND t.moved_to IS NULL |
0.00006 | SELECT search_for, replace_with FROM punbb_censoring |
0.00297 | 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=18494 ORDER BY p.id LIMIT 0,25 |
0.00077 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=18494 |
Total query time: 0.00766 s |