Freesco, NND, CDN, EOS

http://www.freesco.pl
Dzisiaj jest czwartek, 18 kwietnia 2024, 22:26

Strefa czasowa UTC+2godz.




Nowy temat Odpowiedz w temacie  [ Posty: 7 ] 
Autor Wiadomość
Post: poniedziałek, 1 czerwca 2009, 18:12 
Offline

Rejestracja: poniedziałek, 1 czerwca 2009, 13:02
Posty: 4
Lokalizacja: localhost
Witam.

Mam problem z konfiguracją przekierowania portów przez iptables. Router ma 3 sieciówki, eth0 podpięte do LANu, eth1 i eth2 podpięte do dwóch niezależnych łącz internetowych. Problem polega na tym, że chcę przekierować port na obydwu łączach na jeden z kompów wewnątrz LANu. Stosując zwykłe przekierowanie z użyciem DNAT (bez podawania parametru -i, albo podając oba interfejsy w tym parametrze) działa na jednym łączu (tym które jest jako default w ip route) a na drugim już nie. nmap pokazuje że port jest "filtered". Przypuszczam że problem polega na tym, że pakiety wchodzą powiedzmy przez eth2, trafiają do hosta wewnątrz LANu, a ten odpowiadając, wysyła pakiety z IP docelowym ustawionym na adres z którego pakiet przyszedł, a przechodząc przez router wychodzą one łączem defaultowym, czyli w moim przypadki przez eth1. Dlatego eth1 przekierowanie działa ok, a na eth2 już nie. Nie wiem czy dobrze myślę, ale chyba musiałbym zrobić coś w rodzaju maskarady, tylko działającej jakby w drugą stronę, żeby pakiety opuszczały router tym interfejsem z którego nadeszły. Tylko jak to zrobić?


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: poniedziałek, 1 czerwca 2009, 20:39 
Offline
Użytkownik

Rejestracja: sobota, 14 maja 2005, 15:07
Posty: 3177
Lokalizacja: Busko-Zdrój
Cytuj:
# droga powrotna z routera do netu
ip rule add prio 499 from $IPL2 table LACZE2
# droga powrotna z routera do netu
ip rule add prio 500 from $IPL1 table LACZE1


kiedys mialem podobny problem i takie wpisy rozwiazaly wszystko.
(traktowac jako przyklad a nie lekarstwo)

_________________
Pomógł? wypij jego zdrowie.
http://nnd-linux.pl/faq.php
http://wiki.nnd.freesco.pl/index.php/FAQ


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: poniedziałek, 1 czerwca 2009, 22:40 
Offline

Rejestracja: poniedziałek, 1 czerwca 2009, 13:02
Posty: 4
Lokalizacja: localhost
OK. sprawdze na routerze i dam znać co i jak.

edit:

Wyskakuje błąd:

Error: an inet prefix is expected rather than "table".


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: wtorek, 2 czerwca 2009, 14:43 
Offline
Użytkownik

Rejestracja: sobota, 14 maja 2005, 15:07
Posty: 3177
Lokalizacja: Busko-Zdrój
Cytuj:
(traktowac jako przyklad a nie lekarstwo)


dopasuj do swoich regul, nr, nazwy tabel i ip.

_________________
Pomógł? wypij jego zdrowie.
http://nnd-linux.pl/faq.php
http://wiki.nnd.freesco.pl/index.php/FAQ


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: wtorek, 2 czerwca 2009, 18:46 
Offline

Rejestracja: poniedziałek, 1 czerwca 2009, 13:02
Posty: 4
Lokalizacja: localhost
Rozumiem, że $IPL1 i $IPL2 to adresy IP łącz 1 i 2 (nie ich bram), a LACZE1 i LACZE2 to tabele dot. łącza 1 i łacza2. Jeśli tak, to po wprowadzeniu tego (nie wyskakują już żadne błędy) nic się nie zmienia. Dalej przekierowanie działa na jednym łączu a na drugim już nie :/. Poza tym wyświetlając ip rule widzę że już tam są regułki takie jak po wprowadzeniu tych Twoich pod nr 499 i 500, ale pod innymi numerami.


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: wtorek, 2 czerwca 2009, 19:44 
Offline
Użytkownik

Rejestracja: sobota, 14 maja 2005, 15:07
Posty: 3177
Lokalizacja: Busko-Zdrój
zakladam ze przekierowane do hosta na obu laczach masz prawidlowo dopisane ?

Cytuj:
iptables -I PREROUTING -t nat -i $ETH_L1 -d $IPL1 -p $Prot --dport $Pwej -j DNAT --to $IP_hosta:$Port_wyjscia
iptables -I FORWARD -t filter -p $Prot -d $IP_hosta --dport $Pwyjscia -j ACCEPT


i klient korzysta z MASQUERADE.

oraz reguly routingu z niejszymi numerami nie lapia ruchu hosta wczesniej niz wspomniane wyzej.

_________________
Pomógł? wypij jego zdrowie.
http://nnd-linux.pl/faq.php
http://wiki.nnd.freesco.pl/index.php/FAQ


Na górę
 Wyświetl profil  
 
 Tytuł:
Post: wtorek, 2 czerwca 2009, 20:55 
Offline

Rejestracja: poniedziałek, 1 czerwca 2009, 13:02
Posty: 4
Lokalizacja: localhost
Myślę, że tak. Generalnie cały mój iptables wygląda następująco:

Cytuj:
iptables -I FORWARD -p tcp -d 10.0.0.56 --dport 5900 -j ACCEPT
iptables -I FORWARD -p udp -d 10.0.0.56 --dport 5900 -j ACCEPT

iptables -t nat -A PREROUTING --protocol tcp --destination-port 5900 -j DNAT --to-destination 10.0.0.56:5900
iptables -t nat -A PREROUTING --protocol udp --destination-port 5900 -j DNAT --to-destination 10.0.0.56:5900

iptables -t nat -A POSTROUTING -o eth2 -d 0/0 -j SNAT --to $IP1
iptables -t nat -A POSTROUTING -o eth3 -d 0/0 -j SNAT --to $IP2


a iproute następująco:
Cytuj:
echo "Etap 1"
ip route replace $P1_NET dev $IF1 src $IP1 table T1
ip route replace default via $P1 table T1
ip route replace $P2_NET dev $IF2 src $IP2 table T2
ip route replace default via $P2 table T2
ip route replace $P3_NET dev $IF3 src $IP3 table T3
ip route replace default via $P3 table T3

echo "Etap 2"
ip route replace $P1_NET dev $IF1 src $IP1
ip route replace $P2_NET dev $IF2 src $IP2
ip route replace $P3_NET dev $IF3 src $IP3

ip route replace default via $P3

echo "Etap 3"
ip rule add from $IP1 table T1
ip rule add from $IP2 table T2
ip rule add from $IP3 table T3
#load balancing, parametrem weight mozemy ustawic ktore z laczy ma byc bardziej obciazone.

echo "Etap 4"
ip route replace default scope global nexthop via $P2 dev $IF2 weight 1 nexthop via $P3 dev $IF3 weight 1

#routing poloczen lokalnych serwera
echo "Etap 5"
ip route replace $P0_NET dev $IF0 table T1
ip route replace $P2_NET dev $IF2 table T1
ip route replace 127.0.0.0/8 dev lo table T1

ip route replace $P0_NET dev $IF0 table T2
ip route replace $P1_NET dev $IF1 table T2
ip route replace 127.0.0.0/8 dev lo table T2

ip route replace $P0_NET dev $IF0 table T3
ip route replace $P1_NET dev $IF1 table T3
ip route replace 127.0.0.0/8 dev lo table T3

#Odswiezanie tablicy routingu
ip route flush cache
for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 > $f; done


Gdzie eth2 i 3 to łącza do internetu a eth0 to lan (eth1 i jest niepodpięty).


Na górę
 Wyświetl profil  
 
Wyświetl posty nie starsze niż:  Sortuj wg  
Nowy temat Odpowiedz w temacie  [ Posty: 7 ] 

Strefa czasowa UTC+2godz.


Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 9 gości


Nie możesz tworzyć nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Przejdź do:  
cron
Technologię dostarcza phpBB® Forum Software © phpBB Group
Hosting: Compus-Net
RobertKonik.pl