[Rozw.] Problem z OpenVPN

Serwery i sieci oparte na Slackware, wszelkiego rodzaju usługi, troubleshooting.

Moderatorzy: Moderatorzy, Administratorzy

t4ndeta
Użytkownik
Posty: 4
Rejestracja: 2007-10-06, 10:44
Kontakt:

[Rozw.] Problem z OpenVPN

Post autor: t4ndeta »

Witam wszystkich,

mam następujacy problem:

Mam 2 serwer na slacku, w 2 róznych miejscach. Bez problemow udalo mi sie zrobic VPN pomiedzy oboma serverami. Ale za zadne skarby nie wiem jak zrobic aby moc z sieci wewnetrzej (powiedzmy na serwerze 1) odwolac sie do serwera 2 (niechce miec dostepu do sieci wewnetrznej po stronie 2 serwera)

Siec wewnetrzna ma pule 192.168.0.x
VPN jest na 10.8.0.1-2 (p2p)

O co mi dokladnie chodzi. Serwer 2 stoi w zamknietej sieci z publicznymi adresami (czyli nie ma do niej dostepu z zewnatrz). Jak skonfigurowac routing/iptables na serwerze 1 aby przy odwolywaniu sie do danej puli (zalózmy 123.123.x.x) adressow korzystal z bramki na serwerze 2, a nie z domyslnej.

Z gory dziekuje,
T4ndeta

PS. Sory za uwentualne byki :/

[ Komentarz dodany przez: Zielony: 2007-10-11, 10:28 ]
Tak nie piszemy "[Rozw.]". Ostrzeżenie.

[ Komentarz dodany przez: t4ndeta: 2007-10-11, 14:26 ]
Bardzo śmieszne. Susz
Ostatnio zmieniony 2007-10-11, 13:27 przez t4ndeta, łącznie zmieniany 4 razy.
Awatar użytkownika
argon
Użytkownik
Posty: 240
Rejestracja: 2004-09-29, 00:49
Lokalizacja: Węgorzewo
Kontakt:

Re: [Rozw.] Problem z OpenVPN

Post autor: argon »

Na pierwszym serwerze:

Kod: Zaznacz cały

route add -net <siec_na_drugim_serwerze> gw <IP_VPN_drugiego_serwera>
Na drugim serwerze:

Kod: Zaznacz cały

route add -net <siec_na_pierwszym_serwerze> gw <IP_VPN_pierwszego_serwera>
Mam nadzieję że zrozumiałem i że to zadziała :)
No RISC, no fun!
t4ndeta
Użytkownik
Posty: 4
Rejestracja: 2007-10-06, 10:44
Kontakt:

Re: [Rozw.] Problem z OpenVPN

Post autor: t4ndeta »

Niestety nie chodzi mi o sam dostep do sieci wewnetrznej serwera. Tym bardziej ze poki co po obu stronach jest ta sama podsiec wewnetrzna, ale to mozna latwo zmeinic.

Moj problem to polaczenie tego problemu:
http://forum.slackware.pl/viewtopic.php?t=16238
czyli bramki do internetu po stronie VPN'a

i:
http://forum.slackware.pl/viewtopic.php?t=17245
rozdzielanie internetu na 2 łącza (w moim przypadku chodzi o dana pule adresow)

Niestety nie jestem na tyle dobry w tym aby jakos to połaczyć

T4ndeta
tomeks1
Użytkownik
Posty: 21
Rejestracja: 2007-10-08, 22:15

Re: [Rozw.] Problem z OpenVPN

Post autor: tomeks1 »

Po pierwsze musisz dokładniej opisać swój problem. Z tego co zrozumiałem:
serwer 1 ma podpięty na którymś interfejsie LAN z użytkownikami oraz interfejs 10.8.0.1
serwer 2 ma podpięty internet (default GW) i drugi interfejs 10.8.0.2

czy problem sprawia aby użytkownicy LANu gadali z serwerem 2?
jeśli tak to robisz SNAT czy MASQUERADE na serwerze 1
-s 192.168.0.0/24 -d 10.8.0.2/32 -j SNAT --to-source 10.8.0.1

i każesz klientom łączyć się z 10.8.0.2.

nie możesz VPNem p2p (bez tunelu? (to właściwie żaden VPN)) przesłać innych pakietów niż takich, które mają źródło i cel różne od 10.8.0.1-2

Osobiście openvpn'a nie używam, robię VPNy poprzez IPSec, używając ipsec-tools czyli to co kiedyś było KAME na BSD. Możesz też używać openswan'a
t4ndeta
Użytkownik
Posty: 4
Rejestracja: 2007-10-06, 10:44
Kontakt:

Re: [Rozw.] Problem z OpenVPN

Post autor: t4ndeta »

Oba serwery sluza jako bramki z LANu do internetu.

Tylko chcialbym zrobic tak aby Serwer1 kiedy laczy sie do puli 123.123.x.x korzystal z polaczenie VPN.

Na obu serwerach jest dokaldnie taka sama sytuacja jezeli chodzi o interfejsy:
eth0 - internet
eth1 - lan
tun0 - vpn (serwer1 - server/ serwer2 - client)

serwer2 ma adress zewnetrzny 123.123.123.123 (przykladowo)

na serwerze1 dodalem

Kod: Zaznacz cały

route add -net 123.123.123.123 netmask 255.255.255.255 gw (BRAMK eth0) dev eth0
ip route add default via 10.8.0.2 dev tun0 table vpn
ip rule add fwmark 250 table vpn
ip route flush cache
iptables -t mangle -A PREROUTING -s 192.168.0.0/24 -d 123.123.0.0/16 -j MARK --set-mark 250
iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE
na serwerze2 dodalem

Kod: Zaznacz cały

iptables -A INPUT -i tun+ -j ACCEPT
iptables -A FORWARD -i tun+ -j ACCEPT
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
Po wykananiu tego przy pingowaniu adresu np. 123.123.4.4 z LANu na serwerze1, odpowiedz docierala tylko do tun0, nie przechodzila dalej na eth1.

t4ndeta

[EDIT]
Po obustronach jest postawiony arno firewall.
Ostatnio zmieniony 2007-10-09, 09:44 przez t4ndeta, łącznie zmieniany 1 raz.
tomeks1
Użytkownik
Posty: 21
Rejestracja: 2007-10-08, 22:15

Re: [Rozw.] Problem z OpenVPN

Post autor: tomeks1 »

To może po kolei Ci objaśnię co robisz:

route add -net 123.123.123.123 netmask 255.255.255.255 gw (BRAMK eth0) dev eth0
do głównej tabeli routingu dodajesz, że HOST - po co wpisujesz maskę
123.123.123.123 ma być routowany do internetu (BRAMK eth0)
"dev eth0" - jest niepotrzebne
ip route add default via 10.8.0.2 dev tun0 table vpn
ip rule add fwmark 250 table vpn
ip route flush cache
tutaj robisz route w tablicy VPN dla wszystkich pakietów oznaczonych "250" przez tunel.
Nie wiem czy poprawnie, mniejsza o to.


iptables -t mangle -A PREROUTING -s 192.168.0.0/24 -d 123.123.0.0/16 -j MARK --set-mark 250

Tutaj markujesz wszystkie pakiety do 123.123.0.0/16 jako 250
więc również 123.123.123.123, żeby uzyskać zamierzony efekt musisz dodać
iptables -t mangle -A PREROUTING -s 192.168.0.0/24 -d 123.123.123.123 -j ACCEPT
iptables -t mangle -A PREROUTING -s 192.168.0.0/24 -d 123.123.0.0/16 -j MARK --set-mark 250

bo inaczej wszystko przeleci przez table VPN

iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE

dla czystości sumienia zrób to MASQUERADE
po adresie IP źródła, a nie interfejsie.

firewalla wyłącz.
jeśli 123.123.123.123 to adres oubliczny drugiego końca VPN to problem jest rozwiązany, jeśli nie, to szukamy dalej

Aby przesłać co robisz zrób zrzuty z :

ip rule show
route -n
ip route show table vpn

Twoje problemy wynikają być może z niezrozumienia jak pakiet przechodzi przez jądro (przez firewalla i tabele routingu). Tutaj jest to podwójnie skomplikowane, bo przechodzi dwa razy, raz w oryginale, drugi raz zapakowane.
Najlepiej weź kartkę i rozrysuj sobie po kolei przez co przechodzi pakiet.
Awatar użytkownika
dozzie
Użytkownik
Posty: 855
Rejestracja: 2004-06-01, 13:15
Lokalizacja: Wrocław
Kontakt:

Re: [Rozw.] Problem z OpenVPN

Post autor: dozzie »

I pomyslec tylko, ze ktos kiedys mi probowal wmowic, ze konfigurowanie OpenVPN-a jest prostsze niz IPseca... Wlasnie widac. Openswan sam ustawia prawidlowe trasy, chyba ze sie go specjalnie poprosi.
Po cholere obaj ruszacie dodatkowe tablice routingu, bramy domyslne i firewalla?
-zsh
#!/bin/bash
#!/usr/bin/perl -w
tomeks1
Użytkownik
Posty: 21
Rejestracja: 2007-10-08, 22:15

Re: [Rozw.] Problem z OpenVPN

Post autor: tomeks1 »

tzn ja mam doświadczenie w nauczaniu, ale nie pedagogiczne :) (byłem doktorantem i musiałem kształcić studentów z linuxa) i jeśli ktoś ma jakiś pomysł i coś mu nie działa to lepiej mu tłumaczyć na czymś co po części rozumie niż na kompletnie nowym.
Tak czy owak linux jest dla samouków.

Co do ipseca to też nie jest to sprawa do końca prosta, niestety jest to "prawie" standard. Prawie dlatego, że nie zawsze ze wszystkim działa.
I nie chodzi mi bynajmniej o windę, która niewiedzieć czemu do zrobienia tunelu potrzbuje jeszcze tcp i GRE, a zmuszenie jej do "normalnej" pracy z ipsec jest nieco skomplikowane.

na linuxa 2.6 masz openswana i ipsec-tools. Od dawna używałem openswana (wcześniej freeswana) i miał on swoje wady i przeszedłem na ipsec-tools (setkey i racoon), które działają o niebo stabilniej, ale także mają swoje wady.
Zestawionych mam parę tuneli do różnych ciskaczy, a także pomiedzy linuchami i różnie to bywa, debugowanie konfiguracji racoona jest bardzo przykre jeśli problem nie jest trywialny.

I jeszcze jedna sprawa w implementacji ipsec'a w 2.6 wciąż znajduje się nowe bugi.
no i jest to kompletnie nowa implementacja sieci niż w 2.4
np na 2.4 miałem tunel GRE który upload miał innym łączem niż download, w 2.6 to niemożliwe. Jeśli pakiety spływają na adres na którym jest GRE z innego interfejsu niż ten na który są routowane pakiety wychodzące, to po prostu giną - nie ma ich nigdzie- packet monster.
Awatar użytkownika
dozzie
Użytkownik
Posty: 855
Rejestracja: 2004-06-01, 13:15
Lokalizacja: Wrocław
Kontakt:

Re: [Rozw.] Problem z OpenVPN

Post autor: dozzie »

tomeks1 pisze:Co do ipseca to też nie jest to sprawa do końca prosta, niestety jest to "prawie" standard. Prawie dlatego, że nie zawsze ze wszystkim działa.
I nie chodzi mi bynajmniej o windę, która niewiedzieć czemu do zrobienia tunelu potrzbuje jeszcze tcp i GRE, a zmuszenie jej do "normalnej" pracy z ipsec jest nieco skomplikowane.
To znaczy co z czym ci nie działało? Bo ja stawiałem tunele (z IKE) Openswan-strongSwan, Openswan-KAME, Openswan-Checkpoint, a ludzie stawiali też Openswan-Windows.
tomeks1 pisze:na linuxa 2.6 masz openswana i ipsec-tools. Od dawna używałem openswana (wcześniej freeswana) i miał on swoje wady i przeszedłem na ipsec-tools (setkey i racoon), które działają o niebo stabilniej, ale także mają swoje wady.
O nie. ipsec-tools nie działa stabilniej. Racoon potrafi się zawiesić sam z siebie i pomaga mu jedynie kill. Racoon potrafił nie dogadywać się sam ze sobą, z tą samą wersją. Openswan mi wywinął taki numer tylko raz, a i to development release, z natury jeszcze nie stabilny, nie dogadywał się z normalnym releasem. Aktualizacja DR do release'a pomogła.
tomeks1 pisze:Zestawionych mam parę tuneli do różnych ciskaczy, a także pomiedzy linuchami i różnie to bywa,
Jakoś w tym momencie przestałem wierzyć, że uczyłeś kogokolwiek podstaw Linuksa.
tomeks1 pisze:debugowanie konfiguracji racoona jest bardzo przykre jeśli problem nie jest trywialny.
Debuggowanie czy nawet samo pisanie konfiguracji Racoona to PITA. Powtarzanie mnóstwa informacji, zarówno tych dających się odczytać z systemu przy uruchomieniu, jak i podanych już raz wcześniej w pliku, jawne podawanie najgłupszych opcji (kompletny brak defaultów), niepotrzebne rozbicie pewnych spraw na pojedyncze opcje (nie dałoby się algorytmu podawać jako jednego aes-256-sha1-modp1024 zamiast w trzech dyrektywach?), a na koniec konieczność podawania prawie symetrycznyej konfiguracji dla tunelu w jedną i drugą stronę (i trzeba uważać, w którą stronę jest IN, OUT i gdzie są odpowiednie podsieci) i prawie symetrycznej konfiguracji po drugiej stronie tunelu (znowu trzeba uważać, gdzie co się znalazło). Jakby nie można było wziąć przykładu z *swanów.
tomeks1 pisze:I jeszcze jedna sprawa w implementacji ipsec'a w 2.6 wciąż znajduje się nowe bugi.
Te, były doktorant. Może byś douczył się nieco interpunkcji? Na przykład zasad stosowania przecinka i apostrofu. Wstyd.
I jakież to bugi zostały znalezione ostatnio i ile kwartałów temu to było?
-zsh
#!/bin/bash
#!/usr/bin/perl -w
tomeks1
Użytkownik
Posty: 21
Rejestracja: 2007-10-08, 22:15

Re: [Rozw.] Problem z OpenVPN

Post autor: tomeks1 »

Jeju człowieku, aż mi się nie chce Ci odpisywać, ale podejdę do tego bez emocji.
To znaczy co z czym ci nie działało? Bo ja stawiałem tunele (z IKE) Openswan-strongSwan, Openswan-KAME, Openswan-Checkpoint, a ludzie stawiali też Openswan-Windows.
Piszę ogólnie, że miałem problemy, odpisujemy tutaj człowiekowi, który ma realny problem i używa innych narzędzi niż my zwykliśmy. Ja mam takie doświadczenia, a Ty inne, nie zamierzam Ci listować co z czym, bo po pierwsze nie mam ochoty, ale także często nie wiem dokładnie co jest po drugiej stronie bo zarządza nią kto inny i nie chce mi (np. ze względów bezpieczeństwa albo po prostu proceduralnych) nawet podać cóż to jest i w jakiej wersji, a czasem są to ludzie którzy nie mają pojęcia o tym co robią i trzeba ich prowadzić za rękę po omacku.
O nie. ipsec-tools nie działa stabilniej. Racoon potrafi się zawiesić sam z siebie i pomaga mu jedynie kill. Racoon potrafił nie dogadywać się sam ze sobą, z tą samą wersją
I znowu opowiadasz o swoich doświadczeniach, może masz rację. Ale w tej wersji i konfiguracji w jakiej ja go używam mam zero problemów. Co prawda korzystam wyłącznie z PSK, ale nigdy go nie musiałem kilować, a między sobą chodzą bezbłędnie.

Potem przesyłasz mi złośliwą uwagę. Słuchaj po mnie to spływa. Czepiasz się że napisałem "linucha"? Mogłem napisać kłapoucha i co z tego ? Obraziłem kogoś ?

Potem piszesz o swoich doświadczeniach z racoonem. Słowa PITA nie rozumiem, pewnie mi odpiszesz, że za głupi jestem :)
Cóż, że konfigurację się robi tak, a nie inaczej to dla mnie nie jest problem. Być może nie przeglądnąłeś sobie sampli konfiguracji i nie doszedłeś jak zrobić, by nie trzeba było "się powtarzać".

W openswan rzeczywiście konfiguracja jest bardziej przejrzysta. Mnie w nim denerwowało to, że cały openswan to cała masa malutkich skrypcików, na całość sam powiedz ile plików się składa i gdzie są porozrzucane ?
Co wyszła nowa wersja to musiałem wycinać z niego dwie linie ze skryptu parsującego konfigurację bo "left and leftnexthop cannot be the same". A zrób, żeby nie były na SDI (PPP z takimi samymi IP na obu końcach). Po prostu wycina się te dwie linie "generujące błąd" i wszystko działa. No i miałem kłopoty ze stabilnością, raz na miesiąc może dwa trzeba było zrobić restart procesów.

Mając wkompilowanego ipsec'a w 2.6 potrzebujesz tylko
/usr/sbin/racoon
/usr/sbin/setkey
/etc/setkey.conf
/etc/racoon.conf
/etc/racoon.psk

i ruszasz. Nie trzeba do tego robić pakietów, wystarczy scp.

Ja się nie wstydzę, pracy nie piszę, ani książki. Wystarczy żebym był dla innych zrozumiały.
Hehe, na każdym forum się taki jak Ty znajdzie.
t4ndeta
Użytkownik
Posty: 4
Rejestracja: 2007-10-06, 10:44
Kontakt:

Re: [Rozw.] Problem z OpenVPN

Post autor: t4ndeta »

Wlasnie sprawdzilem i winnowajca moich porblemow okazal sie "arno-firewall"
Przy samej maskaradzie, to co napisalem chodzi bez zadnych problemow

Dziekuje wszystkim za pomoc

T4ndeta
Awatar użytkownika
dozzie
Użytkownik
Posty: 855
Rejestracja: 2004-06-01, 13:15
Lokalizacja: Wrocław
Kontakt:

Re: [Rozw.] Problem z OpenVPN

Post autor: dozzie »

tomeks1 pisze:
O nie. ipsec-tools nie działa stabilniej. Racoon potrafi się zawiesić sam z siebie i pomaga mu jedynie kill. Racoon potrafił nie dogadywać się sam ze sobą, z tą samą wersją
I znowu opowiadasz o swoich doświadczeniach, może masz rację. Ale w tej wersji i konfiguracji w jakiej ja go używam mam zero problemów. Co prawda korzystam wyłącznie z PSK, ale nigdy go nie musiałem kilować, a między sobą chodzą bezbłędnie.
A ja korzystałem z kilku wersji 0.6.x. Dwie z nich miały problem z IKE na certyfikatach X.509 z tą samą wersją. Tak, to wszystko były waniliowe wersje, niełatane. Podobnie z kilku różnych korzystałem przy tunelu, który wygasał, ale Racoon już nie renegocjował go. Czary?
tomeks1 pisze:Potem przesyłasz mi złośliwą uwagę. Słuchaj po mnie to spływa. Czepiasz się że napisałem "linucha"? Mogłem napisać kłapoucha i co z tego ? Obraziłem kogoś ?
Tak.
tomeks1 pisze:Potem piszesz o swoich doświadczeniach z racoonem. Słowa PITA nie rozumiem, pewnie mi odpiszesz, że za głupi jestem :)
Jeśli nie umiesz rozpoznać akronimu i/lub znaleźć jego znaczenia w sieci...
tomeks1 pisze:Cóż, że konfigurację się robi tak, a nie inaczej to dla mnie nie jest problem. Być może nie przeglądnąłeś sobie sampli konfiguracji i nie doszedłeś jak zrobić, by nie trzeba było "się powtarzać".
Ależ tam nie da się nie powtarzać. Po co cztery razy w różnych miejscach mam podawać lewy i prawy koniec tunelu, do dwóch SA, które i tak dotyczą tego samego dupleksowego połączenia? Ja chcę to podać tylko raz, a potem przekleić konfigurację.
tomeks1 pisze:W openswan rzeczywiście konfiguracja jest bardziej przejrzysta. Mnie w nim denerwowało to, że cały openswan to cała masa malutkich skrypcików, na całość sam powiedz ile plików się składa i gdzie są porozrzucane ?
A co za różnica? Może i musiałeś poprawiać coś na okoliczność SDI, ale pokaż mi, kto w dzisiejszych czasach używa jeszcze tej usługi? Ja się spotkałem dotychczas z dwiema osobami, które to miały. Miały parę lat temu i szybko ją zmieniły.
tomeks1 pisze:Mając wkompilowanego ipsec'a w 2.6 potrzebujesz tylko
/usr/sbin/racoon
/usr/sbin/setkey
/etc/setkey.conf
/etc/racoon.conf
/etc/racoon.psk

i ruszasz. Nie trzeba do tego robić pakietów, wystarczy scp.
Trzeba robić skrypty, które poprawią setkey.conf i racoon.conf. Chyba że masz całą podwójną konfigurację w jednym pliku.
tomeks1 pisze:Ja się nie wstydzę, pracy nie piszę, ani książki. Wystarczy żebym był dla innych zrozumiały.
Na forum nie będziemy używać wulgaryzmów
Regulamin punkt 2.6 - Ostrzeżenie 2 pkt.

************
tomeks1 pisze:Hehe, na każdym forum się taki jak Ty znajdzie.
Na każdym forum znajdzie się taki ktoś jak ty, który uważa że interpunkcja to badziewie, na które nie warto zwracać uwagi.
Ostatnio zmieniony 2007-10-11, 10:31 przez dozzie, łącznie zmieniany 1 raz.
-zsh
#!/bin/bash
#!/usr/bin/perl -w
tomeks1
Użytkownik
Posty: 21
Rejestracja: 2007-10-08, 22:15

Re: [Rozw.] Problem z OpenVPN

Post autor: tomeks1 »

Koniec, kropka, szkoda czasu.
thomas1
Użytkownik
Posty: 24
Rejestracja: 2005-01-11, 01:16
Lokalizacja: berlin/london

Re: [Rozw.] Problem z OpenVPN

Post autor: thomas1 »

Proponuje ostrzezenie dla Dozziego.
Od jakiegos czasu obserwuje na forum, ze Dozzie sie bardzo czesto czepia
szczegolnie jesli chodzi o wypowiedzi poczatkujacych uzytkownikow linuksa.
Oczywiscie zdaje sobie sprawe, ze Dozzie posiada duza wiedze ale nie powinien
w ten sposob zniechecac ludzi zaczynajacych zabawe z tym systemem lub tych,
ktorzy duzo juz wiedza ale probuja tutaj rozwiazywac rozne problemy.

Tomeks1 probuje pomoc i chwala mu za to, Dozzie z kolei, oprocz spraw zwiazanych
z meritum, niepotrzebnie wdaje sie w polemike i to nie pierwszy juz raz.

Rozumiem, ze mozna sie obrazic jesli ktos czasem zapomni o znakach interpunkcyjnych
lub zastapi slowo linuks linuchem, ale to nie powod aby zaraz watpic (publicznie) w
jego wyksztalcenie.

pozdrawiam
Tomasz
ODPOWIEDZ