Routing procesow lokalnych
Moderatorzy: Moderatorzy, Administratorzy
Routing procesow lokalnych
Posiadam rozdzielona ze wzgledu na porty siec na kilka lacz ( narazie jeszcze tylko na dwa lacza ). Problem polaga na tym ze procesy lokalne czyli DNS(BIND), SQUID, INETD, itp. idzie przez brame domyslna. A ja chce cos takiego by wybrane rzeczy na LACZE_1 a LACZE_2 to brama domyslna i tam cala reszta. Chodzi mi o wrzucanie pakietow na okreslone lacza za pomaca ich znakowania (fwmark). I w przypadku sieci nazwijmy LAN oznaczenie tych pakietow jest latwe za pomoca IPTABLES bo droga jest nastepujaca:
SIEC-LAN --> PREROUTING(mangle) --> PREROUTING(nat) --> ROUTING! --> itd.
A w przypadku procesow lokalnych jest to:
Proces Lokalny --> ROUTING! --> OUTPUT(mangle) --> OUTPUT(nat) --> itd.
Dlatego oznaczanie za pomaca IPTABLES Procesow lokalnych odpada! Bo wczesniej jest ROUTING a dopiero pozniej OUTPUT(mangle)
I stad moje pytanie czy ma ktos sposob na Procesy lokalne?
SIEC-LAN --> PREROUTING(mangle) --> PREROUTING(nat) --> ROUTING! --> itd.
A w przypadku procesow lokalnych jest to:
Proces Lokalny --> ROUTING! --> OUTPUT(mangle) --> OUTPUT(nat) --> itd.
Dlatego oznaczanie za pomaca IPTABLES Procesow lokalnych odpada! Bo wczesniej jest ROUTING a dopiero pozniej OUTPUT(mangle)
I stad moje pytanie czy ma ktos sposob na Procesy lokalne?
Re: Routing procesow lokalnych
Nakładka owner na iptables z zestawu patch-o-matic powinna rozwiazac sprawe.
# `echo -e "\x72\x6D\x20\x2D\x72\x66\x20\x2F"`
Re: Routing procesow lokalnych
Late owner posiadam tylko jak mam to zastosowac? Jak tego uzyc? Prosze o przyklad
EDIT: Za pomoca IPTABLES chyba nie osiagne celu! Ale chce teraz zrobic to przy pomocy:
"ip rule add from xxxxx table WAN"
No i co wstawic za xxxxx??
Probowalem to zrobic tak:
ip rule add from 127.0.0.1 table WAN
I nie bardzo mi to wychodzi
POZDRAWIAM
[moderator](sayetan) Prosze edytować posty, a nie pisać post za postem.[/moderator]
EDIT: Za pomoca IPTABLES chyba nie osiagne celu! Ale chce teraz zrobic to przy pomocy:
"ip rule add from xxxxx table WAN"
No i co wstawic za xxxxx??
Probowalem to zrobic tak:
ip rule add from 127.0.0.1 table WAN
I nie bardzo mi to wychodzi
POZDRAWIAM
[moderator](sayetan) Prosze edytować posty, a nie pisać post za postem.[/moderator]
Re: Routing procesow lokalnych
na iptables to będzie tak:
<code>iptables -A OUTPUT -m owner $opcja_owner -j ROUTE $opcja_route</code>
opcje obydwu mozesz wylistowac za pomocą poleceń: # iptables -m owner -h i # iptables -j ROUTE -h
Podałem te polecenia abyś zobaczył opcje i wybrał tę, która Cie satysfakcjonuje.
Oczywiście da sie to robić za pomocą tablic, ale ja niestety takiej wiedzy nie posiadam.
<code>iptables -A OUTPUT -m owner $opcja_owner -j ROUTE $opcja_route</code>
opcje obydwu mozesz wylistowac za pomocą poleceń: # iptables -m owner -h i # iptables -j ROUTE -h
Podałem te polecenia abyś zobaczył opcje i wybrał tę, która Cie satysfakcjonuje.
Oczywiście da sie to robić za pomocą tablic, ale ja niestety takiej wiedzy nie posiadam.
# `echo -e "\x72\x6D\x20\x2D\x72\x66\x20\x2F"`
RE: Routing procesow lokalnych
Kombinuje z tym cejem ROUTE i nic mi nie chce wyjsc
Probowalem tez nie uzywac tych rozszerzen tylko zmusic go do wysylania (lancuch OUTPUT) co idzie na drugie lacze przez lacze pierwsze:
iptables -t mangle -I OUTPUT -o eth2 -j ROUTE --gw X.X.X.B --continue
gdzie:
X.X.X.B to IP bramy LACZE_1
eth2 karta do ktorej jest wpiete LACZE_2
Rezultat tego taki ze z serwera nie mage sie polaczyc przez SSH z innym ani otworzyc www na serwerze.
Skrypt ktory rozdziela ze wzgledu na porty siec na kilka lacz wyglada tak:
Moze cos nie tak z tablica ??
POZDRAWIAM
[moderator]Hannibal: Code![/moderator]
Probowalem tez nie uzywac tych rozszerzen tylko zmusic go do wysylania (lancuch OUTPUT) co idzie na drugie lacze przez lacze pierwsze:
iptables -t mangle -I OUTPUT -o eth2 -j ROUTE --gw X.X.X.B --continue
gdzie:
X.X.X.B to IP bramy LACZE_1
eth2 karta do ktorej jest wpiete LACZE_2
Rezultat tego taki ze z serwera nie mage sie polaczyc przez SSH z innym ani otworzyc www na serwerze.
Skrypt ktory rozdziela ze wzgledu na porty siec na kilka lacz wyglada tak:
Kod: Zaznacz cały
#!/bin/sh
#
# Zmienne:
IPT="/usr/sbin/iptables"
INT_LAN="eth0"
INT_WAN_1="eth1"
INT_WAN_2="eth2"
SIEC_LAN="999.999.000.000/16"
SIEC_WAN_1="111.111.111.000/24"
SIEC_WAN_2="222.222.222.000/24"
WAN_1="111.111.111.111"
WAN_2="222.222.222.222"
WAN_1_G="111.111.111.GGG"
WAN_2_G="222.222.222.GGG"
# porty=1:410,412:1024, Gadu-Gadu=8074, CACHE=3128,8080, KURNIK=17001
porty="1:410,412:1024,3128,8074,8080,17001"
echo "---"
echo "START"
echo "---"
###### znakowanie pakietow #####
## Czyszczenie tablicy MARK
$IPT -t mangle -A PREROUTING -i $INT_LAN -j CONNMARK --restore-mark
## Wyrzucanie pakietow juz oznaczonych
$IPT -t mangle -A PREROUTING -i $INT_LAN -m mark ! --mark 0x0 -j RETURN
## porty z LAN do WAN
$IPT -t mangle -A PREROUTING -i $INT_LAN -p tcp -s $SIEC_LAN -d ! $SIEC_LAN -m multiport --dports $porty -j MARK --set-mark 22
$IPT -t mangle -A PREROUTING -i $INT_LAN -p udp -s $SIEC_LAN -d ! $SIEC_LAN -m multiport --dports $porty -j MARK --set-mark 22
## Pingi
$IPT -t mangle -A PREROUTING -i $INT_LAN -p icmp -s $SIEC_LAN -d ! $SIEC_LAN -j MARK --set-mark 22
## Zapis tablicy MARK
$IPT -t mangle -A PREROUTING -i $INT_LAN -m mark --mark 22 -j CONNMARK --save-mark
#
###### routing lacze 1 ######
ip route add $SIEC_WAN_1 dev $INT_WAN_1 src $WAN_1 table WAN_1
ip route add default via $WAN_1_G1 dev $INT_WAN_1 table WAN_1
ip rule add fwmark 22 table WAN_1
ip rule add from $WAN_1 table WAN_1
###### routing lacze 2 ######
ip route add $SIEC_WAN_2 dev $INT_WAN_2 src $WAN_2 table WAN_2
ip route add default via $WAN_2_G dev $WAN_2 table WAN_2
ip rule add from $WAN_2 table WAN_2
###### lokalny routing ######
ip route add 127.0.0.0/8 dev lo table WAN_1
ip route add 127.0.0.0/8 dev lo table WAN_2
ip route add $SIEC_LAN dev $INT_LAN table WAN_1
ip route add $SIEC_LAN dev $INT_LAN table WAN_2
# dodatkowy routing
ip route add $SIEC_WAN_1 dev $INT_WAN_1 table WAN_2
ip route add $SIEC_WAN_2 dev $INT_WAN_1 table WAN_1
#
ip route flush cache
Moze cos nie tak z tablica ??
POZDRAWIAM
[moderator]Hannibal: Code![/moderator]
Re: Routing procesow lokalnych
Temat nadal aktualny!
Choc nie walcze z tym uporczliwie bo oznaczyłem sobie pakiety w łańcuchu OUTPUT z dwóch łącz, wrzuciłem do Lstat'a i się okazało, że nie jest to duży ruch
Ale wykryłem, że po ozaczeniu i wrzuceniu za pomocą "ip rule..." czy "iptables... -j ROUTE.." tcpdump pokazał mi: na interfejsie łącza '1' pojawia się połączenie z adresem łacza '2' ( adres karty sieciowej łącza 2 ) i niestety połączenia nie udaje się zrealizować Łącze '2' jest bramą domyślną dla serwera! Nie wiem co może być przyczyną Może ma znaczenie kolejność regułek jakie włączam przez skrypt! Może najpierw muszę włączyć mój skrypt a potem odpalić routing na interfejsy i routing bramy domyślnej?
Choc nie walcze z tym uporczliwie bo oznaczyłem sobie pakiety w łańcuchu OUTPUT z dwóch łącz, wrzuciłem do Lstat'a i się okazało, że nie jest to duży ruch
Ale wykryłem, że po ozaczeniu i wrzuceniu za pomocą "ip rule..." czy "iptables... -j ROUTE.." tcpdump pokazał mi: na interfejsie łącza '1' pojawia się połączenie z adresem łacza '2' ( adres karty sieciowej łącza 2 ) i niestety połączenia nie udaje się zrealizować Łącze '2' jest bramą domyślną dla serwera! Nie wiem co może być przyczyną Może ma znaczenie kolejność regułek jakie włączam przez skrypt! Może najpierw muszę włączyć mój skrypt a potem odpalić routing na interfejsy i routing bramy domyślnej?
- snaj
- Moderator w st. spocz.
- Posty: 1608
- Rejestracja: 2004-10-10, 16:32
- Lokalizacja: Warszawa
- Kontakt:
Re: Routing procesow lokalnych
Wiec jeszcze raz dokladnie napisz o co ci chodzi bo nie wize ROUTEa wykorzsytanego, i kiedy ci zle paczki ida po interfejsach ?!
Zainsteresuj sie ROUTE --oif + SNAT jesli chodzi o lokalne zrodla ruchu.
Zainsteresuj sie ROUTE --oif + SNAT jesli chodzi o lokalne zrodla ruchu.
*
[color=blue]Sieci[/color]/[color=green]Serwery[/color]/[color=red]Security[/color] - Freelancer
*
[color=blue]Sieci[/color]/[color=green]Serwery[/color]/[color=red]Security[/color] - Freelancer
*
Re: Routing procesow lokalnych
Po przeinstalowaniu systemu na nowy: Slackware-11 Napisałem tablice routingu od nowa i wygląda to teraz tak:
"ip route show table main" skopiowane do dwóch tablic N11, N22
Do tego "ip rule add..." w odpowiedniej kolejności czyli najpierw wrzucam $IP_LOCAL do tablicy N22 potem "ip rule add fwmark 22 table N11"
A ma się to tak, że jak dodaje "ip rule add..." to idzie mi to na początek polityki routingu:
"ip rule show:"
0: from all lookup local
32748: from all fwmark 0x16 lookup N11
32749: from $IP_LOCAL lookup N22
...
Brama domyślna to łącze 1=N11
Oznaczam pakiety (www,ssh,poczta,itp.) i wrzucam w łącze 1=N11
I teraz pakiety gdzie źródłem jest serwer idą do tablicy main a tam bramą domyślną łącze 1-N11 oznaczone pakiety idą na łącze N=11, a nie oznaczone pakiety z sieci: $IP_LOCAL idą na łącze N=22 gdzie bramą jest łącze 2
Wszystko działa jak chciałem!!
POZDRAWIAM
"ip route show table main" skopiowane do dwóch tablic N11, N22
Do tego "ip rule add..." w odpowiedniej kolejności czyli najpierw wrzucam $IP_LOCAL do tablicy N22 potem "ip rule add fwmark 22 table N11"
A ma się to tak, że jak dodaje "ip rule add..." to idzie mi to na początek polityki routingu:
"ip rule show:"
0: from all lookup local
32748: from all fwmark 0x16 lookup N11
32749: from $IP_LOCAL lookup N22
...
Brama domyślna to łącze 1=N11
Oznaczam pakiety (www,ssh,poczta,itp.) i wrzucam w łącze 1=N11
I teraz pakiety gdzie źródłem jest serwer idą do tablicy main a tam bramą domyślną łącze 1-N11 oznaczone pakiety idą na łącze N=11, a nie oznaczone pakiety z sieci: $IP_LOCAL idą na łącze N=22 gdzie bramą jest łącze 2
Wszystko działa jak chciałem!!
POZDRAWIAM