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  2011-03-25 11:10:32

  Kudlaty - Użytkownik

Kudlaty
Użytkownik
Zarejestrowany: 2011-03-23

problem z routingiem

Witam.

mam w komputerze dwa interfejsy sieciowe: eth0 i ppp0 (eth0 stale ip, ppp0 zmienne)
chciałbym zrobić tak by apache2 działał tylko na eth0 a lighttpd na ppp0 (chodzi mi oczywiscie tylko o ruch wychodzacy.
tak więc w iptables dodałem mark na proces uzytkownika lighttpd:

Kod:

iptables -A OUTPUT -t nat -p tcp -m owner --uid-owner 1002 -j MARK --set-mark 81

a nastepnie w tablicy routowania dodałem takie wpisy:

Kod:

ip route add default dev ppp0 scope link table 81
ip rule add fwmark 81 table 81
ip route flush cache

niestety odpalajac w php curla na myip, wychodzi na to ze laczy mi sie przez interface eth0 a nie ppp0.

Ma ktoś pomysł co robię źle?

Offline

 

#2  2011-03-25 12:27:48

  kamikaze - Administrator

kamikaze
Administrator
Zarejestrowany: 2004-04-16

Re: problem z routingiem

Chyba w samym iptables można to zrobić, masz przełączniki -i , -o.

Offline

 

#3  2011-03-25 12:51:52

  Kudlaty - Użytkownik

Kudlaty
Użytkownik
Zarejestrowany: 2011-03-23

Re: problem z routingiem

a czy te przełączniki nie służą do dopasowania reguły dla in-interface i out-interface?

//edit

ok, wiem juz ze ten wpis:

Kod:

iptables -A OUTPUT -t nat -p tcp -m owner --uid-owner 1002 -j MARK --set-mark 0x1111

jest ok.
ale wydaje mi sie ze nie dziala ten:

Kod:

ip rule add fwmark 0x1111 table 81

bo gdy tablica 81 jest pusta powinno mi zwrocic komunikat no route to host, tym czasem on nadal jak gdyby nigdy nic korzysta sobie z eth0

Ostatnio edytowany przez Kudlaty (2011-03-25 15:37:48)

Offline

 

#4  2011-03-26 20:04:03

  bobycob - Członek z Ramienia

bobycob
Członek z Ramienia
Skąd: Wrocław
Zarejestrowany: 2007-08-15

Re: problem z routingiem

Czy w regułę markującą coś wpada, i czy przypadkiem markowanie nie powinno być wykonane  w tablicy mangle?
Twój mark to jest 0x51 (zobacz iptables -t nat -nvL) i taki parametr użyj w poleceniu ip.

Ostatnio edytowany przez bobycob (2011-03-27 16:47:17)

Offline

 

#5  2011-03-28 09:08:28

  Kudlaty - Użytkownik

Kudlaty
Użytkownik
Zarejestrowany: 2011-03-23

Re: problem z routingiem

0x1111/0xffffffff
wiec przy ip dobrze uzylem :)
markowanie dodalem teraz i do tablicy nat i mangle, ale nadal nie dziala
z tym ze raczej nie dziala ip route, poniewaz probowalem w iptables zamiast markowania dac DNAT --to <jakis adres ip> i dzialalo...
wiec wychodzi na to ze tylko ip rule nie dziala...

Offline

 

#6  2011-04-03 11:53:29

  bobycob - Członek z Ramienia

bobycob
Członek z Ramienia
Skąd: Wrocław
Zarejestrowany: 2007-08-15

Re: problem z routingiem

Więc w drugą stronę iproute nie zmienia adresu pakietu.
Jak sądzę lighttpd nie nasłuchuje na określonym adresie IP - jest to trudne skoro adres na ppp0 się zmienia - pewnie przy każdym zestawieniu tunelu - choć pewnie da się to jakoś rozwiązać.
Upewnij się jaką drogę wychodzi pakiet wysyłany przez lighttpd podejrzewam, że tak jak oczekujesz wysyłany jest za pomocą ppp0,  jednak adres źródłowy jest inny. Jeśli tak pozostaje wykonać SNAT - co też może być problemem skoro adres IP dla ppp0 się zmienia :).

Dokładnie ten sam problem miałem gdy robiłem podział ruchu zależny od usługi na dwóch łączach DSL. Okazało się, że ruch szedł prawidłowo tylko należało jeszcze skorygować adres źródłowy za pomocą nat :). Różnica tylko taka, że przy DSL adresy się nie zmieniają.

Pomijam kwestię - czy koncentrator ppp pozwala na przesłanie pakietu z innym adresem źródłowym, jest to zależne od konfiguracji. Normalnie pozwala.

Ostatnio edytowany przez bobycob (2011-04-03 11:55:31)

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Nas ludzie lubią po prostu, a nie klikając w przyciski ;-)