Tutorial para instalar o modulo OPENVPN no WEBMIN do UBUNTU-SERVER 10.10.

Iniciado por Leandr0, 20 de Janeiro de 2011, 12:06

tópico anterior - próximo tópico

Leandr0

Tutorial para instalar o modulo OPENVPN no WEBMIN do UBUNTU-SERVER 10.10.
Autor: LEandr0

Incluir o repositório do webmin no arquivo /etc/apt/sources.list

deb http://download.webmin.com/download/repository sarge contrib


sudo apt-get update

sudo apt-get install openvpn

sudo apt-get install webmin

criar o script abaixo:

vim /etc/home/installopenvpnweb.sh

###############Inicio####################

#!/bin/bash -ex

HOSTNAME=openvpn

# set hostname
echo "$HOSTNAME" > /etc/hostname
sed -i "s|127.0.1.1 \(.*\)|127.0.1.1 $HOSTNAME|" /etc/hosts

#update
apt-get update

#install openvpn and bridge-utils for bridged VPNs
DEBIAN_FRONTEND=noninteractive apt-get -y \
    -o DPkg::Options::=--force-confdef \
    -o DPkg::Options::=--force-confold \
    install bridge-utils openvpn

#install tools needed to install webmin-openvpn module
apt-get install -y fakeroot wget

#download webmin-openvpn module with package tool
wget http://www.webmin.com/makemoduledeb.pl
wget http://www.openit.it/downloads/OpenVPNadmin/openvpn-2.5.wbm.gz

#decompress module
tar zxvf openvpn-2.5.wbm.gz

#create deb package from module
perl makemoduledeb.pl --license GPL openvpn

#install module package
dpkg -i /tmp/webmin-openvpn_1.250_all.deb

#configure module
OVPN_CONFIG=/etc/webmin/openvpn/config
sed -i "s|cmd=/opt|cmd=/usr/share|" $OVPN_CONFIG
sed -i -e "s|plugin=/opt/webmin|plugin=/usr/lib|" -e "s|/ovpn_plugin||" $OVPN_CONFIG

#cleanup
rm -rf /tmp/debian-module
rm -rf /tmp/webmin-openvepn_1.250_all.deb
rm -rf /root/openvpn
rm /root/makemoduledeb.pl
rm /root/openvpn-2.5.wbm.gz
apt-get remove -y fakeroot wget

############end########################

Não esquecer de dar acesso ao script gerado:

chmod +x /etc/home/installopenvpnweb.sh

Excutar o script: ./installopenvpnweb.sh


Antes de começarmos as devidas configurações, vamos às seguintes definições:

Definições (ou seja, informações para ter antes de começar):
ovpn-lan-ip = o IP da máquina lan openvpn (ex. 192.168.1.125)
ovpn-int-ip = o IP de internet da máquina o openvpn (se se destinarem a utilização da Internet)
ovpn-net = o openvpn rede interna será usado para conexões de cliente (por exemplo, 10.0.0.0)
máscara ovpn = a máscara de sub-ovpn-net (por exemplo, 255.255.255.0)
openvpn config = webmin: Servidores> OpenVPN + CA (isto é onde a maioria da configuração é feita)

O melhor é atribuir um IP estático para a máquina OpenVPN. Isso pode ser feito através do gui fornecido por Turnkey Linux, via webmin ou via linha de comando.

* Criação da autoridade de certificação:

1. Entrar para webmin https://ipdoservidor:10000 e vá para a configuração do OpenVPN.

2. Escolha um nome para a autoridade de certificação.

3. Selecione um tamanho de chave diferente é desejado.

4. Modificar o resto dos campos para se adequar à organização.

5. Salvar. Isso vai demorar um pouco dependendo do tamanho da chave.

* Criação de chaves

6. Volte para o openvpn config e clicar sobre o "Certificate Authority List" do ícone.

7. Encontre a autoridade certificadora criada atualmente na lista e clique em "lista de Chaves" à direita.

8. Criar uma chave do servidor selecionando "servidor" para o servidor de chaves. Dar este nome uma chave facilmente reconhecível pois esta é a chave que o servidor openvpn irá usar no lado do servidor. A maioria dos valores deve ser correta. Eu gosto de mudar o e-mail para cada chave. As senhas não são necessários para as chaves.

9. Repita os passos 6-8 para criar as chaves do cliente, exceto deixar o valor servidor de chaves definido como "cliente". chaves do cliente também podem ser adicionados depois que o servidor é iniciado.

* Criar o servidor openpvn

10. Volte para o openvpn config e clique em "Listas de VPN" ícone.

11. Certifique-se que a autoridade de certificação apropriada é selecionada e clique em "Novo servidor de VPN".

12. Dê um nome ao servidor. A porta pode ser mudado ou deixado no padrão.

13. Selecione "sim" para "habilitar TLS e assumir a função de servidor durante o handshake TLS."

14. Em "IP Net atribui (servidor de opção)", digite o ovpn-net e ovpn máscara.

15. Selecione "sim" para "Persistir dados / unpersist ifconfig-pool de arquivo ... (opção ifconfig-pool-persist).

16. Para os "pacotes Criptografar com algoritmo de criptografia" escolher qualquer coisa com CBC. AES-256-CBC obras. Várias fontes online estaduais há problemas com algoritmos OFB e CFB. Sua milhagem pode variar.


17. Adicionar uma rota para a rede do lado do servidor em "Configuração Adicional", se desejar. Um exemplo é dado.

18. Salvar.

19. Na próxima tela, localize o servidor VPN e "Start". Então continue lendo, não está pronto ainda.

* Usuários de instalação

Se as chaves do cliente não ter sido criado a partir de passos 6-9, criar pelo menos uma chave agora.

20. Clique em "Lista de Clientes" na mesma área que você iniciou o servidor openvpn.

21. Clique em "VPN Client Novo".

22. Em "Nome", selecione a chave para usar para o usuário.

23. Na "remota (Remote IP)", digite o ovpn-int-ip ou o ip que os clientes usarão para se conectar ao servidor. O roteador gateway pode precisar ser configurado para encaminhar as ligações a partir da Internet para a rede interna IP do servidor OpenVPN.

24. Salvar.

25. Repita os passos 20-24 para todos os usuários que terão acesso ao servidor.

* Configuração do cliente OpenVPN

A beleza da interface wembin OpenVPN é que ele gera automaticamente os arquivos de configuração do cliente.

26. Sobre o "Cliente", página da etapa anterior, clique em "Export" para o usuário exportar a configuração do usuário que do lado do cliente.

27. Se estiver usando o OpenVPN GUI no Windows, extraia os arquivos para o diretório config openvpn (ex.: C: \ Program Files \ OpenVPN \ config)

* Encaminhamento

SSH na máquina OpenVPN e executar este para permitir o encaminhamento da rede local do servidor para os clientes conectados:
echo 1> / proc/sys/net/ipv4/ip_forward

Para permitir que o OpenVPN lado LAN acessar máquinas de clientes conectados, criar uma rota no roteador gateway. Este passo por vários roteadores.

Em WRT-DD:> Configuração avançada de roteamento
Rota Nome: qualquer
Destino LAN NET: ovpn-net
Subnet Mast: máscara ovpn-
Gateway: ovpn-lan-ip

Certifique-se de quaisquer serviços, como o samba irá permitir conexões a partir da rede OpenVPN (ovpn-net).

Caso tanto o cliente como servidor possuam Firewall basta acrescentar as seguintes regras:

### VPN
iptables -A INPUT -i eth0 -p UDP --dport 1194 -j ACCEPT
iptables -I INPUT -i tun+ -j ACCEPT
iptables -I FORWARD -i tun+ -j ACCEPT
iptables -I FORWARD -o tun+ -j ACCEPT
iptables -I OUTPUT -o tun+ -j ACCEPT

## Servidor VPN 5200
iptables -A FORWARD -o eth0 -p UDP --dport 1194 -j ACCEPT
iptables -A OUTPUT -o eth0 -p UDP --dport 1194 -j ACCEPT

Com o acesso a OPENVPN via webmin fica + pratico e rápido gerar novas chaves para novos clientes.

Agradecimentos: http://www.turnkeylinux.org/forum/support/20100102/problem-configuring-webmin-module-manually