Estou tentando usar o Samba4 para implementar logins do Active Directory em uma rede, usando nslcd
e pam-krb5
para registrar e autenticar usuários e mount.cifs
para montar compartilhamentos, como áreas de origem. O DNS interno do Samba4 é usado para fornecer DNS a todos os clientes. No geral, a configuração funciona muito bem, com os usuários sendo identificados corretamente e a montagem automática de compartilhamento por meio de pam-mount
working a treat. No entanto, quero tentar implementar uma forma de redundância nessa rede com controladores de domínio adicionais.
Para configurar nslcd
para apontar para vários servidores, defino um campo uri
como uri DNS
, que permite que nslcd
atenda às informações sobre qual servidor LDAP usar de registros DNS, como _ldap._tcp.domain.com
- convenientemente definido automaticamente pelo Samba para apontar para todos os servidores compatíveis com LDAP na rede.
/etc/krb5.conf
foi igualmente simples de configurar, com a opção dns_lookup_kdc
definida como verdadeira.
No entanto, o único obstáculo dessa configuração é resolver o DNS. Colocar várias nameserver
linhas em /etc/resolv.conf
permite que os clientes usem um servidor de nomes secundário caso o principal fique inativo, mas há um tempo limite enorme em cada consulta DNS antes que isso ocorra. Eu consegui reduzir esse tempo limite definindo option timeout: 0.3
nesse arquivo, mas ainda é dolorosamente lento ao usar comandos como ping
.
Além disso, ignorando tudo isso por um segundo, mount.cifs
parece incapaz de ser configurado para vários servidores. Eu tentei usar //domain.com/share
para montar o compartilhamento, e isso funciona até certo ponto, mas falha ao usar o Kerberos (uma vez que o Kerberos requer que o FQDN do servidor funcione corretamente). Eu também tentei usar outro dos registros DNS SRV fornecidos pelo Samba, como _ldap._tcp.dc._msdcs.domain.com
(um registro que deve apontar para todos os controladores de domínio nesse domínio), mas ele gosta ainda menos.
Alguma idéia?
Tags samba active-directory linux domain