A maior parte dos computadores pessoais (portáteis ou desktop) que satisfaçam os requisitos mínimos de hardware podem executar o sistema operativo do servidor Linux. Não surpreende que muitas pessoas instalem os seus servidores domésticos em alguns computadores pessoais antigos mas ainda funcionais para auto-aprendizagem ou projectos paralelos.
Uma das opções comuns de executar um servidor Linux doméstico é aceder ao servidor através de uma rede doméstica Wi-Fi existente. O software de instalação do servidor Linux, em geral, não inclui pacotes de suporte de rede sem fios, pelo que depende do utilizador para activar a ligação Wi-Fi.
Neste post, mostrar-lhe-ei os passos para configurar e configurar o acesso Wi-Fi utilizando o suplicante WPA e o plano de rede no Ubuntu Server 20.04 sem ligação ethernet com fios.
Desde que o servidor não tenha ligação ethernet com fios, é necessário descarregar o pacote WPA supplicant (wpasupplicant) e duas das suas dependências (libnl-route-3-200, libpcsclite1) noutra máquina com ligação à Internet, depois transferi-los para o servidor utilizando uma unidade flash/externa.
wpasupplicant: suporte de cliente para WPA e WPA2 (IEEE 802.11i).
http://mirrors.kernel.org/ubuntu/pool/main/w/wpa/wpasupplicant_2.9-1ubuntu4_amd64.deb
libnl-route-3-200: biblioteca para lidar com tomadas netlink – interface de rota.
http://mirrors.kernel.org/ubuntu/pool/main/libn/libnl3/libnl-route-3-200_3.4.0-1_amd64.deb
libpcsclite1: middleware para aceder a um smart card usando PC/SC (biblioteca).
http://mirrors.kernel.org/ubuntu/pool/main/p/pcsc-lite/libpcsclite1_1.8.26-3_amd64.deb
P>Pode usar o seguinte comando para descarregar os pacotes se outra máquina também estiver a executar o Ubuntu Server 20.04 e não tiver instalado o pacote WPA supplicant:
sudo apt install -y --download-only wpasupplicant
Os ficheiros deb do wpasupplicant e as suas dependências são descarregados no seguinte directório por defeito:
/var/cache/apt/archives/
Se essa máquina estiver a executar o Ubuntu Server 20.04, mas já instalou o pacote de suplicantes WPA, pode usar dpkg-repack para recriar os ficheiros deb:
sudo apt install -y dpkg-repack
sudo dpkg-repack wpasupplicant libnl-route-3–200 libpcsclite1
Agora, copie estes três ficheiros deb para a sua unidade flash/externa.
Passo 2: Instalar o pacote de suplicantes WPA
P>Diga o nome do dispositivo para a unidade flash/externa (por exemplo USB stick) depois de o ligar ao servidor:
sudo fdisk -f
Um disco flash USB é normalmente listado em:
Criar um novo directório e montar a unidade flash/externa:
sudo mkdir /media/usb
sudo mount -t vfat /dev/sdb1 /media/usb
Instalar o pacote de replicantes WPA e as suas dependências:
cd /media/usb
sudo dpkg -i libnl-route-3–200_3.4.0–1_amd64.deb \
libpcsclite1_1.8.26–3_amd64.deb \
wpasupplicant_2.9–1ubuntu4_amd64.deb
Passo 3: Encontrar nome da interface sem fios
O kernel Linux lista nomes de interfaces de rede via symlinks em /sys/class/net
, enquanto que as interfaces de rede sem fios são nomeadas wlp2s0
wlp3s0
, e assim por diante:
ls /sys/class/net | grep -i wlp
Existem muitas opções alternativas para encontrar a interface sem fios no Linux. Listo alguns exemplos abaixo:
# Use ip command: ip link or ip addr
ip link show | grep -i wlp | awk -F: '{print $2}' | xargs
ip addr show | grep -i wlp | awk -F: '{print $2}' | xargs# Use iw tool
iw dev | awk '$1=="Interface" {print $2}'# Use lshw to check wireless adapters
sudo lshw -C network \
| awk '/Wireless interface/,/logical name/ {print $3}' \
| tail -1
Passo 4: Criar um ficheiro de configuração NetPlan
Para configurar o netplan, fazer uma cópia do ficheiro de configuração existente, depois criar um novo em /etc/netplan/
com uma extensão .yaml
:
sudo cp /etc/netplan/00-installer-config.yaml /etc/netplan/00.bak
sudo vim /etc/netplan/00-installer-config.yaml
Para deixar a interface sem fios denominada wlp2s0
obter um endereço IP via DHCP, edite o ficheiro YAML com o seguinte:
network:
ethernetes: {}
wifis:
wlp2s0:
dhcp4: true
optional:true
access-points:
"network_ssid_name":
password: "**********"
version: 2
renderer: networkd
Para em vez disso definir um endereço IP estático:
network:
ethernetes: {}
wifis:
wlp2s0:
dhcp4: no
dhcp6: no
optional:true
addresses:
gateway4: 192.168.1.1
nameservers:
addresses:
access-points:
"network_ssid_name":
password: "**********"
version: 2
renderer: networkd
Ajustar o nome da interface sem fios, endereço IP estático, gateway, servidores de nomes e SSID/password Wi-Fi, conforme necessário.
Nota o optional: true
declarações-chave que permitem o arranque sem esperar que essas interfaces sejam activadas por completo.
Passo 5: Aplicar a Configuração do Netplan
Após terminar de editar o ficheiro YAML do netplan, gerar a configuração backend a partir dele e verificar se a configuração fornecida cumpre os padrões definidos:
sudo netplan --debug generate
Se tudo estiver em ordem, aplicar a configuração fornecida para utilização:
sudo netplan apply
Agora, reiniciar o servidor:
sudo reboot
Notas finais
Se o nome da interface sem fios não for apresentado, o adaptador sem fios pode não ter sido reconhecido como dispositivo de rede de um servidor. Pode dirigir-se ao site de ajuda Ubuntu para obter a informação específica de resolução de problemas:
https://help.ubuntu.com/stable/ubuntu-help/net-wireless-troubleshooting-hardware-check.html.en
O ficheiro netplan YAML é muito exigente quanto a indentação, espaçamento, e sem separadores. Veja o seguinte link para ajuda adicional:
https://netplan.io/examples
Por favor, certifique-se de introduzir o SSID Wi-Fi e a palavra-chave correctos no ficheiro netplan YAML. O comando netplan apply
será bem sucedido, mas a interface sem fios não será activada se fornecer um SSID ou palavra-passe Wi-Fi incorrecta.
Obrigado pela leitura!