Instalação Manual
Neste tópico será mostrado a instalação do Freeradius 3.x numa máquina com o sistema operacional Ubuntu Server 20.04 LTS amd64
Caso você queira instalar o novo servidor IdP Eduroam manualmente, você pode seguir o passo a passo deste manual.
Link para baixar a distribuição do Ubuntu Server 20.04 LTS amd64: https://mirror.uepg.br/ubuntu-releases/20.04.4/ubuntu-20.04.4-live-server-amd64.iso http://mirror.pop-sc.rnp.br/ubuntu-releases/focal/ubuntu-20.04.4-live-server-amd64.iso https://ubuntu.com/download/server
Detalhes técnicos da máquina virtual a ser criada: 8 GB RAM 2 vCPUs 200 GB de espaço em disco 1 placa de rede
Utilize o comando abaixo para obter privilégios de super usuário (root)
sudo su -
Após a instalação da máquina virtual acima vamos configurar o IP fixo. Edite o arquivo /etc/netplan/00-installer-config.yaml Segue abaixo exemplo do conteúdo do arquivo:
vim /etc/netplan/00-installer-config.yaml
This is the network config written by 'subiquity'
network:
version: 2
renderer: networkd
ethernets:
ens160:
addresses: [
200.133.240.72/24
]
gateway4:
200.133.240.1
nameservers:
addresses:
- 200.133.241.164
Se for usar AD para autenticar seus usuários então utilize o IP do seu servidor AD
- 200.133.241.165
Se for usar AD para autenticar seus usuários então utilize o IP do seu servidor AD
search: [
RNP.LOCAL
] Se for usar AD, utilize o nome do dominio interno do seu AD
Se for utilizar o AD para autenticar seus usuários, então você deve informar no campo nameservers address o IP de seus ADs que estão na mesma rede ou mais próximos. Estamos levando em consideração que o servidor de DNS de seus ADs estão rodando na mesma máquina que roda o AD, por isso que estamos utilizando o mesmo IP. Existem instituições que rodam o DNS do AD em outros servidodres, o que você precisa fazer é informar os IPs dos servidores de DNS dos ADs. Eu não utilizo AD apenas LDAP, qual IP de DNS devo utilizar? Neste caso você pode utilizar o seu servidor de DNS público, basta apenas informar os IPs.
Após gravar as modificações no arquivo acima precisamos executar o comando abaixo para que surta efeito no sistema operacional:
netplan apply
Verificando se IP configurado anteriormente subiu corretamente, digite o comando abaixo:
ip a
Será exibido a configuração da placa de rede:
Podemos ver que a placa de rede ens160 está configurada com o IP 200.130.35.91 e mascara de rede 255.255.255.0 que equivale a 200.130.35.91/24 como mostrado no resultado do comando acima. Lembrando que para configurar a placa de rede basta editar o arquivo /etc/netplan/00-installer-config.yaml e após a alteração executar o comando netplan apply e para ver se as alterações foram aplicadas vamos executar novamente o comando ip a como mostrado no exemplo acima.
Verificando os IPs do DNS Servers e DNS Domain com o comando:
systemd-resolve --status
A linha 1 exibe Link 2 (ens160) significa que as linhas a seguir referem-se as configurações da placa de rede ens160
As linhas 9 e 10 referem-se ao DNS que está sendo utilizado. DNS Servers: 200.133.241.164 200.133.241.165 Lembrando mais uma vez que se você estiver utilizando o AD para autenticar os usuários no IdP Eduroam, estes IPs devem ser de seu AD e não do seu servidor de DNS público. Se estiver utilizando somente o servidor LDAP de sua instituição então você pode utilizar os IPs de seu DNS público.
A linha 11: DNS Domain: RNP.LOCAL refere-se a qual domínio estamos utilizando em nosso DNS. Esta linha exibe a configuração do domínio que você está utilizando. Para dominios internos utilizando o AD normalmente é instituição.local, mas tem instituições fora do padrão pois criaram no AD o dominio externo. O padrão recomendado no material da Microsoft é sempre criar para dominios de autenticação de usuários internos o nome da empresa-instituição.LOCAL. Exemplos de nomes de dominios internos do AD utilizados em instituições usuárias do IdP Eduroam: RNP.LOCAL INSTITUICAO-A.LOCAL INSTITUICAO-B.EDU.BR INSTITUICAO-C.GOV.BR INSTITUICAO-D.BR
Verificando o roteamento
Vamos utilizar o comando ip route conforme exemplo abaixo:
ip route
default via
200.133.240.1
dev ens160 proto static 200.133.240.0/24 dev ens160 proto kernel scope link src 200.133.240.72
Podemos ver acima que o nosso default gateway está apontando para o IP 200.133.240.1 conforme configurado dentro do arquivo /etc/netplan/00-installer-config.yaml
Precisamos testar a conexão com o default gateway, com o seguinte comando, exemplo:
ping IP-DO-SEU-GATEWAY-EXIBIDO-ACIMA exemplo: ping 200.133.240.1
Caso ocorra algum problema será necessário verificar se o endereço IP/Mascara/Gateway definidos em sua máquina estão corretos.
Verificando se o servidor está acessando a internet
Vamos utilizar o comando ping conforme exemplo abaixo:
ping 8.8.8.8
ping 200.133.241.164
ping 200.133.241.165
Caso ocorram problemas no comando acima, será necessário verificar no firewall da instituição se a saída da máquina está liberada para a internet
Verificando DNS
Agora precisamos verificar se sua máquina está resolvendo nomes internos e externos.
Se você utiliza AD o primeiro passo é verificar se está resolvendo o nome do dominio interno, exemplo:
ping rnp.local
ping seu-dominio.interno
Verificando a resolução de nomes para dominios externos:
ping www.google.com
ping archive.ubuntu.com
ping rps01.eduroam.org.br
ping rps02.eduroam.org.br
Verificando o nome de sua maquina, para isso podemos utilizar os seguintes comandos:
hostname
cat /etc/hostname
hostnamectl
Lembrando que se você utiliza AD é necessário que sua máquina esteja dentro do dominio interno de seu AD, exemplos:
prometheus.rnp.local
Se não utilizar AD então sua maquina pode utilizar dominio externo, exemplo:
prometheus.rnp.br
Como alterar o nome do servidor permanentemente:
voce pode editar o arquivo:
vim /etc/hostname
ou alterar o nome utilizando o comando:
hostnamectl set-hostname
prometheus.rnp.br
E para ver se o nome foi alterado com sucesso, vamos utilizar novamente um dos comandos abaixo:
hostnamectl
hostname
cat /etc/hostname
Instalação de Pacotes
Os pacotes podem variar de acordo com o tipo de autenticação, se for autenticação via LDAP é um pacote, se a autenticação for via AD são outros pacotes, algumas instituições realizam a autenticação via LDAP e via AD, neste caso instalamos todos os pacotes.
Vamos acrescentar o repositório do Freeradius ao repositório do Ubuntu utilizando os comandos abaixo:
Adicionar repositório do Freeradius
echo "deb [arch=amd64] http://packages.networkradius.com/releases/ubuntu-`lsb_release -s -c` `lsb_release -s -c` main" | tee /etc/apt/sources.list.d/networkradius.list > /dev/null
Adicionando chaves
Para Ubuntu 20.04 LTS (Focal) / 18.04 LTS (Bionic)
curl -s 'https://packages.networkradius.com/pgp/packages%40networkradius.com' | tee /etc/apt/trusted.gpg.d/packages.networkradius.com.asc > /dev/null
Para Ubuntu 16.04 LTS (Xenial) / 14.04 LTS (Trusty) / 12.04 LTS (Precise)
apt-key adv --keyserver hkp://keys.gnupg.net:80 --recv-key 0x41382202
apt-key adv --keyserver hkp://209.244.105.201:80 --recv-key 0x41382202
apt-key adv --keyserver hkp://192.146.137.140:80 --recv-key 0x41382202
apt-key adv --keyserver hkp://192.146.137.141:80 --recv-key 0x41382202
Atualizando o Freeradius após a execução dos itens acima.
Execute o comando:
apt update
Instalando Freeradius e suas dependências
Ressaltando que a instalaçao do Freeradius neste manual é realizado com o Ubuntu 20.04 LTS.
apt -y update && apt list --upgradable && apt -y upgrade && apt install -y ssl-cert freeradius freeradius-utils freeradius-config freeradius-common freeradius-ldap freeradius-mysql freeradius-postgresql freeradius-krb5 snmp glibc-doc libclone-perl libmldbm-perl libnet-daemon-perl libsql-statement-perl make-doc libfreeradius3 libpython2.7 libpython2.7-minimal libpython2.7-stdlib libtalloc2 libwbclient0 libclone-perl libmldbm-perl libnet-daemon-perl libsql-statement-perl make make-doc libmysqlclient21 libpq5 mysql-common nmap dialog cryptsetup ldap-utils ntpdate ntpstat systemd-timesyncd net-tools traceroute lynx whois dialog
Instalando pacotes para conectar Freeradius com AD via SAMBA
Você deve instalar os pacotes mencionados acima e os pacotes adicionais abaixo para utilizar o AD para autenticar seus usuários em sua instituição. Segue abaixo o comando utilizado:
apt -y update && apt list --upgradable && apt -y upgrade && apt install -y krb5-user libpam-krb5 krb5-config libkrb5-3 libkadm5clnt-mit11 winbind systemd-timesyncd ntpdate samba samba-common samba-common-bin samba-dsdb-modules samba-libs samba-vfs-modules cifs-utils smbclient
Verificando se o Freeradius foi instalado com sucesso
Podemos utilizar um dos comandos abaixo:
systemctl status freeradius
ou
/etc/init.d/freeradius status
ou
service freeradius status
resultado esperado:
Caso ocorra algum problema com o Freeradius será necessário verificar a seção de Troubleshooting.
Utilizando email recebido com os arquivos de configuração de seu servidor
Crie uma pasta com o nome rnp dentro do diretório root, segue o comando a ser utilizado:
mkdir /root/rnp
cd /root/rnp
Copie os arquivos que você recebeu via email da RNP para dentro da pasta /root/rnp
Para realizar esta cópia você pode utilizar por exemplo o software WinSCP encontrado no site https://sourceforge.net/projects/winscp/
Descompacte o arquivo recebido dentro da pasta /root/rnp
tar xzvf eduroam01.sua-instituicao.edu.br.tar.gz
Liste os arquivos que foram descompactados com o comando abaixo:
ls -lart
Veja exemplo do resultado esperado:
-rw-r--r-- 1 root root 455 Mar 28 2020 atualiza_configura_idp_eduroam.bash
-rw-r--r-- 1 root root 1330 Mar 9 08:22 rnp-ca.crt
-rw-r--r-- 1 root root 4691 Mar 9 08:22 radsec
-rw-r--r-- 1 root root 2532 Mar 9 08:22 proxy.conf
-rw-r--r-- 1 root root 1103 Mar 9 08:22 inner-tunnel
-rw-r--r-- 1 root root 1704 Mar 9 08:22 eduroam01.sua-instituicao.edu.br.key
-rw-r--r-- 1 root root 4208 Mar 9 08:22 eduroam01.sua-instituicao.edu.br.crt
-rw-r--r-- 1 root root 31393 Mar 9 08:22 eap
-rw-r--r-- 1 root root 1306 Mar 9 08:22 default
-rw-r--r-- 1 root root 1453 Mar 9 08:22 clients.conf
Onde está eduroam01.sua-instituicao.edu.br
será substituido pelo nome do seu servidor e sua instituição.
Realizando backup dos arquivos originais
Abaixo os comados para criar o diretorio para armazenar o backup dos arquivos originais do freeradius, e em seguida realizamos a cópia destes arquivos para dentro do diretorio /root/rnp/backup
mkdir /root/rnp/backup
cp /etc/freeradius/{clients.conf,radiusd.conf,proxy.conf,mods-config/files/authorize,mods-enabled/{eap,mschap,ntlm_auth},mods-available/ldap,sites-available/{default,inner-tunnel}} /etc/ssl/openssl.cnf /etc/hosts /etc/resolv.conf /root/rnp/backup/
Substituindo os arquivos originais pelos arquivos recebidos
Agora vamos substituir os arquivos originais do Freeradius pelos arquivos recebidos da RNP.
Estes arquivos possuem as configurações necessárias para que o seu servidor conecte com as máquinas da nossa federação.
Criar o diretorio /etc/freeradius/certs/radsec, neste diretório vamos copiar os arquivos de certificados gerados pela RNP para realizar a conexão com os servidores da federação.
total 24
drwxr-s--x 3 freerad freerad 4096 Mar 9 12:51 ..
-rw-r--r-- 1 root freerad 1330 Mar 9 12:51 rnp-ca.crt
-rw-r--r-- 1 root freerad 1704 Mar 9 12:51 eduroam01.sua-instituicao.edu.br.key
-rw-r--r-- 1 root freerad 4208 Mar 9 12:51 eduroam01.sua-instituicao.edu.br.crt
drwxr-sr-x 2 root freerad 4096 Mar 9 12:51 .
Copiar os demais arquivos de configuração do Freeradius
Após a realização de todo procedimento acima devemos executar o comando freeradius -CX para verificar se há algum problema.
freeradius -CX
Se tudo ocorreu bem até o momento, a ultima linha do resultado deste comando deve ser:
Configuration appears to be OK
Analisando os arquivos de configurações
Neste item vamos analisar os arquivos de configurações que foram gerados pela RNP.
Estes arquivos gerados foram copiados para dentro de vários diretórios do Freeradius como executamos no item anterior.
/etc/freeradius/sites-enabled/default
/etc/freeradius/sites-enabled/inner-tunnel
/etc/freeradius/sites-enabled/radsec
Last updated