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/.
Cześć,
Serwer na debianie ma 2 interfejsy: eth0 i tun0 (tunel GRE). Tunel działa (oba końca się pingują po wew. IP), niestety nie potrafię zrobić forwarda subnetu w tenże tunel, niestety ciągle mi wychodzi defaultem. Zobrazuje to może poniżej:
eth0: 210.153.62.219
eth0:1: 193.50.53.126
tun0: inet addr:10.8.0.1 P-t-P:10.8.0.2
Ruch do 193.50.53.126 przychodzi tunelem (bo jest wroutowany z drugiego końca tunelu), a niestety wychodzi defaultem i to nie działa. Musze zatem zrobić fwd IP żeby wracał w tunel do 10.8.0.2. Próbowałem już różnymi regułami w NAT POSTROUTING i nic.. nie mam pojęcia już jak to zrobić.
Poza tym firewall czysty, wszędzie allow.
IP w poście pozmieniałem. Dzięki z góry za pomoc.
Offline
Routingiem, nie firewallem.
Routing do hosta będącego drugim końcem tunelu wypuść przez eth0, a default przez tunel.
Możesz też zrobić dwie tablice routingu, potem na firewallu używać celu MARK, i kierować pakiety na podstawie znacznika ustawionego przez firewall.
Offline
Mała dygresja: muszę przyznać że znam się lepiej na FreeBSD, na iptables słabo. Tam taki rdr robi się prosto, łatwo i przyjemnie jedną regułką czy to w ipfw czy pfie. Miałem zatem nadzieję że tutaj też a widzę że nie.. co mnie rozczarowuje.
Pytanie: czy muszę to zrealizować tylko przy użyciu routingu (chyba nawet source routingu) ? Czy samym firewallem nie da się ?
Routing do hosta będącego drugim końcem tunelu wypuść przez eth0, a default przez tunel.[/quote]
Nie chcę tak robić, chcę zwyczajnie tylko jedną podklasę wypchać tunelem i to wszystko
Offline
W Linuxie firewall jest od blokowania lub oznaczania pakietów.
Tc (z paczki iproute) jest od limitowania i zarządzania pasmem.
Ip (jw z iproute) zajmuje się routingiem.
Tu masz stary ale prawidłowy opis w typie "książki kucharskiej"
http://www.przybytek.net/download/2.4routing.pdf
A tu obrazek:
http://jacekalex.sh.dug.net.pl/iptables_routing.pdf
Miałem zatem nadzieję że tutaj też a widzę że nie.. co mnie rozczarowuje.[/quote]
Tutaj w najprostszej wersji masz do wpisania 3 regułki, w bardziej zaawansowanym użycia skryptu, który skopiuje tablice routingu, doda drugą bramę domyślną w drugiej tablicy + 2 regułki do firewalla
A tu masz przykład mocno rozbudowanego skryptu do dual_wan, zasada działania jest taka sama, tylko że skrypt robi łącznie 3 tablice routingu i da się go prościej zrobić.
http://cavara.blogspot.com/2010/07/dual-wan-dual-lan-ip-route-iptables.html
Poza tym, jak znasz dobrze FreeBSD, to nie lepiej wziąść baseballa i strzelić między uszy sadystę, który Cię zmusza do używania Linuxa? :D
I postawić cały bajzel na FreeBSD?
Pozdrawiam
;-)Ostatnio edytowany przez Jacekalex (2013-01-28 15:08:43)
W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem para bellum ;) | Pozdrawiam :)
Offline
Rzeczywiście wystarczyły 3 linijki i działa:
echo 1000 hermes >> /etc/iproute2/rt_tables. ip rule add from 193.50.53.120/29 table hermes ip route add default via 10.8.5.2 table hermes
no i przy założeniu że reszta firewalla jest ACCEPT.
Dorzucam jeszcze od siebie link o tym zagadnieniu bo jest przejrzysty:
[url]http://pl.wikibooks.org/wiki/Sieci_w_Linuksie/iproute2/ip/rule[/url]
Co do baseballa.. :) , sytuacja jest taka że serwer od dawna stoi na Debianie i trzeba na nim coś zrobić.. gdyby był stawiany od początku to kto wie. Jestem zaskoczony że tak potężne narzędzie jakim jest iptables nie ma w sobie forwardowania IP , z kolei muszę przyznać że FreeBSD ma znowu inne wady jakich nie posiada linux :) np. nie ma programów GUI do zmienienia rozmiaru partycji UFS2 a tylko z konsoli podając numery bloków (czy ktoś w ogóle z tego korzysta?) , także nie ma idealnych itd. , pozdro
Offline
Mylisz się, iptables ma przekazywanie pakietów w łańcuchu NAT (cele SNAT i DNAT), co zawsze działało przy przekazywaniu pakietów - kiedy działa jako router, ale u mnie nigdy nie chciało zaskoczyć dla lokalnych procesów.
Choć formalnie pakiety z lokalnych procesów przechodzą przez NAT, więc powinno pójść.
Jest też paczka xtables-addons, z dodatkowymi modułami do netfiltera, tam są moduły RWADNAT i RAWSNAT, do takiej samej akcji w tablicy RAW (to tablica, przez którą przechodzą pakiety przed rozpoczęciem śledzenia przez mechanizm CONNTRACK).
Na routingu za to zawsze działa, jak powinno, dlatego zaproponowałem routing.
I jak widać, na routingu poszło bez problemu, prawda?
PS:
Iptables na Accept, to samobójstwo, firewall ma chronić wsio, a przepuszczać, to co wolno, a nie odwrotnie.
Tu masz conieco o Linuxowym Netfilterze:
http://pl.wikibooks.org/wiki/Sieci_w_Linuksie/Netfilter/iptables
Pozdrawiam
;-)
Ostatnio edytowany przez Jacekalex (2013-01-28 18:49:40)
Offline
Time (s) | Query |
---|---|
0.00009 | SET CHARSET latin2 |
0.00004 | SET NAMES latin2 |
0.00098 | 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='18.117.70.64' WHERE u.id=1 |
0.00069 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '18.117.70.64', 1732558160) |
0.00045 | SELECT * FROM punbb_online WHERE logged<1732557860 |
0.00054 | SELECT topic_id FROM punbb_posts WHERE id=222643 |
0.00084 | SELECT id FROM punbb_posts WHERE topic_id=22829 ORDER BY posted |
0.00079 | 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=22829 AND t.moved_to IS NULL |
0.00006 | SELECT search_for, replace_with FROM punbb_censoring |
0.00077 | 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=22829 ORDER BY p.id LIMIT 0,25 |
0.00090 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=22829 |
Total query time: 0.00615 s |