Instale o OpenVPN Server no Windows Server e use o AD (LDAP) Fazer verificação da conta

OS SO do servidor: Windows Server 2019
V OpenVPN: OpenVPN 2.4.9 (Comunidade)
◎ Componente de verificação do AD: Auth4OpenVPNv2.0
◎ Client OS: Windows 10

 

Devido ao equipamento de hardware VPN da empresa é antigo,Pesquisa recente soluções VPN,Quero começar com soluções de código aberto primeiro,No começo, pensei no OpenVPN, que foi testado há cinco anos.,Mas depois de baixar o arquivo de imagem da VM do site oficial e concluir a compilação,Descobri que esta versão abre apenas duas conexões de clientes gratuitas,Inscreva-se para mais。Eu pensei que comecei a cobrar,Não admira que servidor e cliente (OpenVPN Connect) Interface de software tornou-se tão bonita,Lembrei-me de alterar as configurações através do bloco de notas。

Então eu encontrei a SoftEther VPN do Japão,Depois de passar algum tempo pesquisando e construindo,Eu pensei que este conjunto deveria funcionar,Inesperadamente, quando eu estava fazendo o teste,,Foi encontrado um erro de conexão SQL na SoftEther VPN,E internautas relataram o problema por dois anos,O funcionário ainda não corrigiu,Então eu tive que desistir com relutância。 Como configurar a VPN SoftEther,Consulte【Notas】 Configurações do SoftEther VPN Server

Mais tarde, voltei para encontrar as informações de licença relevantes do OpenVPN,Só encontrou a versão do Community,Depois de instalar o download,A tela de configuração do arquivo de texto familiar aparece novamente,哈。Abaixo está o objetivo e o método de configuração para esta compilação:

【Objetivos】
◎ Servidor usa sistema Windows。
AD Use o AD como o método de verificação da conta。
Side O lado do cliente usa segmento de rede independente,E obtenha IP automaticamente。
Side O lado do cliente fluirá apenas VPN para tráfego de segmento de rede específico,Fique online (Internet) não vai。
◎ O cliente pode se conectar a outros segmentos de rede dentro da empresa。

 

◎ primeiro,para Downloads da comunidade OpenVPN Baixe a versão mais recente da página。

 

◎ Em seguida, consulte a comunidade Easy_Windows_Guide,Configurações completas de servidor e cliente,As seguintes configurações da chave de captura。


 

[Trabalho preliminar]

Tick ​​Assinale sozinho quando instalar “EasyRSA 2 Scripts de gerenciamento de certificados” elemento。

Cm Execute o cmd como "administrador do sistema",E execute os seguintes comandos em ordem:

  cd "C:\Program Files\OpenVPN\easy-rsa"  init-config  notepad vars.bat  

 

◎ Modifique as informações padrão do certificado,Arquivar após modificação。

defina KEY_COUNTRY = US
definir KEY_PROVINCE = CA
defina KEY_CITY = SanFrancisco
definir KEY_ORG = OpenVPN
defina [email protected]

 

◎ Execute os seguintes comandos em ordem:

  vars  clean-all  

 

【Criar certificado e chave】
◎ Execute os seguintes comandos:

  build-ca  

 

◎ Digite as informações do certificado:

Nome do país (2 código da letra) [NOS]:
Nome do Estado ou Província (nome completo) [CA]:
Nome da localidade (por exemplo, cidade) [São Francisco]:
Nome da organização (por exemplo, companhia) [OpenVPN]:
Nome da Unidade Organizacional (por exemplo, seção) []:
Nome comum (por exemplo, seu nome ou o nome do host do seu servidor) []:
Endereço de e-mail [[email protected]]:

 

◎ Execute os seguintes comandos em ordem:

  build-key-server server  build-key client  # Guide 上是建議用 client 端的電腦名稱,然後為每一台電腦產生一份憑證,  # 但因為我主要是要用 AD 驗證,所以我這邊是只產生一份名為 client 的憑證,然後讓所有電腦一起使用。  build-dh  "C:\Program Files\OpenVPN\bin\openvpn.exe" --genkey --secret "C:\Program Files\OpenVPN\easy-rsa\keys\ta.key"  

 

[Definir arquivo de configuração do servidor]

◎ Execute os seguintes comandos:

  copy "C:\Program Files\OpenVPN\sample-config\server.ovpn" "C:\Program Files\OpenVPN\easy-rsa\keys\server.ovpn"  notepad "C:\Program Files\OpenVPN\easy-rsa\keys\server.ovpn"  

 

◎ Encontre o texto a seguir。

ca ca.crt
cert server.crt
chave server.key

dh dh2048.pem

 

◎ Substitua por:

aquele “C:\\Arquivos de Programa \ OpenVPN \ config \ ca.crt”
cert “C:\\Arquivos de Programa \ OpenVPN \ config \ server.crt”
chave “C:\\Arquivos de Programa \ OpenVPN \ config \ server.key”

ie “C:\\Arquivos de programa \ OpenVPN \ config \ dh2048.pem”

 

◎ Arquivar e fechar。

◎ Encontre o texto a seguir,E remova o ponto-e-vírgula na frente do comentário(;)。Como pretendo fazer apenas um voucher para que todos possam compartilhar,Isso pode fazer com que diferentes clientes obtenham o mesmo conjunto de IPs.,Então ative essa configuração,Para que todos possam obter um IP diferente。

;duplicate-cn

 

【Definir arquivo de configuração do cliente】

◎ Execute os seguintes comandos:

  copy "C:\Program Files\OpenVPN\sample-config\client.ovpn" "C:\Program Files\OpenVPN\easy-rsa\keys\client.ovpn"  notepad "C:\Program Files\OpenVPN\easy-rsa\keys\client.ovpn"  

 

◎ Encontre o texto a seguir。

ca ca.crt
cert server.crt
chave server.key

tls-auth ta.key 1

 

◎ Substitua por:

aquele “C:\\Arquivos de Programa \ OpenVPN \ config \ ca.crt”
cert “C:\\Arquivos de Programa \ OpenVPN \ config \ client.crt”
chave “C:\\Arquivos de programa \ OpenVPN \ config \ client.key”

tls-auth “C:\\Arquivos de Programa \ OpenVPN \ config \ ta.key” 1
# O guia não possui esta seção,Isso é um erro quando executo o cliente,E alterado。

 

◎ O seguinte “meu-servidor-1” Modifique-o para o endereço IP ou FQDN real do OpenVPN。

remote my-server-1 1194

 

◎ Arquivar e fechar。

 

【Copiar certificado、Chave para o diretório correto]

◎ Execute os seguintes comandos:

  robocopy "C:\Program Files\OpenVPN\easy-rsa\keys\" "C:\Program Files\OpenVPN\config\" ca.crt ta.key dh2048.pem server.crt server.key server.ovpn  

 

◎ em “C:\Arquivos de Programas OpenVPN easy-rsa keys ”,Copie os seguintes arquivos:

ca.crt
ta.key
client.crt
client.key
client.ovpn

 

◎ lançado no computador cliente “C:\Arquivos de Programas OpenVPN config ”
PS. O arquivo de instalação do cliente é igual ao Servidor。

 

[Inicie o OpenVPN]

Open Execute a GUI do OpenVPN como "administrador do sistema" no servidor。Se você não executar como "administrador do sistema", poderá,Mas alguns logs podem não ter permissão de gravação。Você também pode ir para "Serviço do Windows",將 “OpenVPNService” Altere o "Tipo de ativação" para”automático”,E clique com o botão direito do mouse em "ativar"。

Side O lado do cliente executa diretamente a GUI do OpenVPN,E clique com o botão direito do mouse no ícone no canto inferior direito e selecione "Conectar"。O cliente também pode ser instalado com uma interface melhor, o OpenVPN Connect,E defina o perfil (client.opvn) Arraste para a janela。


 

A descrição acima é o principal conteúdo didático do Easy_Windows_Guide,Depois de concluir as configurações acima,Você pode concluir a conexão por certificado,Em seguida é ajustar as configurações para o ambiente que eu quero:

◎ O cliente pode se conectar a outros segmentos de rede dentro da empresa。
AD Use o AD como o método de verificação da conta。

 

[Permitir que o cliente se conecte a outros segmentos de rede dentro da empresa]

Após a criação do OpenVPN,O servidor padrão irá gerar uma placa de rede virtual,O seu IP é 10.8.0.1,E o cliente receberá 10.8.0.6,No momento, o cliente faz ping 10.8.0.1 Deve passar。

Em seguida, precisamos executar ping na placa de rede física do servidor (Exemplo 192.168.53.1) Vai descobrir,Além de adicionar roteamento neste momento,Além dissoAtive a função "Compartilhamento de conexão com a Internet"。Estou preso aqui por um longo tempo,Mais tarde, finalmente chegou aos internautas do ViRb3 "Crie um servidor Windows OpenVPN que proxies o tráfego da Internet · GitHub"Este artigo encontra a configuração de chave" Compartilhamento de conexão com a Internet "。

◎ Encontre o ";empurrar rota “192.168…"
◎ De acordo com seu formato,Adicione o seguinte,E arquivar。

  push "route 192.168.53.0 255.255.255.0"  # 如果要讓 Client 連到企業內部的其他網段,  # 可以在這邊加入其他網段的資訊。  

 

◎ Insira as configurações da placa de interface,Ligue a placa de rede física (192.168.53.1 Este) Recurso "Compartilhamento de conexão com a Internet" (勾選”Permitir que outros usuários da rede se conectem através da conexão com a Internet deste computador”)。
PS. Encontrei muitos artigos antes de saber como fazer essa ação,Preso aqui por um longo tempo。

 

Depois de ativar a função "Compartilhamento de conexão com a Internet",O IP da placa de rede virtual OpenVPN será alterado para 192.168.137.1,Então, se queremos usar o padrão do OpenVPN 10.8.0.1,Precisa modificar o código da máquina。
◎ Execute regedit,到下列路徑:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters

 

◎ Altere o valor de ScopeAddress para 10.8.0.1。

◎ Reinicie o servidor OpenVPN,E deixe o Cliente se reconectar。

[Use o AD como o método de verificação da conta]

  首先,Obrigado J. Ortega. Escrito por VBScript,Vamos facilitar a aprovação do OpenVPN no AD para verificação,Obrigado obrigado novamente obrigado。Em "Autenticação do Active Directory para implementações do OpenVPN para Windows – amigo4life2"Esta página possui instruções de configuração muito detalhadas,Mas por causa da idade,Então, acompanhe o Windows 2008、2012 Versão futura,Ainda existem algumas ações a serem feitas,A seguir, é apresentado o método de configuração após o término:

◎ Faça o download do Auth4OpenVPNv2.0.zip,E descompacte o conteúdo para “C:/Arquivos de Programas / OpenVPN / Config”

 

◎ Modifique Auth4OpenVPN.ini,Inserir informações sobre o AD,Exemplos são os seguintes:

  Server = "192.168.53.20"  Domain = "abc"  DN = "dc=abc,dc=com,dc=tw"  Group = "(Group)OpenVPN"  Logging = "On"  

 

Próxima ação,Com J. Ortega. Um pouco diferente na página,Isso é iceh Fórum da Comunidade OpenVPN Correções para problemas de segurança na nova versão do Windows Server,Obrigado internautas iceh。

◎ Abra o bloco de notas,Cole o seguinte:

  set LOCALAPPDATA=C:\Users\%USERNAME%\AppData\Local  set CommonProgramFiles=C:\Program Files\Common Files  set CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files  set CommonProgramW6432=C:\Program Files\Common Files  C:\Windows\System32\cscript.exe "C:\Program Files\OpenVPN\config\Auth4OpenVPN.vbs"  exit %errorlevel%  

◎ Salve o arquivo em “C:\Arquivos de Programas OpenVPN config”,arquivo chamado “Auth4OpenVPN-64bitWrapper.cmd”。

◎ Adicione as duas linhas de instruções a seguir em server.ovpn:

  script-security 3  auth-user-pass-verify Auth4OpenVPN-64bitWrapper.cmd via-env  

◎ Adicione as duas linhas de instruções a seguir em client.ovpn no lado do cliente:

  auth-user-pass  auth-retry interact  

◎ então,O cliente está se conectando,A janela de senha da conta será exibida para fazer login。

 

【Informação suplementar】

◎ Auth4OpenVPN fornece funções de teste,É recomendável usar o seguinte comando para testar a conexão com o AD e não há problema,Vamos fazer ações de acompanhamento。

auth4openvpn.vbs <user> <password>

◎ Auth4OpenVPN deixará o resultado da verificação no log do aplicativo do Windows,Se definido de acordo com o método da página original,pode aparecer “Auth4OpenVPN: -2147221164, Categoria não registrada” A mensagem de erro,Neste momento, de acordo com os internautas iceh fornecidos “Auth4OpenVPN-64bitWrapper.cmd” Método de reparo,Pode resolver o problema de parâmetros ambientais。

◎ Se você deseja que o cliente possa acessar a Internet através da rede corporativa (Internet),Basta encontrar a seguinte string no arquivo server.ovpn,E adicione a nota anterior(;)Apenas tire isso。

;push "redirect-gateway def1 bypass-dhcp"

◎ OpenVPN Connect ao importar o arquivo client.ovpn,Verifica se o certificado e os arquivos de chave estão no mesmo diretório que o arquivo client.ovpn,Se não houver erro。Depois de concluir a importação,Ao conectar mais tarde,O OpenVPN Connect seguirá as configurações do client.ovpn para ler o certificado e os arquivos de chave no caminho do comando;A GUI do OpenVPN não tem esse problema。

◎ Se você deseja verificar a conta nativa do OpenVPN e do Windows,Você pode consultar o compartilhado por smiley22 SAMAuth4OpenVPN elemento。

◎ Posteriormente, ainda não adotei essa solução,Porque o continente tem filtragem para OpenVPN,Portanto, haverá alguns problemas estranhos durante o processo de conexão。

 

Referência [link]

Deixe um comentário

Por favor, note: Comentário moderação é ativado e pode atrasar o seu comentário. Não há necessidade de reenviar o seu comentário.