Come configurare OpenVPN per consentire ai client VPN di accedere a tutti i server all'interno della LAN del server?


12

Il mio IP LAN del server è 192.168.1.1 e c'è un server web intranet su 192.168.1.2 Il demone OpenVPN è configurato per fornire agli indirizzi 192.168.2. *.

C'è una push "route 192.168.1.0 255.255.255.0"linea nella configurazione che mi aspetto di consentire ai client VPN di accedere all'intera rete 192.168.1.0, ma possono accedere solo a 192.168.1.1 - il server VPN stesso.

Ho provato consentendo net.ipv4.ip_forward = 1in /etc/sysctl.conf, ma questo non aiuta.

Qualche idea?

PS: il server esegue Ubuntu 12.04.
PPS: OpenVPN viene eseguito in tunmodalità su UDP.


Caro @FrandsHansen, accetto solo risposte che allo stesso tempo 1. sono logicamente le risposte corrette alle domande, 2. sono state testate da me per funzionare.
Ivan,

Risposte:


19

Assicurarsi che l'IP Forwarding sia abilitato in modo automatico

echo 1 > /proc/sys/net/ipv4/ip_forward

Inoltre, affinché la route push funzioni, i server all'interno devono anche conoscere la route verso l'indirizzo IP del client OpenVPN. Quindi dovranno conoscere il percorso per 192.168.2.0/24

È molto probabile che iptables esegua il routing tramite mascheramento usando

/sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
/sbin/iptables -A FORWARD -i eth0 -o tun0 -m state --state RELATED,ESTABLISHED -j ACCEPT
/sbin/iptables -A FORWARD -i tun0 -o eth0 -j ACCEPT

echo 1 > /proc/sys/net/ipv4/ip_forward-bash: /proc/sys/net/ipv4/ip_forward: Permission denied- cosa significa in questo caso?
Ivan,

Molto probabilmente significa che non lo stai facendo come root. Prova a farlo come root
Frands Hansen,

È lo stesso effetto con sudo. Quale dovrebbe essere il risultato?
Ivan,

1
Mettere sudo davanti al comando non aggiungerà i privilegi al file (dopo il>), quindi è necessario elevare a root e quindi farlo.
Frands Hansen,

1
oppure usaecho 1 | sudo tee
ygrek il

2

Se la tua rete LAN è davvero 192.168.1.0/24, puoi avere molti problemi. Perché la maggior parte dei router ha quella rete predefinita. Pertanto, quando ci si trova sulla rete ospite, il computer può ottenere un IP dalla rete 192.168.1.0/24. Pertanto, non è possibile accedere alla rete remota, ma alla rete ospite. Suggerisco di scegliere un'altra rete per LAN e VPN. ad esempio 192.170.15.0/24 per LAN e 10.0.5.0/xx per vpn. xx dipende dalla quantità di client VPN connessi alla LAN.

ecco il mio script fw per openvpn

#!/bin/sh

iptables -A INPUT -i tun+ -j ACCEPT
iptables -A FORWARD -i tun+ -j ACCEPT
iptables -A INPUT -i tap+ -j ACCEPT
iptables -A FORWARD -i tap+ -j ACCEPT

# Allow packets from private subnets
iptables -A INPUT -i eth1 -j ACCEPT
iptables -A FORWARD -i eth1 -j ACCEPT

# i have multiple vpn networks
# 192.123.123.0/24 = LAN
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth1 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 10.9.0.0/30 -o eth1 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 10.9.1.0/30 -o eth1 -d 192.123.123.39 -j MASQUERADE # to single server access only

echo 1 > /proc/sys/net/ipv4/ip_forward

No, in realtà non è 192.168.1.0, solo 2 reti 192.168 diverse. # 0. Grazie per la risposta.
Ivan,

Se necessario, posso condividere la mia configurazione del server openvpn e la configurazione del client.
Guntis,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.