# Questões e dicas

Capítulo destinado a mostrar soluções conhecidas, de forma compacta, para alguns problemas encontrados no dia a dia do suporte às redes de computadores

# Cliente: SSSD

### Situações frequentes

---

**001. Não é possível fazer login usando as credenciais do domínio quando o SSSD é utilizado**

<p class="callout warning"><span style="font-weight: 400;">Verifique sempre a conectividade, especialmente a qualidade do link e o firewall do lado do cliente e do servidor antes de realizar o procedimento a seguir  
</span></p>

<span style="font-weight: 400;">A conexão iniciada pelo SSSD pode ser incapaz de recuperar os dados necessários para a autenticação do usuário quando o ticket kerberos da máquina expira. É possível verificar se isso acontece ao executar o seguinte comando:  
</span>

```shell
systemctl status sssd
```

<span style="font-weight: 400;">Observe se a saída do comando contém o padrão indicado a seguir:  
</span>

```Nginx
mar 21 13:26:44 hostname-da-maquina [sssd[krb5_child[46811]: Ticket expired
mar 21 13:27:56 hostname-da-maquina [sssd[krb5_child[46818]: Ticket expired
mar 21 13:29:05 hostname-da-maquina [sssd[krb5_child[46824]: Ticket expired
```

<span style="font-weight: 400;">Havendo a confirmação do problema, execute os comandos (como usuário *root*) para que um novo ticket seja obtido:  
</span>

```shell
service sssd stop;
rm -rf /var/lib/sss/db/* /var/lib/sss/mc/*;
service sssd start
```

# Servidores: BareOS/Bacula

### Situações frequentes

---

**001. Alterei o tamanho máximo dos volumes na definição do pool, mas o limite antigo continua a ser aplicado ao realizar o backup.**

<span style="font-weight: 400;">Apesar do novo valor ter sido configurado corretamente, ele não irá funcionar para os volumes já criados, os quais precisam ser atualizados manualmente.</span>

<span style="font-weight: 400;">No shell, abra o console do BareOS/Bacula  
</span>

```shell
bconsole
```

Para cada volume a ser atualizado, digite:

```shell
update volume=Vol001-Pool001 maxvolbytes=200G
```

Neste exemplo, o tamanho máximo do volume "*Vol001-Pool001*" foi alterado para 200 GB

# Servidores: Samba

### Situações frequentes

---

**001. Criei uma GPO para ativar a Assistência Remota do Windows mas não consigo conectar aos clientes.**

<span style="font-weight: 400;">Apesar da Política de Grupo ter sido configurada corretamente, a Assistência Remota não irá funcionar perfeitamente devido a uma incompatibilidade da interface U2U do Kerberos usado para a autenticação do referido recurso do Windows.</span>

<span style="font-weight: 400;">Para a execução com sucesso, é preciso:</span>

- <span style="font-weight: 400;">No Windows: Aplicar um hotfix disponível em </span>[<span style="font-weight: 400;">neste link.</span>](https://support.microsoft.com/en-us/kb/939820)
- <span style="font-weight: 400;">No Samba, definir um Service Principal Name (SPN) para o usuário que vai receber a assistência.</span>

<span style="font-weight: 400;">Para que não seja necessário adicionar um SPN manualmente a cada usuário existente, crie um script com o conteúdo abaixo e execute. Adicionalmente, sua execução pode ser agendada no cron.</span>

```shell
#!/bin/bash

filterString="k/|G/|Ad"
sambaTool=$(which samba-tool)
searchString="has no service"
user=""

# Loop para descobrir os usuários
for user in $( ${sambaTool} user list | grep -v "^[${filterString}]" )
do
 # Procura um SPN configurado para o usuário
 ${sambaTool} spn list "${user}" | grep "${searchString}"
 
 # Se o retorno for zero, não possui um SPN configurado
 if [ $? == 0 ]
 then
 
   # Define um SPN. Ex: se o usuário for "teste", será definido "spn-teste"
   ${sambaTool} spn add spn-"${user}" "${user}"
   
   # Avisa sobre a definição
   echo "Um SPN foi definido para o usuário ${user}"
 else
   : 
 fi

done
```

# Servidores: SSH

### Situações frequentes

---

**001. A senha demora a ser solicitada quanto um acesso SSH é realizado**

<p class="callout warning"><span style="font-weight: 400;">Verifique sempre a conectividade, especialmente a qualidade do link e o firewall do lado do cliente e do servidor antes de realizar o procedimento a seguir  
</span></p>

<span style="font-weight: 400;">As conexões a servidores via SSH podem sofrer atrasos enquanto o servidor e o cliente tentam acordar se será utilizado o GSSAPI como método de autenticação. É possível verificar se isso acontece ao executar o seguinte comando:  
</span>

```shell
ssh -vvv <ip do servidor>
```

<span style="font-weight: 400;">Se houver uma demora até a senha ser solicitada e existirem menções como "*Unspecified GSS failure*" ou "*No Kerberos credentials available*", desabilitar a GSSAPI pode ajudar a tornar o processo mais rápido.</span>

<span style="font-weight: 400;">Para desabilitar a autenticação com GSSAPI, execute os comandos como *root*:</span>

```shell
sed -i '/GSSAPIAuthentication/s/^#//g' /etc/ssh/sshd_config
sed -i '/^GSSAPIAuthentication/s/yes/no/' /etc/ssh/sshd_config
systemctl reload sshd
```

# Sistema: Discos e partições

### Situações frequentes

---

**001. Adicionei um novo disco a um computador ou máquina virtual e ele não aparece para uso.**

<span style="text-decoration: underline;">Se o computador executar o sistema operacional Windows, será necessário reiniciá-lo.</span>

<span style="text-decoration: underline;">Se o computador executar sistemas operacionais Linux</span>

Como root, realize o seguinte procedimento para que o novo disco seja detectado sem a necessidade de reiniciar:

1\. Descubra as interfaces dos adaptadores SCSI:

`ls /sys/class/scsi_host`

Anote a saída do comando. Ela deve ser parecida com: `<span style="color: #33cccc;">host0 host1</span>`.

2\. Execute o comando para cada adaptador :

`echo "- - -" > /sys/class/scsi_host/<span style="color: #33cccc;">host0</span>/scan`

`echo "- - -" > /sys/class/scsi_host/<span style="color: #33cccc;">host1</span>/scan`

---

**002. Aumentei o tamanho de um disco já existente numa máquina virtual linux e o tamanho não foi atualizado.**

Para que o sistema detecte o novo tamanho do disco sem a necessidade de reiniciar a máquina, realize o seguinte procedimento:

<span style="text-decoration: underline;">Se o computador executar o sistema operacional Windows:</span>

Na tela do **Gerenciamento do Computador**, clique com o botão direito em **Gerenciamento de Disco** e clique em **Reescanear Discos.**

OBS: Observe que o procedimento é suportado a partir do Windows Server 2008 e Windows 7

<span style="text-decoration: underline;">Se o computador executar sistemas operacionais Linux:</span>

1\. Como root, execute o comando para o disco que teve o tamanho alterado. Nesse exemplo, trata-se do disco <span style="color: #33cccc;">/dev/sda</span>:

`echo 1 > /sys/block/<span style="color: #33cccc;">sda</span>/device/rescan`

Nota: Se o tamanho não foi atualizado, tente novamente depois de realizar os passos da pergunta 001.

# Sistema: Rede

### Situações Frequentes

---

**001. Como desativar o IPv6 no Linux?**

Como root, execute os seguintes comandos:

```
echo "net.ipv6.conf.all.disable_ipv6=1" >> /etc/sysctl.conf
echo "net.ipv6.conf.default.disable_ipv6=1" >> /etc/sysctl.conf
sysctl -p
```

 Será necessário reiniciar o serviço da rede para que a alteração entre em vigor.

---