diff --git a/source/pages/guides/acessando-sub-redes-internas.md b/source/pages/guides/acessando-sub-redes-internas.md index 472507c9a371a828241785629f62060348900337..af4339be203dd62c42a14fa24e90f724cf26daf8 100644 --- a/source/pages/guides/acessando-sub-redes-internas.md +++ b/source/pages/guides/acessando-sub-redes-internas.md @@ -4,7 +4,7 @@ ares-condicionados ou nobreaks) para algum tipo de manutenção utilizando dois artifÃcios: -* Liberar no [firewall da urquell](/pages/services/urquell-firewall) +* Liberar no [firewall interno](/pages/services/estrella-firewall) (que roteia as sub-redes internas) uma rota para a sub-rede e os protocolos que você estará acessando: @@ -24,7 +24,7 @@ que você estará acessando: ``` * Criar uma rota na sua máquina para as sub-redes desejadas através da -[](/pages/machines/base/urquell): +[](/pages/machines/base/estrella): ```bash $ sudo ip route add 10.17.101.0/24 via 200.17.202.3 @@ -34,5 +34,4 @@ que você estará acessando: Daà é possÃvel acessar o que estiver na sub-rede, inclusive usando DNS. Por exemplo, agora é possÃvel acessar a interface web do gerador através da URL <http://gerador.nobreak/>. É importante lembrar que os registros de DNS -das sub-redes estão disponÃveis na [](/pages/machines/base/urquell) -no diretório `/root/mapas/dns-dhcp/`. +das sub-redes estão disponÃveis no NetBox. diff --git a/source/pages/guides/teorica-dhcpv4.md b/source/pages/guides/teorica-dhcpv4.md deleted file mode 100644 index 446a0c4cf35e169b3bac406ffaba0c5bf67f85eb..0000000000000000000000000000000000000000 --- a/source/pages/guides/teorica-dhcpv4.md +++ /dev/null @@ -1,155 +0,0 @@ -# teorica/Servidor DHCPv4 - -:::{warning} - -Este é um documento inacabado que visa documentar a configuração do -[servidor DHCPv4 da urquell](/pages/services/urquell-dhcpv4) do zero. -::: - -O servidor DHCPv4 tem como função gerenciar o IPv4 de todas as redes internas -e externas, além também de indicar o servidor de boot remoto e servidor NTP. -Note que não é utilizado um servidor DHCPv6, pois -[o IPv6 é o autoconfigurado](/pages/concepts/autoconfig-ipv6). - -A configuração do servidor DHCP é dividida na parte automatizada cuidada pelo script -`atualiza-dns-dhcp.py` e a parte manual. Neste documento só iremos configurar a parte manual. - -## Passo 1: Instale o servidor de DHCP - -Para instalar o servidor DHCP no Debian use o comando abaixo: - -```console -$ apt-get install -y isc-dhcp-server -``` - -## Passo 2: Adicione as interfaces que o servidor DHCP deve gerenciar - -Após a instalação é necessário dizer para o servidor DHCP quais interfaces de redes ele deve -gerenciar, essa configuração está localizada no arquivo `/etc/default/isc-dhcp-server`. - -Considerando que existem apenas as interfaces: - -- hw -- fs -- vm -- boot - -Edite o arquivo `/etc/default/isc-dhcp-server`: - -```cfg -# Defaults for isc-dhcp-server (sourced by /etc/init.d/isc-dhcp-server) - -# Path to dhcpd's config file (default: /etc/dhcp/dhcpd.conf). -#DHCPDv4_CONF=/etc/dhcp/dhcpd.conf -#DHCPDv6_CONF=/etc/dhcp/dhcpd6.conf - -# Path to dhcpd's PID file (default: /var/run/dhcpd.pid). -#DHCPDv4_PID=/var/run/dhcpd.pid -#DHCPDv6_PID=/var/run/dhcpd6.pid - -# Additional options to start dhcpd with. -# Don't use options -cf or -pf here; use DHCPD_CONF/ DHCPD_PID instead -#OPTIONS="" - -# On what interfaces should the DHCP server (dhcpd) serve DHCP requests? -# Separate multiple interfaces with spaces, e.g. "eth0 eth1". -INTERFACESv4="hw fs vm boot" -INTERFACESv6="" -``` - -## Passo 3: Configure o arquivo principal do servidor DHCP - -O arquivo de configuração principal do DHCP está localizado em `/etc/dhcp/dhcpd.conf`. -É possÃvel dividir a configuração em duas partes: a geral que serve para todas -as sub-redes e as especÃficas que são a definição de cada sub-rede. - -### Passo 3.1 Configuração global - -A configuração global serve para todas as sub-rede. Os parâmetros definidos são: - -- `option arch code 93 = unsigned integer 16`: define o tipo de arquitetura que o servidor DHCP aceita, *RFC4578*. -- `allow bootp`: permite boot pelo protocolo BOOTP. -- `allow booting;`: permite boot pelo protocolo DHCP. -- `option ntp-server`: define o servidor de relógio para os clientes. -- `option domain-name-servers`: define o nome do servidor de DNS. -- `default-lease-time 3600`: define o tempo de renovação do IPv4. -- `max-lease-time`: define o tempo máximo para renovação do IPv4. -- `deny duplicates`: não permite nomes duplicados. -- `deny declines`: define como o servidor DHCP vai lidar com clientes que - recusarem o endereço distribuÃdo. Neste caso, recusar não é permitido. -- `use-host-decl-names on`: permite especificar o nome do dispositivo, - caso contrário o DHCP dará nome com base no endereço MAC. -- `option rfc3442-classless-static-routes code 121 = array of integer 8`: - permite passar rotas estáticas. Usada na VLAN 121 onde o - gateway da VLAN dos terminais é a urquell e não a roble. - -O inÃcio do arquivo deve ficar da seguinte forma: - -```cfg -# dhcpd.conf -allow booting; -allow bootp; -set vendorclass = option vendor-class-identifier; -option pxe-system-type code 93 = unsigned integer 16; -set pxetype = option pxe-system-type; - -option subnet-mask 255.255.255.0; -ddns-update-style none; - -default-lease-time 3600; -max-lease-time 3600; -deny duplicates; -deny declines; -use-host-decl-names on; -``` - -### Passo 3.2 Configuração das sub-redes - -A configuração das sub-rede normalmente segue o padrão abaixo: - -```cfg -# vms -subnet 172.16.5.0 netmask 255.255.255.0 { - range 172.16.5.200 172.16.5.254; - option domain-name-servers 172.16.5.5; - option domain-name "vms"; - option domain-search "vms"; - option routers 172.16.5.5; - option ntp-servers 172.16.5.5; - option broadcast-address 172.16.5.255; - allow unknown-clients; - next-server 172.16.5.5; - include "/etc/dhcp/includes/vms.dhcp"; -} - -# boot -subnet 172.16.6.0 netmask 255.255.255.0 { - range 172.16.6.200 172.16.6.254; - option domain-name-servers 172.16.6.5; - option domain-name "boot"; - option domain-search "boot"; - option routers 172.16.6.5; - option ntp-servers 172.16.6.5; - option broadcast-address 172.16.6.255; - allow unknown-clients; - if option arch=00:07 { - filename "boot/grub/x86_64-efi/core.efi"; - } else { - filename "boot/grub/i386-pc/core.0"; - } - next-server 172.16.6.5; - include "/etc/dhcp/includes/boot.dhcp"; -} -``` - -:::{note} -O diretório `/boot/grub/` só será configurado na parte de configuração dos terminais. -::: - -## Passo 4: Inicie e habilite o serviço do DHCP - -O próximo passo é iniciar e habilitar o serviço do DHCP: - -```console -systemctl enable --now isc-dhcp-server -``` diff --git a/source/pages/guides/teorica-firewall.md b/source/pages/guides/teorica-firewall.md deleted file mode 100644 index c9f90e6b1b0c3f4c512447c49f4c6a040119cd23..0000000000000000000000000000000000000000 --- a/source/pages/guides/teorica-firewall.md +++ /dev/null @@ -1,71 +0,0 @@ -# teorica/Firewall - -:::{warning} - -Este é um documento inacabado que visa documentar a configuração do -[firewall da urquell](/pages/services/urquell-firewall) do zero. -::: - -O firewall da urquell é utilizado para controlar as redes internas do departamento -e fazer NAT. E deve ser o mais simples possÃvel. Atualmente é -utilizado o `iptables` para fazer o firewall. - -## Passo 1: Instalação - -A instalação do iptables se dá pelo comando abaixo: - -```shell -apt-get install -y iptables -``` - -## Passo 2: Configuração - -A configuração do firewall fica no arquivo `/root/bin/firewall` que é um -script em bash como o exemplo abaixo: - -```shell -#!/bin/bash - -set -u -sleep 3 - -###ipt="/sbin/iptables -v" -ipt=/sbin/iptables - -ist=/sbin/iptables-save - -# ------------------------------------------------------------------------------ -# Fecha tudo, abre depois explicitamente o que quiser -$ipt -P INPUT DROP -$ipt -P FORWARD DROP -$ipt -P OUTPUT DROP -$ipt -F -$ipt -t nat -F -$ipt -X -# ------------------------------------------------------------------------------ - -# ------------------------------------------------------------------------------ -# INPUT e OUTPUT abertas -$ipt -A INPUT -p tcp --dport 113 -j REJECT - -$ipt -P INPUT ACCEPT -$ipt -P OUTPUT ACCEPT -# ------------------------------------------------------------------------------ - -# FORWARD: - -$ipt -N sai -$ipt -N entra -TERMS=10.254.0.0/16 -LAMIR=10.254.253.0/24 - -.... -$ipt -A FORWARD -m limit --limit 60/m -j LOG --log-prefix "fim: " -echo 1 > /proc/sys/net/ipv4/ip_forward - - -# outros - -# NAT para o ip 187 antigo da proinfodata (hardcoded no agente antigo) -$ipt -t nat -A PREROUTING -d 200.17.202.187 -j DNAT --to 200.17.202.115 -``` diff --git a/source/pages/guides/teorica-roteamento.md b/source/pages/guides/teorica-roteamento.md deleted file mode 100644 index 5fbe73c362f387ea81b6a8ff5963fe76a4018345..0000000000000000000000000000000000000000 --- a/source/pages/guides/teorica-roteamento.md +++ /dev/null @@ -1,148 +0,0 @@ -# teorica/Roteamento - -:::{warning} - -Este é um documento inacabado que visa documentar a configuração do -[roteamento da urquell](/pages/services/urquell-roteamento) do zero. -::: - -O systemd-network é responsável por criar todas as interfaces de rede da urquell. A servidora recebe -múltiplas VLANs, todas em modo *tagged*. As interfaces são gerenciadas pelo *systemd-networkd* -utilizando o script *configure_interfaces_systemd*. - -A configuração da rede é realizada via `systemd-networkd` para automatizar o processo foi escrito -um script em Python, sem uso de bibliotecas externas, que cria todos os arquivos de configuração -do `systemd-networkd`. Os passos para configurar as interfaces de redes são: - -## Passo 1: Clone o repositório - -O primeiro passo consiste em clonar o repositório do systemd-network e colocar dentro do diretório -`/root/modules`, para isso execute o comando abaixo - -```shell -git clone git@gitlab.c3sl.ufpr.br:C3Root/systemd-network.git /root/modules/systemd-network -``` - -:::{note} -O clone do repositório só vai funcionar se o Git estiver instalado e a chave SSH da -servidora estiver cadastrada no repositório ou no grupo para poder clonar via SSH. -::: - -## Passo 2: Configure o script - -O passo de configurar o script consiste em copiar o executável para `/root/bin/` e copiar os -arquivos de configuração para sua localização adequada, o `systemd_interfaces.ini` deve ficar no -diretório `/etc/` e os arquivos de configuração `rename_interfaces`, `routes` e -`interfaces` devem ser colocado em `/root/adm/rede/systemd`. Para configurar: - -### Passo 2.1: Copie os arquivos de configuração - -```shell -rsync -ah --mkpath /root/modules/systemd-network/config.ini /etc/systemd_interfaces.ini -rsync -ah --mkpath /root/modules/systemd-network/fixture/rede/{interfaces,rename_interfaces,routes} /root/adm/rede/systemd/ -ln -sf /root/modules/systemd-network/configure_interfaces_systemd.py /root/bin/configure_interfaces_systemd -``` - -:::{note} - -O uso do rsync para copiar os arquivos é devido à opção `--mkpath` que cria recursivamente o -diretório destino até o arquivo que é para copiar. -::: - -Após copiar os arquivos de configuração é necessário configurar eles. - -### Passo 2.2 Arquivos de configuração geral - -O arquivo `/etc/systemd_interfaces.ini` é o arquivo de configuração geral que o script utilizará, -é nesse arquivo em que define os caminhos para os outros arquivos de configuração e caminho de -executáveis como caminho do comando `ip`. - -A configuração mais básica do arquivo é a seguinte: - -```ini -[Global] -destdir=/etc/systemd/network -iproute2=/usr/bin/ip -systemctl=/usr/bin/systemctl - -[Rename] -path=/root/adm/rede/systemd/rename_interfaces -prefix=10-AUTOGENERATED-rename_{mac}_to_{name}.link - -[Routes] -path=/root/adm/rede/systemd/routes -prefix=50-AUTOGENERATED-routes - -[Interfaces] -path=/root/adm/rede/systemd/interfaces -routes_conf=50-AUTOGENERATED-routes -dev_prefix=30-AUTOGENERATED_configure_{dev}.network -interface_configure_prefix=/30-AUTOGENERATED_configure_{name}.network -vlan_create_cfg=20-AUTOGENERATED_create_vlan_{name}.netdev -vlan_setup_prefix=40-AUTOGENERATED_configure_{name}.network -``` - -### Passo 2.3: Tabelas de configuração de rede - -As interfaces de redes são geridas por 3 arquivos em forma de tabela que renomear o link e cria -bridges para cada VLAN tagged. - -O primeiro arquivo é o `/root/adm/rede/systemd/rename_interfaces` que deve ter o formato: - -``` -# mac | nome -12:34:56:78:9a:bc | lan0 -``` - -O segundo arquivo de configuração é o `/root/adm/rede/systemd/routes`, que deve ter o formato de: - -``` -# para adicionar uma rota padrao escreva 'default' no campo 'Faixa de IPs' -# -# Faixa de IPs | gateway -default | 200.17.202.62 -default | 2801:82:80ff:8001::1 -``` - -O terceiro e último arquivo de configuração é o `/root/adm/rede/systemd/interfaces`, que mapeia -VLAN em *bridges*: - -``` -# Os campos nao podem ter whitespace, exceto o de comentario, caso exista o whitespace sera removido - -# Todos os campos sao opcionais, exceto o placa - -# placa| nome | vlan | ipv4/mask | ipv6/mask | comentario -lan0 | HW | 113 | 172.16.113.3/24 | | nfs: boot remoto das bases (.hw) -lan0 | XVMS | 221 | 172.16.221.3/24 | | virtuais -lan0 | XHPC | 100 | 172.16.100.3/24 | | HPC -lan0 | XFS | 99 | 172.16.99.3/24 | | FS -``` - -A configuração está terminada, basta ir para o passo de executar o script. - -## Passo 3: Execute o script - -Após configurar o arquivo de configuração `/etc/systemd_interfaces.ini` e as tabelas de -configuração do systemd-network execute o script: - -```shell -/root/bin/configure_interfaces_systemd -``` - -## Passo 4: Ative o systemd-networkd - -É necessário ativar e habilitar o serviço de rede do systemd. Para isso execute o comando abaixo que -faz as duas coisas: - -```shell -systemctl enable --now systemd-networkd -``` - -## Passo 5: Reinicie a servidora - -É necessário reiniciar a servidora para garantir que todas as interfaces entrem corretamente: - -```shell -systemctl reboot -``` diff --git a/source/pages/machines/base/estrella.md b/source/pages/machines/base/estrella.md index fd00341bab0bb403ebba3f1163cce388b671ec68..f3024b7a1d4ac45485d0a3eec5e78b822c6f35d7 100644 --- a/source/pages/machines/base/estrella.md +++ b/source/pages/machines/base/estrella.md @@ -19,14 +19,18 @@ - [](/pages/concepts/btrfs) RAID1 2.7T ::: -A Estrella é a máquina fÃsica responsável pelo boot remoto e futuramente a -atribuição de IPv4s e o roteamento da rede interna do departamento de informática. +A Estrella é a máquina fÃsica responsável pelo boot remoto, atribuição de IPv4 +e o roteamento da rede interna do departamento de informática. Esta máquina não possui usuário `root` acessÃvel; utilize o usuário `c3slops` para gerência e prefira a configuração dos serviços através do [](/pages/concepts/ansible). O becape pode ser feito utilizando o usuário `root` pois existe uma configuração utilizando `rrsync` que permite que o usuário `root` seja utilizado apenas para cópia de segurança. + ## Serviços - [Boot remoto feito com servidores TFTP e NFS](/pages/services/estrella-boot-remoto). +- [Roteamento das sub-redes internas](/pages/services/estrella-roteamento) +- [Servidor DHCPv4 que atribui IPv4s e informa os endereços dos servidores de DNS, lista de buscas de DNS, o endereço do servidor de boot remoto e o servidor NTP](/pages/services/estrella-dhcpv4) +- [Firewall que controla todas as entradas e saÃdas das redes internas](/pages/services/estrella-firewall) diff --git a/source/pages/machines/base/roble.md b/source/pages/machines/base/roble.md index 8e0a61cc28198cd84f59228be7c869ad19325ef0..6d23305441f89bf30533363c531d020de7b0d057 100644 --- a/source/pages/machines/base/roble.md +++ b/source/pages/machines/base/roble.md @@ -24,4 +24,4 @@ A roble é a máquina fÃsica que é roteador de toda a rede. - [Servidor de anúncio de roteador IPv6](/pages/services/roble-radvd) necessário para que a autoconfiguração do IPv6 funcione corretamente. - [Retransmissor de DHCP simples](/pages/services/roble-relay-dhcp) para permitir a comunicação entre as sub-redes e o - [servidor DHCPv4 da urquell](/pages/services/urquell-dhcpv4). + [servidor DHCPv4 da estrella](/pages/services/estrella-dhcpv4). diff --git a/source/pages/machines/base/urquell.md b/source/pages/machines/base/urquell.md index e77dc8e10a8eb6dd99749ae6557336c3ab79e2c6..7dddb9bc9aefc283cd34f7f3328069031eea737f 100644 --- a/source/pages/machines/base/urquell.md +++ b/source/pages/machines/base/urquell.md @@ -16,9 +16,9 @@ * - **Sistema de arquivos** `/var` - [](/pages/concepts/ext4) [MD RAID1](/pages/concepts/md) 156G * - **Sistema de arquivos** `/nobackup` - - [](/pages/concepts/ext4) [MD RAID10](/pages/concepts/md) 22T + - [ZFS Mirror 3x3](/pages/concepts/zfs) 13.6T * - **Sistema de arquivos** `/home` - - [](/pages/concepts/ext4) [MD RAID10](/pages/concepts/md) 22T + - [ZFS Mirror 3x3](/pages/concepts/zfs) 13.6T ::: A Urquell é a máquina fÃsica que gerencia o DINF que acabou recebendo a tarefa @@ -41,33 +41,10 @@ Alguns cuidados devem ser observados no gerenciamento desta máquina: erros de RAID não é feita com mais frequência devido à sensibilidade dos arquivos presentes da máquina. Veja mais sobre na [polÃtica de gerenciamento do RAID](/pages/policies/raid). -- A urquell deve usar o mÃnimo de pacotes externos e ficar o mais próximo - possÃvel dos pacotes-base do Debian. No geral, seguimos todas as polÃticas - recomendadas do Debian à risca em busca de ter mais estabilidade e ter mais - facilidade para gerenciar e procurar ajuda. Veja mais sobre na - [polÃtica de atualizações](/pages/policies/atualizacoes). -- O serviço de quota não funciona após reiniciar a urquell; isso é resultado - um bug introduzido na troca do [](/pages/concepts/initd) para o - [](/pages/concepts/systemd). -- Um bug presente no Debian 11 é que há um problema de concorrência entre o - serviço de DNS e o NFS. O NFS depende do DNS, e o serviço de DNS informa - prematuramente que está pronto, levando o systemd a iniciar os serviços - dependentes, como o NFS, mesmo não estando realmente pronto. O NFS então - falha a iniciar, sendo necessário reiniciar o serviço através do - `systemctl restart nfs` para que ele inicie corretamente. - Para garantir a integridade, nas outras máquinas deve ser feito um `remount` - do sistema de arquivos do NFS. -- O serviço `postfwd` não se comporta corretamente com o comando - `systemctl reload postfwd` ou `systemctl restart postfwd`, recomenda-se - utilizar `service postfwd reload` ou `service postfwd restart`. -- A atualização para o Debian 12 está atualmente vetada. ## Serviços - [Servidor DNS primário dos domÃnios externos c3sl.ufpr.br, inf.ufpr.br e dos domÃnios internos c3local, home, dfs, nobreak, arcond](/pages/services/urquell-dns). -- [Servidor DHCPv4 que atribui IPv4s e informa os endereços dos servidores de DNS, lista de buscas de DNS, o endereço do servidor de boot remoto e o servidor NTP](/pages/services/urquell-dhcpv4) (será movido para a [](/pages/machines/base/estrella)). -- [Roteamento das sub-redes internas](/pages/services/urquell-roteamento) (será movido para a [](/pages/machines/base/estrella)). -- [Firewall que controla todas as entradas e saÃdas das redes internas](/pages/services/urquell-firewall) (será movido para a [](/pages/machines/base/estrella)). - [Autenticação do Departamento de Informática que utiliza Kerberos e LDAP.](/pages/services/urquell-autenticacao-dinf) - Servidor NTP - Servidor de e-mail Postfix diff --git a/source/pages/proposals/gerenciamento-redes-netbox.md b/source/pages/proposals/gerenciamento-redes-netbox.md index 66e957233a7a7acd5ac4aafc8250ed0506d63d63..35af5b5ff83b10c9de5d943ec77ec56027c179ee 100644 --- a/source/pages/proposals/gerenciamento-redes-netbox.md +++ b/source/pages/proposals/gerenciamento-redes-netbox.md @@ -419,7 +419,7 @@ Podemos também por exemplo gerar arquivos texto automaticamente através dos dados do NetBox, por exemplo no formato dos arquivos texto do mapa DNS/DHCP da Urquell: -```config +``` # # xc3sl - VLAN 222 (254 hosts) # diff --git a/source/pages/proposals/mover-boot-remoto-urquell.md b/source/pages/proposals/mover-boot-remoto-urquell.md index ecf69ee5f0ff526b27c3706a10a51934a88bc806..6ff876cb63b460bb66dda9009e3207e9d9b5a7bd 100644 --- a/source/pages/proposals/mover-boot-remoto-urquell.md +++ b/source/pages/proposals/mover-boot-remoto-urquell.md @@ -11,7 +11,7 @@ que ele seja modificado mais facilmente. Hoje o processo do boot remoto das máquinas é feito através das seguintes etapas: -1. O sistema PXE da máquina conversa com o [servidor de DHCPv4 da urquell](/pages/services/urquell-dhcpv4). O servidor além de configurar o IPv4 da máquina, responde com as seguintes configurações: +1. O sistema PXE da máquina conversa com o servidor de DHCPv4 da urquell. O servidor além de configurar o IPv4 da máquina, responde com as seguintes configurações: * Opção `root-path`: geralmente algo como `/exports/terminais/imagem/{}/`, a localização da imagem atual dos terminais no NFS. * Opção `next-server`: geralmente `10.254.222.3`, o IP da própria urquell. diff --git a/source/pages/services/duvel-ipmi.md b/source/pages/services/duvel-ipmi.md index 2de81c1aeb8f5a3ef3adc96242582e3a61fb58a5..4b211190831098d0fe31b8615dfbadb63ab8bdfc 100644 --- a/source/pages/services/duvel-ipmi.md +++ b/source/pages/services/duvel-ipmi.md @@ -2,9 +2,6 @@ Da [](/pages/machines/base/duvel) é possÃvel acessar várias máquinas via IPMI. -```{ipmitable} -``` - Algumas máquinas o console só funciona até a inicialização do kernel, daà para de aparecer coisas na tela. Isso se deve a alguma configuração errada no sistema operacional em relação ao redirecionamento do `tty1` para `ttyS1`. Uma diff --git a/source/pages/services/estrella-boot-remoto.md b/source/pages/services/estrella-boot-remoto.md index 74d61fe0d4fab01aaee7dc347134084428c6b69d..32af695f79279c5f678008ae8139e1253713241a 100644 --- a/source/pages/services/estrella-boot-remoto.md +++ b/source/pages/services/estrella-boot-remoto.md @@ -43,7 +43,7 @@ servidor TFTP localizado neste endereço procurando pelo arquivo da opção DHCP `filename`. 4. O PXE executa o arquivo baixado como um binário. -O [servidor de DHCPv4](/pages/services/urquell-dhcpv4) está configurado para +O [servidor de DHCPv4](/pages/services/estrella-dhcpv4) está configurado para que a opção de DHCP `filename` seja o caminho `boot/grub/x86_64-efi/core.efi` para hosts 64 bits e `boot/grub/i386-pc/core.0` para hosts 32 bits. Este binário que é executado é o GRUB 2. O GRUB procura o arquivo de configuração `boot/grub/grub.cfg` diff --git a/source/pages/services/estrella-dhcpv4.md b/source/pages/services/estrella-dhcpv4.md new file mode 100644 index 0000000000000000000000000000000000000000..d0a89439b1c5c6188904840bd6fac78d9c3b53a6 --- /dev/null +++ b/source/pages/services/estrella-dhcpv4.md @@ -0,0 +1,32 @@ +# estrella/Servidor DHCPv4 + +O servidor de DHCP da [](/pages/machines/base/estrella), o Kea tem como função de atribuir +o IPv4 as máquinas da rede. Além disso, ele também indica o endereço dos servidores +de DNS, lista de buscas de DNS, o endereço do servidor de boot remoto e o +servidor NTP. O servidor faz isso seletivamente, oferecendo informações +diferentes dependendo do endereço MAC utilizado pelo cliente para colocá-lo +em uma determinada sub-rede (associada a uma VLAN). + +:::{note} +Não usamos um servidor DHCPv6, sendo os [IPv6 atribuÃdos via autoconfiguração](/pages/concepts/autoconfig-ipv6). +::: + +A configuração do servidor DHCP é feita através do NetBox. Nas [interfaces de +rede da estrella no NetBox](https://netbox.c3sl.ufpr.br/dcim/devices/49/interfaces/) +é possÃvel achar o campo "Prefixos do Servidor DHCP", que contém as sub-redes +assinaladas a cada interface de rede. Dentro de cada prefixo é possÃvel configurar: + +* Rotas Estáticas +* Caminho de Arquivo de Boot +* Servidor de TFTP para Boot +* Servidores DNS +* DomÃnios de Busca +* Kernel de Boot +* Servidor NTP +* Roteador +* Tempo de Vida do DHCP (segundos) + +Em cada IP individual também é possÃvel configurar um Kernel de Boot diferente. + +Os scripts em Ansible leem as informações do NetBox e criam o arquivo de configuração +`/etc/kea/kea-dhcp4.conf` que configura o Kea. diff --git a/source/pages/services/estrella-firewall.md b/source/pages/services/estrella-firewall.md new file mode 100644 index 0000000000000000000000000000000000000000..75f69d474b5b2eb195bb648c8fa6c76521f1dcf9 --- /dev/null +++ b/source/pages/services/estrella-firewall.md @@ -0,0 +1,8 @@ +# estrella/Firewall Interno + +O firewall da [](/pages/machines/base/estrella) é utilizado para controlar as +redes internas do Departamento de Informática. Utilizamos o `nftables` para +fazer a filtragem dos pacotes. O firewall é contido num arquivo, o +`/etc/nftables.conf`. Ao fazer uma alteração, execute o arquivo e as regras +serão aplicadas de forma atômica, ou seja, se o arquivo tiver erros de sintaxe, +a configuração nova não será aplicada. diff --git a/source/pages/services/estrella-roteamento.md b/source/pages/services/estrella-roteamento.md new file mode 100644 index 0000000000000000000000000000000000000000..a4f997ef870420c7727ca7f17fa4cac3dea5ef19 --- /dev/null +++ b/source/pages/services/estrella-roteamento.md @@ -0,0 +1,9 @@ +# urquell/Roteamento + +A [](/pages/machines/base/estrella) faz o roteamento interno IPv4 da rede. +O serviço responsável pela administração das interfaces de rede é o `systemd-networkd`. +A máquina recebe múltiplas VLANs em modo *tagged*. A configuração é feita via Ansible. + +Em todas as sub-redes, a [](/pages/machines/base/estrella) possui o último IP +válido da subrede, ou seja, na subrede 10.254.221.0/24 por exemplo, o IP do roteador +é 10.254.221.254 (o IP .255 é de broadcast). diff --git a/source/pages/services/forsyn-monitoramento-zabbix.md b/source/pages/services/forsyn-monitoramento-zabbix.md index 103b48be984bae688069a87e461d4dc5ffee4ba9..417059b1f1dc3f74055696617d133c900d7dcee3 100644 --- a/source/pages/services/forsyn-monitoramento-zabbix.md +++ b/source/pages/services/forsyn-monitoramento-zabbix.md @@ -39,7 +39,7 @@ Essa máquina tem conexão direta de 10Gb com o switch Nomes que apontam para essa máquina: - `forsyn.c3sl.ufpr.br`, `forsyn.dfs`, `forsyn.arcond`: Nome da forsyn - nas subredes; + nas sub-redes; - `monitoramento.c3sl.ufpr.br`, `monitoramento.dfs`, `monitoramento.arcond`: CNAMEs utilizados pelos *agents* para identificar o servidor de monitoramento; diff --git a/source/pages/services/roble-relay-dhcp.md b/source/pages/services/roble-relay-dhcp.md index 58409a961daf7dbe18a0eeded761f270353d254e..58b77172a1c3a6c20ce956d0e21857179b06518c 100644 --- a/source/pages/services/roble-relay-dhcp.md +++ b/source/pages/services/roble-relay-dhcp.md @@ -3,13 +3,18 @@ A [](/pages/machines/base/roble) implementa um retransmissor de DHCP, o [](/pages/concepts/dhcp-helper). Assim, toda VLAN que é roteada pela [](/pages/machines/base/roble), que são todas as VLANs públicas precisam ser -configuradas neste arquivo para conseguir fazer [DHCPv4 na urquell](urquell-dhcpv4). +configuradas neste arquivo para conseguir fazer [DHCPv4 na estrella](estrella-dhcpv4). A configuração é feita em `/etc/default/dhcp-helper`, e é bem simples, por exemplo: ``` -DHCPHELPER_OPTS="-s 200.17.202.3 -i C3SL -i MVC3 -i MVOUTROS -i VRI -i AGTIC -i PROF -i LARSIS" +DHCPHELPER_OPTS="-s 200.17.202.12 -i C3SL -i MVC3 -i MVOUTROS -i VRI -i AGTIC -i PROF -i LARSIS" ``` -Aqui, definimos que o IP do servidor DHCP (no caso, o IP da urquell) e quais +Aqui, definimos que o IP do servidor DHCP (no caso, o IP da estrella) e quais VLANs devem ser servidas pelo [](/pages/concepts/dhcp-helper). + +O uso do retransmissor faz com que o servidor DHCP consiga diferenciar de qual +sub-rede uma determinada requisição pertence, pois a retransmissão é feita +no IPv4 de broadcast na sub-rede, e não mais em todas as sub-redes como +na requisição do DHCP original. diff --git a/source/pages/services/urquell-dhcpv4.md b/source/pages/services/urquell-dhcpv4.md deleted file mode 100644 index 0ba42ca8a6f6c5e202180176f65ec3bcef601428..0000000000000000000000000000000000000000 --- a/source/pages/services/urquell-dhcpv4.md +++ /dev/null @@ -1,23 +0,0 @@ -# urquell/Servidor DHCPv4 - -:::{note} -Há um trabalho concorrente para replicar a configuração do servidor DHCPv4 -da urquell. A documentação atual é o [guia de configuração -do servidor de DHCP da teorica](/pages/guides/teorica-dhcpv4). -::: - -O servidor de DHCP da [](/pages/machines/base/urquell) tem como função de atribuir -o IPv4 as máquinas da rede. Além disso, ele também indica o endereço dos servidores -de DNS, lista de buscas de DNS, o endereço do servidor de boot remoto e o -servidor NTP. O servidor faz isso seletivamente, oferecendo informações -diferentes dependendo do endereço MAC utilizado pelo cliente para colocá-lo -em uma determinada sub-rede (associada a uma VLAN). - -:::{note} -Não usamos um servidor DHCPv6, sendo os [IPv6 atribuÃdos via autoconfiguração](/pages/concepts/autoconfig-ipv6). -::: - -A configuração do servidor DHCP é dividida na parte automatizada feita pelo -script `/root/bin/atualiza-dns-dhcp.py` que atualiza o diretório -`/etc/dhcp/includes/` e a parte manual que fica em `/etc/dhcp/dhcp.conf`. O -script lê os arquivos de configuração que ficam em `/root/mapas/dns-dhcp/`. diff --git a/source/pages/services/urquell-dns.md b/source/pages/services/urquell-dns.md index 3439543a95c26d15d3ccfb429fdabe370e95ff06..2659f0697756717a517134973d9982fb06d55157 100644 --- a/source/pages/services/urquell-dns.md +++ b/source/pages/services/urquell-dns.md @@ -11,7 +11,7 @@ A [](/pages/machines/base/urquell) é servidora primária e autoritativa de DNS - `c3sl.ufpr.br`: domÃnio do C3SL, autoridade dada pela AGTIC. - `inf.ufpr.br`: domÃnio do Departamento de Informática, autoridade dada pela AGTIC. - `c3local`: domÃnio interno usado para máquinas dos laboratórios, - acoplado ao [serviço de DHCPv4](urquell-dhcpv4). + acoplado ao [serviço de DHCPv4](estrella-dhcpv4). - `home`: domÃnio interno usada para máquinas que montam o diretório home através do NFS como a [](/pages/virtuals/macalan). - `dfs`: domÃnio interno usado para sistemas de arquivos distribuÃdos. @@ -35,7 +35,7 @@ legitimamente para as nossas chaves. Além de ser servidora de DNS autoritativa, a [](/pages/machines/base/urquell) também é a servidora de DNS recursiva da rede interna e os computadores aprendem -isso através do [servidor DHCPv4](/pages/services/urquell-dhcpv4). Isso significa +isso através do [servidor DHCPv4](/pages/services/estrella-dhcpv4). Isso significa que praticamente todas as consultas de nomes são feitas a ela (para resolver o IP de qualquer nome como `google.com`). Mas essa funcionalidade está limitada a rede interna para evitar alguns tipos de ataques de DNS. diff --git a/source/pages/services/urquell-firewall.md b/source/pages/services/urquell-firewall.md deleted file mode 100644 index 653105b4b0d08d6d544ae0fa889581330d3fa70d..0000000000000000000000000000000000000000 --- a/source/pages/services/urquell-firewall.md +++ /dev/null @@ -1,19 +0,0 @@ -# urquell/Firewall - -:::{note} -Há um trabalho concorrente para replicar a configuração do firewall -da urquell. A documentação atual é o [guia de configuração -do firewall da teorica](/pages/guides/teorica-firewall). -::: - -O firewall da [](/pages/machines/base/urquell) é utilizado para controlar as -redes internas do Departamento de Informática e fazer NAT (*Network Address -Translation*) e deve ser o mais simples possÃvel. -Atualmente é utilizado o `iptables` e há um estudo em andamento para o -uso do `nftables`. - -O espÃrito do script do firewall é idêntico ao -do [firewall da roble](/pages/services/roble-firewall). -O arquivo de configuração fica em `/root/bin/firewall`, não existindo uma -configuração de IPv6. Para mudar o firewall, é necessário alterar o arquivo -e executá-lo. diff --git a/source/pages/services/urquell-roteamento.md b/source/pages/services/urquell-roteamento.md deleted file mode 100644 index 904c51de7768cef18c57e1e481b7e4bbf1ea4cbe..0000000000000000000000000000000000000000 --- a/source/pages/services/urquell-roteamento.md +++ /dev/null @@ -1,11 +0,0 @@ -# urquell/Roteamento - -:::{note} -Há um trabalho concorrente para replicar a configuração de roteamento -da urquell. A documentação atual é o [guia de configuração -do roteamento da teorica](/pages/guides/teorica-roteamento). -::: - -A [](/pages/machines/base/urquell) faz o roteamento interno da rede. O serviço -responsável pela criação das interfaces de rede é o `systemd-network`. -A máquina recebe múltiplas VLANs todas em modo *tagged*. diff --git a/source/pages/virtuals/bbb.md b/source/pages/virtuals/bbb.md index e14072494997175a703e0a59ae13b063b0adc79f..91fe9812bf0007c61dc232f74c4ca811c1c1c715 100644 --- a/source/pages/virtuals/bbb.md +++ b/source/pages/virtuals/bbb.md @@ -65,13 +65,12 @@ A virtual está em uma única VLAN, MVC3. E as configurações de firewall atuai --dports 16384:32768 -j ACCEPT ``` - No [firewall da urquell](/pages/services/urquell-firewall): + No [firewall da estrella](/pages/services/estrella-firewall): ``` - $ ipt -A sai -p all -d bbb -j ACCEPT - $ ipt -A entra -p all -s bbb -j ACCEPT - $ ipt -A FORWARD -p udp -d bbb -m multiport \ - --dports 16384:32768 -j ACCEPT + chain FORWARD { ip daddr bbb.c3sl.ufpr.br udp dport 16384-65535 counter packets 0 bytes 0 accept } + chain entra { ip saddr bbb.c3sl.ufpr.br counter packets 0 bytes 0 accept } + chain sai { ip daddr bbb.c3sl.ufpr.br counter packets 0 bytes 0 accept } ``` Note que o nome da virtual é bbb, então nas regras se está utilizando `bbb`.