Pe GW:
ip rule add from 172.24.100.254 table 69;
ip route add default via 10.111.0.4 table 69 on-link;
echo Sanatate\!;
Daca-i CentOS atunci:
echo 'from 172.24.100.254 table 69' >>
/etc/sysconfig/network-scripts/rule-ethX
echo 'default via 10.111.0.4 table 69 on-link' >>
/etc/sysconfig/network-scripts/route-ethX
...eventual, data vrei tu sa fie frumos:
echo -e 69\\twhatever >> /etc/iproute2/rt_tables
...ca sa nu pui minunile astea shitwaristing/scurbuntistic/gentFAIListic
prin rc.local sau sa scrii vreun modul de kernel sau vreo trasnaie care sa
faca asta.
Cred ca ai nevoie de on-link pentru acele zile triste in care
openvpn-ul pierde temporar conectivitatea.
Daca intre GW si Px au cite o interfata in acelasi LAN atunci
openvpn sau alte cascadorii inutile cu tunele ipip/gre nu mai sint
necesare.
Evident ca ar fi fost bine sa pui aici configuratia completa
pentru nodurile implicate, dar ca sa fiu sigur mentionez si asta: P3 tre'
sa aiba o ruta pentru IP-ul 172.24.100.254 (sau subnetul din care face
parte) via IP-ul dinspre el al lui GW. Altfel cel mai probabil pachetele
vor sfirsi in neant blocate de prea-fericitul dar foarte mult uritul
rp_filter (route path filtering FTW), P3 nestiind ce sa faca cu pachetele
respective.
On Mon, 25 Sep 2017, Catalin Bucur wrote:
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,
--
I'm a genuine network and sys admin.
I swear, I curse, I stick my dick into things in order to fix them.
So don't ack like you're having a bad day with me around,
'cause I'll have fix to you and will not be able to fight it!
_______________________________________________
RLUG mailing list
RLUG@lists.lug.ro
http://lists.lug.ro/mailman/listinfo/rlug_lists.lug.ro