Pós instalação do Archlinux para Servidores
Quando eu comecei esse blog eu fiquei pensando sobre o que escrever, e na realidade vi que existem poucas coisas que realmente são necessárias, uma delas (que era pra ser o primeiro post) era o de montar um servidor caseiro com usando a distribuição Archlinux, sendo que o mesmo só tivesse uma única placa de rede :)
Neste post eu vou desconsiderar que quem terminou de instalar o Arch em seu computador tenha feito alguma modificação na instalação padrão do mesmo (ou seja base full com as configurações que ele sugere).
1 - Configurando a internet
Considerei para os determinados fins que minha rede seria totalmente colocada no switch ou seja, meu modem e os demais computadores estão todos ligados no switch, assim como o meu servidor Archlinux. Sendo assim podemos começar a configurar a internet no servidor:
# pppoe-setup
Aqui você precisará ler um pouco de inglês para seguir as instruções, ele irá pedir:
a. Seu usuário (usuário da adsl)
b. Seu servidor dns (caso seja automático, simplesmente escreva “server” sem as aspas e tecle )
c. Sua senha (senha do usuário adsl)
d. Método do Firewall, aqui escolha 2 (MASQUERADE)
Depois de terminar de configurar seu discador simplesmente poderá discar com pppoe-start.
Obs: É de suma importância que você ligue o modem antes de todos os computadores espetados no switch, sendo o servidor Arclinux o seguinte, e somente depois que o mesmo estiver inteiramente ligado (e bootado), você poderá terminar de upar sua rede (sem ordem necessária).
Bom, levando em consideração que você obteve sucesso na conexão:
# ping [qualquer host]
Obs: Estou usando [ ] para indicar que pode ser qualquer host, porém precisará informar um host (ex: ping www.archlinux-br.org)
Agora que sua conexão já foi verificada (o ping retornou normalmente) poderemos então atualizar o nosso sistema:
# pacman -Syu
Entre com “y” como resposta para todas as perguntas e espere que o pacman atualize seu servidor. Logo após reinicie a máquina:
# reboot
2 - Adicionando o primeiro usuário
Bom, até aqui nenhum segredo, simplesmente conectamos o nosso servidor na internet e fizemos com que ele se atualizasse toda a base de pacotes. Vamos então configurar então o nosso primeiro usuário:
# adduser
Novamente será apresentado um dialog interativo, siga os passos.
3 - Configurando o teclado
No meu caso uso Brasil-ABNT2, creio que todos estejam usando o mesmo:
# loadkeys /usr/share/Kbd/Keymaps/i386/qwerty/br-abnt2
4 - Configurando o nosso sistema para que fique em português
Obs: O pacman ainda que em seu funcionamento rotineiro esteja com o locale (configurações locais) funcionando perfeitamente, contém um bug (até quando eu estive fazendo esse artigo) que se você executar os comandos:
# pacman -Sc
ou
# pacman -Scc
Ele exibirá se você tem certeza que deseja deletar o cache, simplesmente escolhendo “s”, como informado, ele ignora, pois não tem o locale neste caso, logo se for escolher remover o cache do pacman, entre com a reposta em inglês, no caso “y”.
Configurações de regiões:
# vi /etc/locale.gen
Remova o comentário das linhas:
pt_BR.UTF-8 UTF-8
pt_BR ISO-8859-1
Salve o arquivo (no caso do vi :wq), e execute o comando:
# locale-gen
Ele irá gerar todas as configurações para que seu sistema esteja em pt-br. Edite o arquivo principal de configuração do sistema:
# vi /etc/rc.conf
Editem as seguintes linhas para que fiquem assim:
locale = “pt_BR.UTF8″ (UTF-8)
timezone = “Sao_Paulo/America”
hostname = “”
keymap=”br-abnt2″
Obs: Todas as aspas deverão ser usadas, e em por convenção eu uso como opção, ou seja, seria alguma coisa opicional, ou então como precinar seria apertar a tecla enter. Ou seja, em hostname, por exemplo entre com “archlinux”.
Agora reiniciaremos o computador:
# reboot
Bom, temos o computador com o sistema base atualizado e configurado para a nossa lingua, com o teclado funcionando também (muitos utilizam a configuração do teclado na instalação do sistemas, mas se você também for apressado igual eu, esqueceu de configurar :-))
4 - Configurando acesso remoto seguro
Vamos começar a instalar os programas para compartilhar a internet, antes de mais nada vamos instalar o openssh (para suporte remoto, e configurar o mesmo para que não seja tão “vulnerável” quanto a configuração padrão)
# pacman -Sy openssh
# vi /etc/ssh/sshd_config
Descomente e mude a linha:
Port 22 p/ Port x (sendo x o número que você escolher, simplesmente interprete que precisaremos mudar a porta padrão, para evitar os bots que ficam escaneando os computadores, e precisaremos mais tarde, lembrar da mesma porta para podermos fazer acesso remoto em nosso servidor).
Descomente também:
LoginGraceTime 1m
PermitRootLogin no
StrictModes yes
MaxAuthTries 2
MaxStartupes 5:80:10
PermitTunnel no
Salve e Feche. Com essas configurações (as opções são autoexplicativas) temos como fazer acesso remoto em nosso servidor sem precisar nos preocuparmos com os scan bots, vamos editar então mais algumas opções:
#vi /etc/hosts.deny
Comente a linha:
ALL:ALL:DENY
5 - Roteando a internet com o DnsMasq
Pronto, agora já estamos com o nosso acesso remoto devidamente configurado. Seguiremos então para compartilhar a internet entre os outros computadores da rede:
# pacman -Sy dnsmasq
O pacman vai instalar o dnsmasq que usaremos como servidor proxy e dns.
# vi /etc/dnsmasq.conf
Vamos descomentar as linhas:
domain-needed
bogus-priv
filterwin2k
interface=eth0
Primeira dhcp range (existem mais de uma linha de dhcp range no arquivo de configuração, descomente a primeira)
Salve e feche o arquivo, então editemos o outro:
# vi /etc/sysclt.conf
net.ipv4.ip_forwared=1
kernel.syssrq=1
tcp_syncookies=1
Salve e feche também este arquivo, então teremos nossa internet sendo compartilhada, mas ainda não acabou, eu ainda vou configurar o firewall e realizar algumas modificações para que seu servidor seje totalmente automático, bastando somente ligá-lo para que o mesmo já esteja compartilhando a internet automaticamente.
6 - Instalando o firewall
Finalmente estamos quase terminando o servidor, só falta cuidar um pouco da parte de segurança do mesmo. Vamos então instalar um firewall.
# pacman -Sy iptables
# iptables-save
# vi /etc/ppp/firewall-masq
No arquivo de configuração do firewall, comente a seguinte linhas:
iptables -t filter -P INPUT DROP
Depois em baixo da linha “iptables -t filter -F adicione a seguinte linha:
iptables -t filter -P FORWARD ACCEPT
Comente também as seguintes linhas e seus respectivos grupos:
Allow incoming SSH
Log & Deny the rest of the privileged ports
Log & Deny NFS
Log & Deny X11
Log & Deny XFS
Deny TCP connection attempts
Pronto, seu firewall está configurado. Vamos então instalar mais alguns serviços, (igd e upnp).
7 - Instalando e configurando o servidor UPNP
Primeiramente, quando escrevi este artigo não se encontravam os dois pacotes nos repositórios community, porém estavam os 2 no aur, logo vamos fazer o download dos mesmos:
# wget http://aur.archlinux.org/packages/Linuxigd/Linuxigd.tar.gz
# wget http://aur.archlinux.org/packages/Libupnp/Libupnp.tar.gz
O processo de instalação no Archlinux sem o pacman também se dá de maneira bem simples, basta descompactar o pacote, gerar o .pkg (binário) e usar o pacman (ops) para instalar:
# tar -zxvf Libupnp.tar.gz
# cd Libupnp
# makepkg
# pacman -U Libupnp.pkg (o pacote gerado pelo makepkg)
# tar -zxvf Linuxigd.tar.gz
# cd Linuxigd
# makepkg
# pacman -U Linuxigd.pkg (o pacote gerado pelo makepkg)
Agora com os 2 pacotes instalados, vamos então startar a daemon upnpd
# /etc/rc.d/upnpd start
Pronto, servido upnp rodando :)
8 - Configurando arquivo de inicialização (parte de DAEMONS)
# vi /etc/rc.conf
Deixe a lista de Daemons assim:
(sys-log network !netfs !crond adsl sshd dnsmasq upnp)
Agora só precisamos reiniciar o computador vuala, servidor upado e compartilhando a internet até com direito à upnp.
Espero que tenham gostado, até o próximo post.