Skocz do zawartości

VPN dla początkujących - routing ruchu sieciowego


Ralliart

Recommended Posts

Co do konfiguracji samej usługi nie będę się wiele rozwodził, bo tutoriali w sieci jest masa, możecie skorzystać z następujących:
 
http://www.zylka.net.pl/?p=103http://www.ardoros.com/2008/08/how-to-build-up-pptpd-vpn-server-on.html
 
Ja intsalowałem pptp na suse, więc korzystałem z drugiego przykładu. Skupimy się tu na zagadnieniu jakim jest routing w obrębie takiego połączenia vpn, bo nie jest to prosta sprawa gdy serwer linux nie ma przypisanych ról: bramy DHCP i serwera DNS.

 

Konfiguracja sieci:

eth0: 142.168.1.15 brama 142.168.1.1

eth1: 142.168.10.25 brama 142.168.10.1

eth2: 192.168.2.150 brama 192.168.2.1

vpn: local 172.168.1.100 remote 172.168.0.100-150

 
1. Połączenie z internetem: 
W moim wypadku linux został wyposażony w trzy karty sieciowe przy założeniu eth0 - sieć firmowa 1 (statyczny), eth1 - sieć firmowa 2 (statyczny), eth2 - internet (statyczny). Bramą domyślną jest interfejs eth0 co rodzi problem z komunikacją z internetem - wszelkie zapytania do maszyny domyślnie dostają odpowiedź przez domyślą bramę, więc lecą do sieci firmowej zamiast do internetu. Zmieniamy to poprzez zmianę konfiguracji routingu:
vi /etc/iproute2/rt_tables
 
dodajemy linię 
6 internet
 
zapisujemy plik
następnie z terminala:
 
ip route add default via 192.168.2.1 dev eth2 table 6
ip rule add from 192.168.2.150/32 table 6
ip rule add to 192.168.2.150/32 table 6
 
Po tych zabiegach nasz serwer powinien komunikować się ze światem zewnętrznym bez problemów - można to przetestować przekierowując np port 80 na routerze i sprawdzając czy chodzi strona www (o ile linux ją udostępnia)
 
2. Konfiguracja komputerów z których się komunikujemy z serwerem
W przypadku opisanej przeze mnie konfiguracji mamy do czynienia z dwoma dodatkowymi połączeniami sieciowymi. Ponieważ chcemy mieć również dostęp do sieci firmowej powinniśmy zadbać o odpowiednią konfigurację na komputerze z którego łączymy się zdalnie. w tym celu dodajemy do lokalnej tabeli routingu odpowiednie wpisy - w przypadku Windows będą to:
 
route ADD 142.168.1.0 MASK 255.255.255.0  172.168.0.100
route ADD 142.168.10.0 MASK 255.255.255.0  172.168.0.100
 
rozszyfrowując wpis sieć docelowa, maska, ip serwera z którym się łączymy
W przypadku pptp jest to zabieg konieczny, albowiem nie ma możliwości wysłania tych tras z automatu. Dodając wpis -p dodajemy trasę na stałe, jeżeli tego nie zrobimy za każdym razem musimy po każdym nawiązaniu połączenia na uprawnieniach administratora dodać te ustawienia z ręki. 
 
3. Przekierowanie ruchu na serwerze linux.

Posiadając opisaną konfigurację nadal nie mamy przejścia do sieci firmowej - trzeba jeszcze dodać trasę na linuxie, tak, aby prawidłowo przekierowywał ruch z zewnątrz do naszej sieci docelowej. Na szczęście w przypadku pptp można dodac trasę w momencie nawiązania połączenia przez klienta z automatu - w tym celu
 
vi /etc/iproute2/rt_tables
 
dodajemy linię 
2 vpn

następnie

vi /etc/ppp/ip-up.local
 
dodajemy linię

ip route add 172.168.0.0/24 dev ppp0 src 172.168.1.100 table 2

 

i gotowe. 

 

4. Konfiguracja komputerów w firmie

Jak już zaznaczyłem rozważany przypadek ma miejsce w sytuacji gdy serwer linux nie jest domyślną bramą dla sieci firmowej i nie opierają się o niego usługi DHCP i DNS. Konfiguracja na komputerach z Windows jest banalna i ogranicza się do dodania wpisu:

 

route ADD 172.168.0.0 MASK 255.255.255.0  142.168.1.15 -p

 

dodanie -p oznacza, że jest to trasa stała i nie zostanie skasowana po restarcie komputera/ wyłączeniu interfejsu sieciowego

 

 

Po tych wszystkich zabiegach otrzymujemy dostęp do wybranych komputerów w sieci firmowej np poprzez rdp. Zaletą tego rozwiązania jest możliwość skonfigurowania połączenia na komputerze z Windows bez użycia dodatkowych programów.

Odnośnik do komentarza
Udostępnij na stronach

Powinien być poważny edit, bo jak zwykle na około zrobiłem coś co jest raczej oczywiste dla zaawansowanych userów. W końcu od czego mamy NAT...

 

 

iptables -A POSTROUTING -t nat -o eth0 -j MASQUERADE
iptables -A POSTROUTING -t nat -o ppp0 -j MASQUERADE
 
i punkty 2, 3, 4 mamy z głowy.
 
Oczywiście coś za coś - bo w momencie uzyskania połączenia odcina nam internet.
Odnośnik do komentarza
Udostępnij na stronach

Żadne tam "odcina nam internet" :). Przecież docelowa sieć ma dostęp do internetu, więc korzystasz z tamtego dostępu. Naturalnie ściąganie plików jest wolniejsze i te lagi w grach... :) no ale przynajmniej masz NATa, który rozwiązuje opisane wcześniej problemy.

 

Mnie linuchy przerażają z powodu ich stabilności na poziomie Windows 98 Pierwsza Edycja. Nie trzeba nic robić, wystarczy poczekać aż interfejs zacznie się sam sypać bo "terminy gonią, trzeba co pół roku wydawać kolejną wersję więc nie naprawia się błędów ale tworzy nowe". Ze stabilnych maszynek pamiętam DSL. Jest to tak małe, że tam nie ma się co zepsuć :). A suse to nawet nie da się zainstalować bez resetowania kompa. I to nawet na bardzo standardowym konfigu: vmware workstation 9.

Odnośnik do komentarza
Udostępnij na stronach

Gość
Ten temat jest zamknięty i nie można dodawać odpowiedzi.
×
×
  • Dodaj nową pozycję...