OpenVPN + iproute2

Catalin Bucur <[email protected]>
Newsgroups gmane.org.user-groups.rlug.general
Message-ID <[email protected]>
Salutare,


Intr-un mediu virtual de test am 5 VM-uri cu CentOS:
   P1, P2, P3 - provideri de net
   GW - configurat cu 3 tabele de rutare iproute2
   HOST - in "spatele" GW-ului, incerc sa-l rutez prin P3
am configurat un policy based routing relativ basic. Sa zicem ca am 2 
provideri de net P1 si P2 la care am configurat fail-over si un al 
treilea "provider" P3. Intre P3 si GW e configurat un vpn (OpenVPN) prin 
care vreau sa trimit traficul de la un anumit ip, indiferent daca P1 sau 
P2 sunt alive.

Chestiunea cu fail-over intre P1 si P2 e rezolvata, durerea intervine la 
rutarea traficului prin P3. Dintr-un anumit motiv pentru care nu gasesc 
inca explicatie, source based routing-ul functioneaza (pachetele sunt 
trimise prin vpn pe GW), dar nu ajung in celelalt capat (P3). Daca in 
loc de OpenVPN folosesc un tunel IPIP problema e rezolvata.

Incerc sa dau ceva detalii fara sa creez un cearsaf, mai pot reveni cu 
suplimentari daca e cazul.

172.24.100.254 e HOST-ul pe care vreau sa-l rutez prin vpn
10.13.0.2 e GW-ul pe care e configurat iproute2
10.13.0.1 e P3
10.111.0.0/24 e clasa de vpn intre GW si P3 (10.111.0.4 e pe P3)

==========  CONFIG OpenVPN Server (GW) ==========
port 1194
proto udp
dev tun
ca keys/ca.crt
cert keys/server.crt
key keys/server.key  # This file should be kept secret
dh keys/dh2048.pem
topology subnet
server 10.111.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "route 172.24.100.0 255.255.255.0"
keepalive 10 120
tls-auth keys/ta.key 0 # This file is secret
cipher AES-256-CBC
persist-key
persist-tun
status openvpn-status.log
log-append  /var/log/openvpn.log
verb 3
==================================================

==========  CONFIG OpenVPN Client (P3)  ==========
client
dev tun
proto udp
remote 10.13.0.2 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca client/ca.crt
cert client/client.crt
key client/client.key
remote-cert-tls server
tls-auth client/ta.key 1
cipher AES-256-CBC
verb 3
==================================================

Legat de iproute2 eu zic ca e totul functional, asa cum vad si in rute:

[root@IPR2-GW ~]# ip route get to 8.8.8.8 from 172.24.100.254 iif eth3
8.8.8.8 from 172.24.100.254 via 10.111.0.4 dev tun0
     cache  iif *

Dar nu vad niciun pachet venind dinspre GW catre interfata de vpn de pe P3.
Folosind un tunel IPIP simplu cu aceleasi ip-uri, interfete etc:

Pe GW:
ip tunnel add tun0 mode ipip remote 10.13.0.1 local 10.13.0.2
ip link set tun0 up
ip addr add 10.111.0.1/24 dev tun0

Pe P3:
ip tunnel add tun0 mode ipip remote 10.13.0.2 local 10.13.0.1
ip link set tun0 up
ip addr add 10.111.0.4/24 dev tun0

totul functioneaza foarte bine, vad pachetele pe interfata de tunneling 
de pe P3, mai departe pot face ce vreau cu traficul respectiv.


Configuratia de OpenVPN e simpla/clasica, nu-mi dau seama ce vrea de la 
mine ca sa nu imi blocheze acel trafic.
Daca aveti idei va rog sa mi le impartasiti, eu m-am saturat de facut 
tot felul de teste :-)


Mersi,
-- 
Catalin Bucur
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.