Como configurar o OpenVPN para permitir que os clientes VPN acessem todos os servidores na LAN do servidor?

12

O IP da LAN do meu servidor é 192.168.1.1 e há um servidor da Web da intranet em 192.168.1.2 O daemon OpenVPN está configurado para fornecer aos clientes 192.168.2. * Endereços.

Há uma push "route 192.168.1.0 255.255.255.0"linha na configuração que espero permitir que os clientes VPN acessem toda a rede 192.168.1.0, mas eles só podem acessar 192.168.1.1 - o próprio servidor VPN.

Eu tentei ativar net.ipv4.ip_forward = 1, /etc/sysctl.confmas isso não ajuda.

Alguma ideia?

PS: O servidor executa o Ubuntu 12.04.
PPS: O OpenVPN é executado no tunmodo sobre UDP.

Ivan
fonte
Caro @FrandsHansen, só aceito respostas que, ao mesmo tempo, 1. são respostas logicamente corretas para as perguntas, 2. foram testadas por mim para funcionar.
Ivan Ivan

Respostas:

18

Certifique-se de que o encaminhamento de IP esteja ativado ativamente

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

Além disso, para que o encaminhamento de rota funcione, os servidores internos também precisam conhecer a rota para o endereço IP do cliente OpenVPN. Portanto, eles precisam saber o caminho para 192.168.2.0/24

Você provavelmente pode fazer com que o iptables faça o roteamento via mascarada 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
Frands Hansen
fonte
echo 1 > /proc/sys/net/ipv4/ip_forward-bash: /proc/sys/net/ipv4/ip_forward: Permission denied- o que significa neste caso?
197 Ivan Ivan
Muito provavelmente, isso significa que você não está fazendo isso como raiz. Tente fazê-lo como root
Frands Hansen
É apenas o mesmo efeito com sudo. Qual é o resultado pretendido?
1626 Ivan Ivan
1
Colocar o sudo na frente do comando não adicionará os privilégios ao arquivo (após o>); portanto, você deve elevar para o root e depois fazê-lo.
Frands Hansen
1
ou useecho 1 | sudo tee
ygrek 27/02
2

Se a sua rede LAN realmente for 192.168.1.0/24, você poderá obter muitos problemas. Porque a maioria dos roteadores tem essa rede padrão. Portanto, quando você estiver na rede de convidados, seu computador poderá obter um IP da rede 192.168.1.0/24. Portanto, você não pode acessar sua rede remota, mas a rede de convidados. Sugiro escolher outra rede para sua LAN e VPN. por exemplo 192.170.15.0/24 para LAN e 10.0.5.0/xx para vpn. xx depende de quanto os clientes VPN estão se conectando à LAN.

aqui está o meu script fw para 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
Guntis
fonte
Não, na verdade não é 192.168.1.0, apenas duas redes 192.168. #. 0 diferentes. Obrigado pela resposta.
Ivan
Se você precisar, eu posso compartilhar minha configuração de servidor openvpn e configuração de cliente.
Guntis