Boas Não sei se já existe algo do género por aqui mas eu não encontrei. Como tive de fazer o documento para a empresa partilho aqui convosco. Nota isto é um ponto de partida, cada um saberá as necessidades das vossas redes, por exemplo no guia não estão contempladas regras de iptables e o mesmo assume que o a máquina de vpn será o gateway nas respectivas redes, senão o for já sabem nos vossos routers terão de criar rotas para o tráfego destinado á vpn ir parar à máquina que estabelece a vpn. OpenVPN Lan-to-Lan Requisitos: 2 Máquinas com ubuntu server. Estas máquinas deverão ter no mínimo 2 interfaces de rede cada uma. Openvpn Cenário: Servidor VPN SITE A interface wan 172.16.0.1 interface lan 192.168.1.254 (gateway das máquinas dessa rede) Cliente VPN SITE B interface wan 172.17.0.1 interface lan 192.168.2.254 (gateway das máquinas dessa rede) Apóster instalado o SO nas respetivas máquinas: sudo apt-get update sudo apt-get install openvpn sudo mkdir /etc/openvpn/easy-rsa/ sudo cp -r /usr/share/doc/openvpn/examples/easy-rsa/2.0/* /etc/openvpn/easy-rsa sudo vi /etc/openvpn/easy-rsa/vars Alterem o que está entre aspas para o que quiserem. exportKEY_COUNTRY="PT" exportKEY_PROVINCE="LX" exportKEY_CITY="Lisbon" exportKEY_ORG="MyCompany" exportKEY_EMAIL="[email protected]" Geraros certificados para o server: sudo su mkdir /etc/openvpn/easy-rsa/keys mkdir /etc/openvpn/ccd cd /etc/openvpn/easy-rsa/ source ./vars ./clean-all ./build-dh ./pkitool --initca ./pkitool --server server cd keys cp server.crt server.key ca.crt dh1024.pem /etc/openvpn exit Criaro ficheiro de configuração para o servidor: cd /etc/openvpn vi server.conf local172.16.0.1 port 1194 proto udp dev tun0 caca.crt cert server.crt key server.key dhdh1024.pem server 10.8.0.0 255.255.255.0 ifconfig-pool-persistipp.txt push "route 192.168.1.0255.255.255.0" client-config-dir /etc/openvpn/ccd route192.168.2.0 255.255.255.0 client-to-client keepalive 10120 user nobody groupnogroup persist-key persist-tun status/var/log/openvpn-status.log log-append /var/log/openvpn.log verb 3 Geraros certificados para a máquina cliente: cd /etc/openvpn/easy-rsa sudo su source ./vars ./pkitool hostname-da-maquina-cliente vi /etc/openvpn/ccd/hostname-da-maquina-cliente iroute 192.168.2.0 255.255.255.0 exit Copiarpara a máquina cliente os certificados (em /etc/openvpn): ca.crt hostname-da-maquina-cliente.crt hostname-da-maquina-cliente.key Criaro ficheiro de configuração da máquina cliente: vi /etc/openvpn/client.conf client dev tun proto udp remote 172.16.0.1 1194 nobind user nobody group nogroup persist-key persist-tun ca ca.crt cert hostname-da-maquina-cliente.crt key hostname-da-maquina-cliente.key verb 3 keepalive 10 60 Ativaro routing entre interfaces em ambas as máquinas vi /etc/rc.local echo “1” >/proc/sys/net/ipv4/ip_forward REBOOTàs máquinas Qualquer comentário/sugestão/crítica será bem vindo Obrigado
Não tenho muita experiência com openvpn, mas do que usei, pareceu-se bastante bom. Numa ligação lan-to-lan é site to site, certo? Nas duas máquinas é criado um serviço do openvpn que arranca com as máquinas?
Sim as máquinas assim que arrancam, ligam o openvpn e estabelecem a ligação e mantêm-na up sempre que haja conectividade. Sim é site to site
Boas. Aproveitei este tutorial para configurar o openvpn no meu raspberry pi. Consigo estabelecer ligação com o servidor mas não consigo aceder à Internet nem a nenhum endereço local. Alguma ideia do que poderei ter configurado mal? Obrigado.
Se te consegues ligar ao servidor não fizeste nada mal, a questão é que não está a haver encaminhamento do tráfego. Tens de configurar o ficheiro das IPTables para fazerem o reencaminhamento e depois abrir a porta no router. Eu devo ter seguido esse tutorial e mais uns quantos e embora estivesse tudo bem configurado o problema estava sempre no encaminhamento. O meu IP para o openvpn é o 10.8.0.1, e usei esta regra ->
Talvez te falte isto (correr no terminal cada linha): iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE iptables -A FORWARD -i tun0 -s 10.8.0.0/24 -o eth0 -j ACCEPT iptables -A FORWARD -i eth0 -o tun0 -m state -–state ESTABLISHED,RELATED -j ACCEPT PS: Tendo em conta que a gama de IPs da VPN seja 10.8.0.0/24, a interface principal eth0 e o tun, o tun0. Se for isto deve funcionar logo à primeira.
NP, já instalei alguns servidores de OpenVPN, fiz sempre isso e deu Secalhar era boa ideia adicionar ao tut do tópico.
Queria agora configurar o cliente para apenas usar a vpn para endereços locais e usar a minha ligação à internet para todos os outros endereços. Estive a pesquisar, e tenho de definir as "route"s no ficheiro de configuração do cliente, mas não consegui chegar a nenhuma conclusão. Consegues dar-me umas dicas que me ajudem a configurar isto desta forma?
Hmmm sendo assim tiras a linha do server push "redirect-gateway def1" e metes: push "route 192.168.1.0 255.255.255.0" (tal como indicado no tutorial do post) O problema é que se tiveres a rede onde está com endereços 192.168.1.X a rede de destino tem de ter diferente, ex: 192.168.2.X e no push mudas o 192.168.1.X para 192.168.2.X
Mas nesse caso todos os clientes que se liguem têm essa limitação certo? Eu queria que cada cliente pudesse escolher a configuração desejada.
A única maneira é mudar nas configurações do client. Mas nunca experimentei. Mas queres que quisesse escolher como assim? Que a VPN em vez de server só para endereços locais também fizesse routing a todo o trafego? Ficas com 2 versões de configuração de client: Uma apenas para ligações locais e outra para todo o trafego. Depois na GUI escolhes qual usar.
Boas pessoal Venho desenterrar este tópico pois tenho umas dúvidas Tenho uma vps com vpn e uma box Android amiko A5 como cliente/Server com vpn instalada A minha questão é se possível que só o IP da vpn, 192.168.2xx.xxx, passe pela vpn e todo o outro tráfego, 192.168.1.x, passe fora da vpn.
No file cliente não tenho essa instrução Código: setenv UV_ID 75fcac158871436e820ba825c8b87xx setenv UV_NAME snowy-fields-6622 client dev tun dev-type tun remote 2a03:b0c0:1:d0::xxxx:xxx143xx udp6 remote 178.62.x7.xxx143xx udp remote-random nobind persist-tun cipher AES-128-CBC auth SHA1 verb 2 mute 3 push-peer-info ping 10 ping-restart 60 hand-window 70 server-poll-timeout 4 reneg-sec 2592000 sndbuf 393216 rcvbuf 393216 max-routes 1000 remote-cert-tls server comp-lzo no key-direction 1 <ca> -----BEGIN CERTIFICATE----- Acho que acidentalmente consegui... No pritunl, nos servers removi esta route 0.0.0.0/0 Assim todo o tráfego que não é dirigido aos ip´s da vpn passa fora da vpn
Interessante forma. No passado quando estive a residir fora do Pais tinha algo "parecido" em que tinha um router que se ligava na WAN à minha VPN em portugal, assim em casa a minha rede era a de PT.
Eu uso o pritunl e já consegui, mas não tenho essa opção na configuração do Server. Mas bastou remover a rota 0.0.0.0/0 e adicionar outra com a gama dos IP's da vpn, pois tenho 2 servers a trabalhar em conjunto