OpenVPN - po

Konfiguracja serwerów, usług, itp.
poldas
Beginner
Posty: 105
Rejestracja: 12 grudnia 2006, 08:51

OpenVPN - połączenie jest, ping nie działa

Post autor: poldas »

Witam.

Uruchomiłem serwer OpenVPN opraty na certyfikatach:

Kod: Zaznacz cały

[codedev tun                         #rodzaj interfejsu
local 192.168.1.5             #adres IP serwera
proto udp                       #protokół transportowy tunelu
port 17997
user openvpn
group openvpn
ca cacert.pem                   #certyfikat CA
cert servercert.pem             #certyfikat serwera
key /usr/local/etc/openvpn/serverkey.pem     #klucz prywatny serwera
dh dh1024.pem                   #plik z parametrami protokołu D
server 10.0.0.0 255.255.255.0   #klasa adresowa z której przydzi
ifconfig-pool-persist ipp.txt   #plik zawierający informacje o p
client-config-dir ccd           #katalog z plikami specyficznych
keepalive 10 120
comp-lzo                        #algorytm kompresji
£ącze się do niego z Windows7:

Kod: Zaznacz cały

dev tun
client      //tryb klienta
remote 192.168.1.5
proto udp
port 17997 
nobind //nie wiążemy portu p
ca ca.crt  
cert xxx.crt
key xxx.key
comp-lzo
Połączenie jest zestawiane:

Kod: Zaznacz cały

Adres IPv4. . . . . . . . . . . . . : 10.0.0.6
 Maska podsieci. . . . . . . . . . : 255.255.255.252
Natomiast na serwerze wygląda to następująco:

Kod: Zaznacz cały

tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet addr:10.0.0.1  P-t-P:10.0.0.2  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
Komputery nie pingują się. Dziwne dla mnie jest to, że interfejsy na serwerze i kliencie posiadają adresację z innych zakresów.

Z góry dziękuję za sugestię co zepsułem.
Awatar użytkownika
Unit
Beginner
Posty: 356
Rejestracja: 27 marca 2007, 09:39

Post autor: Unit »

według tego co widać na tun0 to jest to połączenie point-to-point czyli w konfiguracji serwera powinieneś mieć linię

Kod: Zaznacz cały

ifconfig 10.0.0.1 10.0.0.2
a na kliencie:

Kod: Zaznacz cały

ifconfig 10.0.0.2 10.0.0.1
poldas
Beginner
Posty: 105
Rejestracja: 12 grudnia 2006, 08:51

Post autor: poldas »

dzięki @Unit, oczywiście pomogło

Przewiduje, że z OpenVPN będzie korzystała większa ilość użytkowników, a więc lepszym rozwiązaniem będzie automatyczne przydzielanie adresów IP przez serwer...
Jak powinna wyglądać konfiguracja z automatycznym przydzielaniem adresu IP?
Awatar użytkownika
Unit
Beginner
Posty: 356
Rejestracja: 27 marca 2007, 09:39

Post autor: Unit »

najprostsza metoda oparta na certyfikatach:

Kod: Zaznacz cały

apt-get install openvpn
cd /etc/openvpn
mkdir certs
cd certs
cp -R /usr/share/doc/openvpn/examples/easy-rsa/2.0/* .
Edytujemy plik /etc/openvpn/certs/vars i ustawiamy swoje dane:

Kod: Zaznacz cały

export KEY_COUNTRY="US"
export KEY_PROVINCE="CA"
export KEY_CITY="SanFrancisco"
export KEY_ORG="Fort-Funston"
export KEY_EMAIL="me@myhost.mydomain"
Generujemy certyfikaty dla serwera - wcześniej musimy wyeksportować wczesniej ustawione zmienne:

Kod: Zaznacz cały

source vars
./clean-all 
./build-ca 
./build-key-server server
./build-dh 
Generujemy certyfikat klientowi:

Kod: Zaznacz cały

source vars
./build-key --pass twoj_klient #tworzenie certyfikatów dla klienta - tutaj musisz zwrócić uwage na nazwę twoj_klient po tych nazwach będziesz rozdawał adresy IP
Konfiguracja klienta(jak widać klient będzie potrzebował z serwera 3 pliki: ca.crt, twoj_klient.crt, twoj_klient.key i oczywiście poniższa konfiguracja):

Kod: Zaznacz cały

dev tap     
pull        
tun-mtu 1500
remote 99.99.99.99
comp-lzo             
verb 4               
persist-tun          
persist-key          
tls-client           
ca ca.crt            
cert twoj_klient.crt     
key twoj_klient.key      
ping 10              
#for vista           
#route-method exe     
#route-delay 2
Twój server:

Kod: Zaznacz cały

dev tap     
tun-mtu 1500
server 192.168.1.0 255.255.255.0 #twoja siec vpn
ifconfig 192.168.1.1 255.255.255.0 # twoj gw vpn
ifconfig-pool-persist "IP.txt" 0         
user nobody                               
group nogroup                             
comp-lzo                                  
verb 1                                    
keepalive 10 120                          
tls-server                                
#certs
dh /etc/openvpn/certs/keys/dh1024.pem
ca /etc/openvpn/certs/keys/ca.crt
cert /etc/openvpn/certs/keys/server.crt
key /etc/openvpn/certs/keys/server.key
Plik IP.txt

Kod: Zaznacz cały

twoj_klient,192.168.1.2
w krótkim streszczeniu :-)
poldas
Beginner
Posty: 105
Rejestracja: 12 grudnia 2006, 08:51

Post autor: poldas »

czy mógłbyś wyjaśnić o co chodzi z linijką:

Kod: Zaznacz cały

ifconfig-pool-persist "IP.txt" 0   
i plikiem IP.txt?
Awatar użytkownika
diabolic3
Beginner
Posty: 121
Rejestracja: 12 grudnia 2007, 19:45
Lokalizacja: okolice Leżajska

Post autor: diabolic3 »

Dzięki temu wpisowi dany klient będzie zawsze miał taki sam adres IP, jaki mu zadeklarowałeś w tym pliku zgodnie z podanym wzorem.
poldas
Beginner
Posty: 105
Rejestracja: 12 grudnia 2006, 08:51

Post autor: poldas »

Czy nazwa klienta jest pobierana z certyfikatu?
Awatar użytkownika
Unit
Beginner
Posty: 356
Rejestracja: 27 marca 2007, 09:39

Post autor: Unit »

poldas pisze:Czy nazwa klienta jest pobierana z certyfikatu?
Tak, dokładniej nawet z pola CommonName.
ODPOWIEDZ