Há algum tempo minha empresa necessitava de um servidor VPN em Linux, mas buscando usuários no Active Directory. Depois de muitas pesquisas, fiz este tutorial para aquelas pessoas que necessitam desse tipo de solução em sua rede.
Um Linux é obvio :-) (usei o fedora 7, mas esse tutorial pode ser utilizado em qualquer distro);
Samba;
Kerberos;
Winbind;
pptpd;
Ambiente executando o Microsoft Windows Server 2003 Standard Edition com o AD instalado chamado DOMINIO.COM.BR.
Configurando o samba para autenticar no AD
SAMBA:
Instale o samba padrão com o comando:
# yum install samba
Entre no diretório /etc/samba e faça um backup do arquivo smb.conf, apague todo o conteúdo do arquivo e adicione o conteúdo abaixo:
[global]
# Define o nome do domínio que a máquina irá participar
workgroup = DOMINIO
# Define o nome netbios da máquina
netbios name = VPN
# Define o nome completo do domínio
realm = DOMINIO.COM.BR
# Descrição do Servidor
server string = Servidor VPN
# Define o diretório dos logs
log file = /var/log/samba/%m.log
max log size = 50
# Define o tipo de segurança que o samba irá utilizar
security = ads
# Endereço IP do controlador de domínio
password server = IP_SERVER
# Habilita criptografia das senhas
encrypt passwords = yes
# default socket options setting on older samba. It is not defined in v3.0.23c or above
;socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
# Muito importante, essas linhas não deixam que o samba derrube o domínio AD
domain master = no
preferred master = no
# Endereço servidor WINS
wins server = IP_SERVER
dns proxy = no
# Configurações do WINBIND
idmap uid = 50001-550000
idmap gid = 50001-550000
winbind separator = +
winbind nested groups = Yes
winbind enum users=yes
winbind enum groups=yes
template shell = /bin/false
winbind use default domain = no
[3] Comentário enviado por capitainkurn em 22/12/2007 - 11:33h
Otimo artigo! Ja esta em meus favoritos, ja fiz muitas VPNs mas nunca se autenticando no AD. Mas em breve deverei fazer uma e com certeza vou tirar uma cola sua! Rssss.
[6] Comentário enviado por cassio em 27/12/2007 - 17:45h
Kra muito bom este artigo...
Mas desculpe pelo abuso. Mas você teria um outro artigo explicanod como configurar a autenticação do PPTP apenas no SAMBA com suporte ao LDAP?
Pois no meu cenário não possuo servidores Windows, e sempre tenho que administrar os usuários do PPTP na unha, e isso da um trabalhão....
Obrigado e sucesso.
[8] Comentário enviado por removido em 25/01/2008 - 08:48h
Cara, muito obrigado pelo artigo. Segui suas configurações e funcionou um servidor de VPN que estava incomodando há algumas horas (não autenticava com criptografia nem morto!!!).
[9] Comentário enviado por engmaciel em 29/02/2008 - 22:39h
Muito bom o artigo, era exatamente o que eu procurava. Porém quando eu dou o comando: "kinit -V administrator" apresenta o erro: "Cannot find KDC for requested realm while getting initial credentials". Tem alguma sugestão?
[10] Comentário enviado por hlbomfim em 12/03/2008 - 09:37h
engmaciel, no arquivo de configuração do kerberos, o dominio tem de estar maiúsculo.
hcalixto25, bom dia
Verifica se é só comigo: quando eu conecto a vpn de um windows vista, eu perco a internet?
Aqui autentica tudo perfeitamente e conecta tudo dentro da vpn, mas a Internet fica fora. É assim mesmo??
[11] Comentário enviado por jacardoso em 20/03/2008 - 12:22h
perfeito.... só tem um detalhe, nao consigo navegar por nome, somente por ip, o server vpn navega por nome, o cliente conectado a ele nao... onde foi que eu errei???
[12] Comentário enviado por lgustavoaraujo em 28/09/2008 - 01:04h
Boa noite,
Primeiro gostaria de parabeniza-lo pois todos os passos estão correto, porem estou procurando um gerador de log de acesso, mas nao encontrei, só tem para autenticação via PAP e CHAP, conhece algum para autenticação NTLM, vc sabe qual arquivo ele guarda os usuarios autenticados por NTLM?
Agradeço desde já
[14] Comentário enviado por jacquesteixeira em 13/05/2009 - 12:04h
cara me confudi no arquivo host
ex:
vi etc/hosts
ip_da_maquina_vpn Nome_da_maquina_vpn.com.br
so que quando eu do um:
net ads join -U administrador
[2009/05/13 12:01:48, 0] param/loadparm.c:lp_bool(5477)
lp_bool(10.0.0.2): value is not boolean!
Enter administrador's password:
Using short domain name -- RIMA
Joined 'RIMA-FIREWALL' to realm 'rima.local'
No DNS domain configured for rima-firewall. Unable to perform DNS Update.
DNS update failed!
empresa-nome:/etc#
[17] Comentário enviado por dedcs em 23/10/2009 - 07:48h
O artigo ficou 10, porem no meu caso para funcionar a autenticação tive que alterar a ultima linha do arquivo options.pptpd, a linha ficou assim:
#Linhas que realizam autenticaç via Active Directory
plugin winbind.so
ntlm_auth-helper "/usr/bin/ntlm_auth --helper-protocol=ntlm-server-1 --domain=DOMINIO.COM.BR"