PDA

View Full Version : VPN che fa da proxy per alcuni IP


felix085
23-04-2009, 16:37
Ciao,
ho la necessità di creare una vpn un po particolare:
Oltre a rendermi accessibile le risorse della lan del server (cosa che ho già fatto con successo)
Deve far in modo che per alcuni indirizzi internet (ad esempio 88.xx.xx.xx) il traffico deve passare dal gateway del server; In soldoni il client deve avere lo stesso ip esterno del server (per alcuni ip di destinazione).

Il server è linux con openVPN, mentre il gateway è un router telecom/alice

Avete idee in proposito?

PS:allego piccolo schema (ovviamente è volutamente errato) di quello che voglio realizzare :D
http://g.imagehost.org/t/0229/InitialSample.jpg (http://g.imagehost.org/view/0229/InitialSample)

bgpop
23-04-2009, 18:15
Su openVPN non saprei, ma sul client VPN PPTP di windows XP puoi impostare l'opzione "usa gateway predefinito sulla rete remota" per far si che il pc esca tramite l'indirizzo remoto.

matcy
23-04-2009, 18:22
spiega meglio cosa vuoi ottenere e perché.
magari si trova una soluzione pulita

felix085
24-04-2009, 08:43
Su openVPN non saprei, ma sul client VPN PPTP di windows XP puoi impostare l'opzione "usa gateway predefinito sulla rete remota" per far si che il pc esca tramite l'indirizzo remoto.
Grazie bgpop ma credo che non sia praticabile con openVPN

spiega meglio cosa vuoi ottenere e perché.
magari si trova una soluzione pulita
La VPN deve fare questo:

Di default il client quando deve andare su internet (es www.hwupgrade.it) passa dal proprio gateway.

Io voglio che il client quando deve andare su alcuni IP internet (es pippo.paperino.it) deve passare per il gateway del server, perché a pippo.paparino.it può accedere solo IP del server.


In altre parole
Due macchine, in connessione OpenVPN "tun", di cui la prima (server) con router ADSL, e la seconda (client) che deve poter instradare quasi il traffico attraverso la prima macchina per poi uscire su internet (con l'IP pubblico dell'ADSL ovviamente).

Cmq credo che guardando lo schema sopra si capisca molto di più

Empyrium
24-04-2009, 13:00
Devi modificare le tabelle di routing del client, specificando come gateway per i range IP che ti interessano l'endpoint della VPN (che ovviamente deve essere configurato a dovere).

Per esempio:

192.168.0.0 / 255.255.255.0 -> interfaccia VPN
88.0.0.0 / 255.0.0.0 -> interfaccia VPN
0.0.0.0 / 0.0.0.0 -> default gw

In alternativa, puoi giocare con i DNS (ma solo se non usi direttamente gli IP e questi IP particolari appartengono alla rete aziendale).

felix085
24-04-2009, 13:16
Devi modificare le tabelle di routing del client, specificando come gateway per i range IP che ti interessano l'endpoint della VPN (che ovviamente deve essere configurato a dovere).

E' proprio questo che non riesco a fare :(

O meglio nella configurazione del server metto:

push "route 88.11.0.0 255.255.0.0"


Ma quando il client tenta di accedere a questi IP, le richieste vanno in timeout.

Empyrium
24-04-2009, 17:40
Hai abilitato l'IP forwarding sul server?
Hai controllato che il firewall non blocchi il traffico?
Se fai un semplice traceroute dal client verso l'IP 88.x.x.x, arrivi almeno al server o neanche quello?

felix085
27-04-2009, 09:21
Purtroppo sono molto a digiuno di iptables :cry:
Sono riuscito a fargli capire che per alcuni IP deve passare per il server
Ma da li non escono :muro:
Come faccio ad istruire iptables per fare questo?

Ho trovato questa regola, protrebbe andare?

iptables -t nat -A PREROUTING -s 10.0.0.0/24 -d IP_LOCALE_SERVER
-j DNAT --to-destination IP_DEL_ROUTER

Empyrium
27-04-2009, 13:14
No, abilita l'IP forwarding e ripassati la catena FORWARD. Con una breve ricerca su Google troverai miliardi di tutorial ;)

felix085
27-04-2009, 15:00
Credo di esserci riuscito :sofico:
Allora oltre ad abilitare IP porwarding ho messo questa regola:
iptables -t nat -A POSTROUTING -s 10.0.0.0/24-d 0/0 -o eth0 -j MASQUERADE

Mentre nella configurazione del server VPN ho messo qualcosa del genere:
push "route 88.140.80.0 255.255.255.0 10.0.0.1"