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  2013-01-28 13:01:59

  wrkilu - Użytkownik

wrkilu
Użytkownik
Zarejestrowany: 2013-01-28

redirect IP na iptables

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

 

#2  2013-01-28 13:41:46

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: redirect IP na iptables

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.


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

#3  2013-01-28 14:29:40

  wrkilu - Użytkownik

wrkilu
Użytkownik
Zarejestrowany: 2013-01-28

Re: redirect IP na iptables

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

 

#4  2013-01-28 14:52:28

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: redirect IP na iptables

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

 

#5  2013-01-28 16:45:19

  wrkilu - Użytkownik

wrkilu
Użytkownik
Zarejestrowany: 2013-01-28

Re: redirect IP na iptables

Rzeczywiście wystarczyły 3 linijki i działa:

Kod:

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

 

#6  2013-01-28 18:37:49

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: redirect IP na iptables

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)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
To nie jest tylko forum, to nasza mała ojczyzna ;-)

[ Generated in 0.008 seconds, 11 queries executed ]

Informacje debugowania

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