Criando Servidor VPN no Debian 8
Requisitos:
·
Tenha um Servidor VPS (porem podendo
optar por usar a própria máquina para possíveis testes, a VPS é recomendado
para quem quer segurança, desempenho e rapidez por assim dizer)
·
De preferência use o Debian 8 podendo optar
pelo Ubuntu com a última atualização (#apt-get update && apt-get
upgrade)
Instale o Servidor OpenVPN Server e o Easy-RSA
para Criptografia
Comandos:
#
apt-get install openvpn easy-rsa
Configurando a configuração do servidor OpenVPN, o arquivo
foi extraído na / etc / openvpn
#gunzip -c /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz> /etc/openvpn/server.conf
Mantenha o nome do arquivo de configuração, ele deve
se chamar server.conf
Abra e edite o arquivo de configuração do servidor
OpenVPN
#vim /etc/openvpn/server.conf
Neste
arquivo, precisaremos fazer quatro alterações;
- · Servidor seguro com criptografia de nível superior
- · Encaminhar o tráfego da web para o destino
- · Impedir que as solicitações DNS vazem fora da conexão VPN
- · Permissões de configuração
Dobre o comprimento da chave
RSA usado ao gerar chaves do servidor e do cliente
Procure
dh dh1024.pem, apague ou mude para dh2048.pem
# Diffie parâmetros hellman.
# Gere seus próprios com:
# openssl dhparam -out dh1024.pem 1024
# Substitua 2048 por 1024 se você estiver usando
chaves de # 2048 bits.
# dh dh1024.pem
dh dh2048.pem
Redirecionar todo o tráfego para o local adequado
Descomente
push "redirect-gateway def1 bypass-dhcp" para que o servidor VPN
passe o tráfego da web do cliente para o seu destino
empurre "redirecionamento-gateway def1 bypass-dhcp"
Configure o servidor para
usar o OpenDNS para resolução de DNS para evitar que as solicitações de DNS
vazem para fora da conexão VPN.
Uncomment push “dhcp-option DNS 208.67.222.222” e
pressione “dhcp-option DNS 208.67.220.220”. Deve ficar assim quando
terminar:
#
Servidores DNS fornecidos pelo opendns.com.
pressione
"dhcp-option DNS 208.67.222.222"
push
"dhcp-opção DNS 208.67.220.220"
Defina as permissões no
server.conf para o usuário nobody e group nogroup:
#
sistemas não-Windows.
usuário
ninguém
grupo
nogroup
Ativar encaminhamento de
pacotes
Diga
ao kernel do servidor para encaminhar o tráfego dos serviços do cliente para a
Internet. Caso contrário, o tráfego será interrompido no servidor.
Ative o encaminhamento de pacotes durante o tempo de execução, digitando este comando:
Ative o encaminhamento de pacotes durante o tempo de execução, digitando este comando:
#echo
1> / proc / sys / net / ipv4 / ip_forward
Torne permanente, edite
/etc/sysctl.conf, remova o comentário net.ipv4.ip forward
#vim
/etc/sysctl.conf
#
Descomente a próxima linha para habilitar o encaminhamento de pacotes para IPv4
net.ipv4.ip_forward
= 1
Instalar e configurar o
firewall do ufw
#
apt-get install ufw
Defina
o UFW para permitir o SSH:
#ufw permite ssh
Use
o OpenVPN sobre UDP, o UFW permite o tráfego UDP pela porta 1194.
#ufw
permitir 1194 / udp
A
política de encaminhamento do UFW precisa ser configurada para ACCEPT,
localizar e alterar DEFAULT_FORWARD_POLICY = ‘’DROP” para
DEFAULT_FORWARD_POLICY = ‘’ACCEPT”
#vim
/ etc / default / ufw
DEFAULT_FORWARD_POLICY
= "ACEITAR"
Adicionar regras UFW para
NAT (conversão de endereço de rede) e mascaramento de IP de clientes
conectados.
Primeiro, encontre a interface de rede pública do
servidor (eth0, venet0, wlp11s0, etc)
rota
#ip | grep default
A interface pública deve seguir a palavra
"dev". Por exemplo, o resultado mostra a interface de rede
pública chamada eth0
padrão
via 123.456.78.9 dev eth0
Em seguida, adicione as seguintes REGRAS OPENVPN no
topo:
#vim
/etc/ufw/before.rules
#
rules.before
#
#
Regras que devem ser executadas antes que a linha de comando do ufw inclua
regras.
Regras
customizadas devem ser adicionadas a uma destas cadeias:
#
ufw-before-input
#
ufw antes da saída
#
ufw-before-forward
#
#
START OPENVPN REGRAS
#
NAT table rules
*
nat
:
POSTROUTANDO ACEITAR [0: 0]
#
permitir tráfego de cliente OpenVPN para eth0
-A
POSTROUTING -s 10.8.0.0/8 -o eth0 -j MASQUERADE
COMMIT
#
Fim OpenVPN REGRAS
#
não exclua essas linhas necessárias, caso contrário, haverá erros
*
filtro
Ativar
alteração do ufw
#ufw
enable
Verifique
o status do UFW
#ufw
status
Status:
ativo
Para
a ação de
-
------ ----
22
ALLOW Anywhere
1194
/ udp PERMIRE-LHE em qualquer lugar
22
(v6) PERMITA QUALQUER LUGAR (v6)
1194
/ udp (v6) PERMITIR AQUI a qualquer lugar (v6)
Reinicie o funcionamento em rede e o OpenVPN
#
/ etc / init.d / restart de rede
Configurar e construir a autoridade de certificação
O
OpenVPN usa certificados para criptografar o tráfego. Configurar e gerar
nossa própria autoridade de certificação (CA). O OpenVPN suporta
autenticação bidirecional baseada em certificados, o que significa que o
cliente deve autenticar o certificado do servidor e o servidor deve autenticar
o certificado do cliente antes que a confiança mútua seja
estabelecida. Usaremos os scripts do Easy RSA para fazer isso.
Primeira
cópia dos scripts de geração do Easy-RSA.
#cp
-r / usr / share / easy-rsa / / etc / openvpn
Em
seguida, crie um diretório para abrigar a chave.
#mkdir
/ etc / openvpn / easy-rsa / keys
Em
seguida, vamos definir parâmetros para o nosso certificado.
#vim
/ etc / openvpn / easy-rsa / vars
As
variáveis podem
ser alteradas de acordo com nossa preferência.
export
KEY_COUNTRY = Exportação "US"
KEY_PROVINCE
= Exportação "TX"
KEY_CITY
= Exportação "Dallas"
KEY_ORG
= "Exportação da minha empresa"
KEY_EMAIL
= "sammy@example.com"
export
KEY_OU = "MYOrganizationalUnit"
No
mesmo arquivo vars, edite também esta linha abaixo.
Por simplicidade, usaremos o
servidor como o nome da chave. Se você quiser usar um nome diferente,
também precisará atualizar os arquivos de configuração do OpenVPN que fazem
referência a server.key e server.crt.
Abaixo,
no mesmo arquivo, vamos especificar o certificado correto. Procure a
linha, logo após o bloco modificado anteriormente que lê.
Altere o valor padrão "export KEY_NAME" do EasyRSA para o nome do servidor desejado. Este tutorial usará o nome "servidor"
Altere o valor padrão "export KEY_NAME" do EasyRSA para o nome do servidor desejado. Este tutorial usará o nome "servidor"
#
X509
Exportação
do campo Assunto KEY_NAME = "servidor"
Em
seguida, geraremos os parâmetros do Diffie-Helman usando uma ferramenta OpenSSL
integrada chamada dhparam. O sinalizador -out especifica onde salvar os
novos parâmetros.
#openssl
dhparam -out /etc/openvpn/dh2048.pem 2048
Nosso
certificado agora é gerado e é hora de gerar uma chave.
Primeiro,
vamos mudar para o diretório easy-rsa.
#cd
/ etc / openvpn / easy-rsa
Agora,
podemos começar a configurar a própria CA. Primeiro, inicialize a
infra-estrutura de chave pública (PKI).
Preste atenção no ponto (.) E no espaço na frente do comando ./vars. Isso significa o diretório de trabalho atual (origem).
Preste atenção no ponto (.) E no espaço na frente do comando ./vars. Isso significa o diretório de trabalho atual (origem).
#.
./vars
O
seguinte aviso será impresso. Não se preocupe, pois o diretório
especificado no aviso está vazio. NOTA: Se você executar ./clean-all, eu
farei um rm -rf em / etc / openvpn / easy-rsa / keys.
Em seguida, limparemos todas as outras chaves que possam interferir na nossa instalação.
Em seguida, limparemos todas as outras chaves que possam interferir na nossa instalação.
#./limpar
tudo
Finalmente,
vamos construir a CA usando um comando OpenSSL. Este comando solicitará
uma confirmação das variáveis “Nome Distinto” que foram
inseridas anteriormente. Pressione ENTER
para aceitar os valores existentes.
#.
/ build-ca
Pressione
ENTER para passar por cada prompt, uma vez que você acabou de definir seus
valores no arquivo vars.
A
autoridade de certificação agora está configurada.
Gere um certificado e chave
para o servidor
Ainda
trabalhando em / etc / openvpn / easy-rsa, construa sua chave com o nome do
servidor. Isso foi especificado anteriormente como KEY_NAME no seu arquivo
de configuração. O padrão para este tutorial é servidor.
#
cd / etc / openvpn / easy-rsa
#.
/ servidor do servidor de chaves de compilação
Novamente,
a saída solicitará a confirmação do Nome Distinto. Pressione ENTER para
aceitar valores padrão definidos. Desta vez, haverá dois prompts
adicionais.
Por favor, insira os seguintes atributos 'extras'
para serem enviados com sua solicitação de certificado
Por favor, insira os seguintes atributos 'extras'
para serem enviados com sua solicitação de certificado
Uma
senha de desafio []:
um
nome de empresa opcional []:
Ambos
devem ser deixados em branco, basta pressionar ENTER para passar.
Duas consultas adicionais no final requerem uma resposta positiva (y):
Duas consultas adicionais no final requerem uma resposta positiva (y):
Assine
o certificado? [y / n]
1
de 1 pedido de certificado é certificado, confirmar? [y / n]
Você
será solicitado com o seguinte, indicando sucesso.
Saída
Gravar
banco de dados com 1 novas entradas
Base
de dados atualizada
Mova os Certificados e
Chaves do Servidor
Vamos agora copiar o certificado e a chave para / etc / openvpn, pois o OpenVPN irá procurar naquele diretório pela CA, certificado e chave do servidor.
#cp
/etc/openvpn/easy-rsa/keys/{server.crt,server.key,ca.crt} / etc / openvpn
Você
pode verificar se a cópia foi bem sucedida com:
#ls
-la / etc / openvpn
Você
deve ver os arquivos de certificado e chave (server.crt, server.key,
ca.crt)
Neste ponto, o servidor OpenVPN está pronto para ser usado . Comece e verifique o status.
Neste ponto, o servidor OpenVPN está pronto para ser usado . Comece e verifique o status.
#service
openvpn start
Verifique se o openvps foi instalado com sucesso com o comando ifconfig e veja se a interface tun0 existem
#ifconfig
tun0
Enlace
de ligação: UNSPEC HWaddr 00-0000-00555598-00-00-00
inet addr: 10.8.0.1 PtP: 10.8.0.2
Mask: 255.255.255.255
UP POINTOPOINT EXECUTANDO NOARP
MULTICAST MTU: 1500 Métrica: 1
Pacotes RX: 0 erros: 0 descartados: 0
overruns: 0 frame: 0
Pacotes TX: 0 erros: 0 dropados: 0
overruns: 0 transportador: 0
colisões: 0 txqueuelen: 100
bytes RX: 0 (0,0 B) bytes TX: 0 (0,0
B)
Gerar Certificados e Chaves
para Clientes
Nesta
etapa, usamos a CA do servidor para gerar certificados e chaves para cada
dispositivo cliente que se conectará à VPN.
Edifício chave e certificado
É
ideal para cada cliente se conectar à VPN para ter seu próprio certificado e
chave exclusivos. Isso é preferível para gerar um certificado geral e uma
chave para usar entre todos os dispositivos do cliente.
Nota:
Por padrão, o OpenVPN não permite conexões simultâneas ao servidor de clientes
usando o mesmo certificado e chave. (Veja duplicate-cn em
/etc/openvpn/server.conf.)
Para
criar credenciais de autenticação separadas para cada dispositivo que você
pretende conectar à VPN, você deve concluir esta etapa para cada dispositivo,
mas altere o nome client1 abaixo para algo diferente, como client2. Com
credenciais separadas por dispositivo, elas podem ser desativadas
posteriormente no servidor individualmente, se necessário.
Como
fizemos com a chave do servidor, agora construímos um para nosso exemplo
client1. Você ainda deve estar trabalhando em / etc / openvpn / easy-rsa.
#cd / etc / openvpn / easy-rsa
#. / chave de compilação client1
Mais
uma vez, você será solicitado a alterar ou confirmar as variáveis Nome Distinto e
esses dois prompts que devem ser deixados em branco. Pressione ENTER para
aceitar os padrões.
Por
favor, insira os seguintes atributos 'extras'
para
serem enviados com sua solicitação de certificado
Uma
senha de desafio []:
Um
nome de empresa opcional []:
Como
antes, essas duas confirmações no final do processo de compilação requerem uma
resposta (y):
Assine
o certificado? [y / n]
1
de 1 pedido de certificado é certificado, confirmar? [y / n]
Você
receberá a seguinte saída, confirmando a criação bem-sucedida da chave.
Escreva
banco de dados com 1 novas entradas.
Banco
de dados atualizado
Em
seguida, copiaremos a chave gerada para o diretório de chaves do Easy-RSA que
criamos anteriormente. Note que nós mudamos a extensão de .conf para
.ovpn. Isso é para combinar com a convenção.
#cp
/usr/share/doc/openvpn/examples/sample-config-files/client.conf
/etc/openvpn/easy-rsa/keys/client1.ovpn
Você
pode repetir esta seção novamente para cada cliente, substituindo client1 pelo
nome do cliente apropriado.
Nota:
O nome do seu client1.ovpn duplicado não precisa estar relacionado ao
dispositivo do cliente. O aplicativo OpenVPN do lado do cliente usará o
nome do arquivo como um identificador para a própria conexão VPN. Em vez
disso, você deve duplicar client.ovpn para o que quiser que a tag de nome da
VPN esteja em seu sistema operacional. Por exemplo: work.ovpn será
identificado como trabalho, school.ovpn como escola, etc.
Precisamos
modificar cada arquivo de cliente para incluir o endereço IP do servidor
OpenVPN para que ele saiba como se conectar.
Abra client1.ovpn e edite “remote your_server_ip 1194” para “remote 192.168.0.1 1194”
Abra client1.ovpn e edite “remote your_server_ip 1194” para “remote 192.168.0.1 1194”
#vim
/etc/openvpn/easy-rsa/keys/client1.ovpn
#
O nome do host / IP e porta do servidor.
#
Você pode ter várias entradas remotas
#
para balancear a carga entre os servidores.
remoto
192.168.0.1 1194
Em
seguida, encontre o texto "usuário ninguém e grupo no grupo",
descomente excluindo #
Nota:
Isso não se aplica ao Windows para que você possa ignorá-lo. Deve ficar
assim quando terminar:
#
Downgrade privilégios após a inicialização (não-Windows apenas)
usuário
ninguém
grupo
nenhum grupo
Criando um Perfil Unificado
OpenVPN para Dispositivos Clientes
Existem
vários métodos para gerenciar os arquivos do cliente, mas o mais fácil usa um
perfil unificado. Isso é criado modificando o arquivo de modelo
client1.ovpn para incluir a Autoridade de Certificação do servidor e o
certificado do cliente e sua chave. Uma vez mesclado, somente o único
perfil client1.ovpn precisa ser importado para o aplicativo OpenVPN do cliente.
A
área abaixo precisa das três linhas mostradas para serem comentadas, para que
possamos incluir o certificado e a chave diretamente no arquivo
client1.ovpn. Deve ficar assim quando terminar:
#vim
/etc/openvpn/easy-rsa/keys/client.ovpn
#
Pars SSL / TLS.
#.
. .
ca
cliente
cliente
cert.chave
keykey
Salve
as alterações e saia. Nós vamos adicionar os certificados por código.
Primeiro, adicione a autoridade de certificação.
#echo
'' >> /etc/openvpn/easy-rsa/keys/client1.ovpn
#cat
/etc/openvpn/ca.crt >> /etc/openvpn/easy-rsa/keys/client1.ovpn
#echo
'' >> /etc/openvpn/easy-rsa/keys/client1.ovpn
Em segundo lugar, adicione o certificado.
#echo
'' >> /etc/openvpn/easy-rsa/keys/client1.ovpn
#cat
/etc/openvpn/easy-rsa/keys/client1.crt >> / etc / openvpn / easy-rsa /
keys / client1 .ovpn
#echo
'' >> /etc/openvpn/easy-rsa/keys/client1.ovpn
Terceiro e finalmente, adicione a chave.
#echo
'' >> /etc/openvpn/easy-rsa/keys/client1.ovpn
#cat
/etc/openvpn/easy-rsa/keys/client1.key >> / etc / openvpn / easy-rsa /
keys / client1 .ovpn
#echo
'' >> /etc/openvpn/easy-rsa/keys/client1.ovpn
Agora
temos um perfil de cliente unificado. Usando o scp, você pode copiar o
arquivo client1.ovpn para o segundo sistema.
Abra
e edite o client1.ovpn com o bloco de notas
adicione
<ca> </ ca> <cert> </ cert> <key> </ key>
em cada ca, crt e key (parte inferior)
Adicionar novo cliente vpn
aberto
#cd
/ etc / openvpn / easy-rsa
#.
/ new-build-key da nova-chave
#cp
/usr/share/doc/openvpn/examples/sample-config-files/client.conf / etc / openvpn
/ easy-rsa / keys / newclient.ovpn
e
siga as instruções até abrir e editar newclient.ovpn
adicione
<ca> </ ca> <cert> </ cert> <key> </ key>
em cada ca, crt e key (parte inferior)
Outra maneira de transferir
certificados e chaves para dispositivos clientes
Lembre-se
das etapas acima que criamos os certificados e chaves do cliente, e que eles
estão armazenados no servidor OpenVPN no diretório / etc / openvpn / easy-rsa /
keys.
Para
cada cliente, precisamos transferir os arquivos de modelo de certificado, chave
e perfil de cliente para uma pasta em nosso computador local ou em outro
dispositivo cliente.
Neste
exemplo, nosso dispositivo client1 requer seu certificado e chave, localizados
no servidor em:
·
/etc/openvpn/easy-rsa/keys/client1.crt
·
/etc/openvpn/easy-rsa/keys/client1.key
Os
arquivos ca.crt e client.ovpn são os mesmos para todos os clientes. Baixe
esses dois arquivos também; Observe que o arquivo ca.crt está em um
diretório diferente dos outros.
·
/etc/openvpn/easy-rsa/keys/client.ovpn
·
/etc/openvpn/ca.crt
Embora
os aplicativos exatos usados para realizar essa transferência
dependerão da sua escolha e do sistema operacional do
dispositivo, você deseja que o aplicativo use SFTP (protocolo de
transferência de arquivos SSH) ou SCP (Cópia
Protegida) no back-end. Isso transportará os arquivos de autenticação VPN
do cliente por uma conexão criptografada.
Aqui
está um exemplo de comando SCP usando nosso exemplo client1. Ele coloca o
arquivo client1.key no diretório Downloads no computador local.
raiz
do scp @ seu-servidor-ip: /etc/openvpn/easy-rsa/keys/client1.key Downloads /
No
final desta seção, verifique se você possui esses quatro arquivos em seu
dispositivo cliente:
·
client1.crt
·
client1.key
·
client.ovpn
·
ca.crt
The best casinos for poker - BSJON
ResponderExcluirIt's the 999betasia best way to win real 바카라신규가입쿠폰 money. Find the 에밀리 벳 리 카즈 most reliable casinos. The best table games. The 넥스트벳 best poker rooms. 스 크릴 Online Poker.