diff --git a/source/pages/proposals/device.png b/source/pages/proposals/device.png new file mode 100644 index 0000000000000000000000000000000000000000..cea8d2f13242ecdc815911bc595cac519140dd1a Binary files /dev/null and b/source/pages/proposals/device.png differ diff --git a/source/pages/proposals/gerenciamento-redes-netbox.md b/source/pages/proposals/gerenciamento-redes-netbox.md index 5260007e313d9d65cf4410d5801a5ec092a9aa57..61b68ce6d0740444b40b3290bfe4998b172d9762 100644 --- a/source/pages/proposals/gerenciamento-redes-netbox.md +++ b/source/pages/proposals/gerenciamento-redes-netbox.md @@ -304,3 +304,165 @@ Git (ou copiar o arquivo da máquina) e alterar o que está na máquina manualme ou via Ansible. Note que isso não é diferente do que acontece se um script que gera configuração a partir de arquivos texto falhar: você vai ter que editar as configurações. + +## Implementação do DHCP na estrella + +Primeiro foram trazidos todos as VLANs da rede como mostra a figura abaixo. Cada +VLAN possui descrição e seus prefixos de rede associados. + + + +Em seguida foram trazidos todos os prefixos de rede usados no DHCP da urquell. +Por exemplo o subconjunto de redes internas pode ser encontrado na figura abaixo. + + + +Foram criados campos customizados para o DHCP: domÃnios de busca, roteador, kernel +de boot, servidores DNS, servidor NTP, caminho do boot e servidor de boot além +do tempo de vida DHCP. Assim todos esses campos podem ser customizados por +prefixo de rede. Note que os campos são de objetos, então o roteador por exemplo +tem que ser um IP que existe dentro do NetBox para ser válido. E dentro de cada +prefixo são encontrados vários IPs mapeados como mostra a figura abaixo. + + + +Assim, é fácil ver qual IP está mapeado para qual máquina. Podemos configurar +campos especÃficos como o kernel de boot para algumas máquinas, e definir o +nome do host de cada uma delas. Essa informação é que será usada para definir +o DNS futuramente. E lembrando claro que cada IP é associado a uma interface +que tem um endereço MAC e a um dispositivo que pode ser colocado em um rack +do Data Center ou estar localizado em uma sala, contando com informações como +número de patrimônio, descrição, modelo e afins como mostra a figura abaixo. + + + +Pois bem, para configurar o DHCP é uma tarefa simples: altera-se o campo +correspondente no NetBox e se gera um arquivo de configuração novo para o Kea +e também para configurar as interfaces de rede da estrella. Por exemplo uma parte +da configuração gerada para o Kea é a que segue: + +```json +// VLAN 222 - xc3sl - Secretaria do C3SL +{ + "subnet": "10.254.222.0/24", + "valid-lifetime": 3600, + "option-data": [ + { "name": "domain-name-servers", "data": "200.17.202.3, 200.236.31.1" }, + { "name": "domain-search", "data": "c3local, c3sl.ufpr.br, inf.ufpr.br" }, + { "name": "extensions-path", "always-send": true, "data": "terminal" }, + { "name": "ntp-servers", "data": "200.17.202.3" }, + { "name": "routers", "data": "10.254.222.4" } + ], + "pools": [ + { + "pool": "10.254.222.200-10.254.222.254", + "user-context": { "nextbox_ip_range_id": 2 } + } + ], + "reservations": [ + { + "hostname": "swamp.c3local", + "hw-address": "D0:94:66:BF:61:13", + "ip-address": "10.254.222.11", + "user-context": { "nextbox_ip_address_id": 950 } + }, + { + "hostname": "tempestade.c3local", + "hw-address": "D0:94:66:BF:5D:A8", + "ip-address": "10.254.222.13", + "user-context": { "nextbox_ip_address_id": 951 } + }, + { + "hostname": "leffe.c3local", + "hw-address": "00:BE:43:CE:1B:0F", + "ip-address": "10.254.222.14", + "user-context": { "nextbox_ip_address_id": 952 } + }, + { + "hostname": "rhalah.c3local", + "hw-address": "00:BE:43:CE:1C:5C", + "ip-address": "10.254.222.15", + "user-context": { "nextbox_ip_address_id": 953 } + }, + { + "hostname": "bino.c3local", + "hw-address": "64:1C:67:31:3F:CA", + "ip-address": "10.254.222.16", + "user-context": { "nextbox_ip_address_id": 954 } + }, + { + "hostname": "tuco.c3local", + "hw-address": "F8:A9:63:65:6F:FA", + "ip-address": "10.254.222.17", + "user-context": { "nextbox_ip_address_id": 955 } + }, + { + "hostname": "talisker.c3local", + "hw-address": "00:BE:43:CE:20:2F", + "ip-address": "10.254.222.18", + "user-context": { "nextbox_ip_address_id": 956 } + } + ], + "id": 28 +} +``` + +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) +# +# Rede : 10.254.222.0/24 +# Gateway : 10.254.222.4 +# Broadcast: 10.254.222.255 +# IPs: de 10.254.222.1 a 10.254.222.254 +# +#xc3sl| 2|[estrella]|NAOUSARNAOUSARNAO|terminal|| +#xc3sl| 3|[urquell] |NAOUSARNAOUSARNAO|terminal|| +#xc3sl| 4|[estrella]|NAOUSARNAOUSARNAO|terminal|| +xc3sl |11|swamp |d0:94:66:bf:61:13|terminal||PC Bona +xc3sl |13|tempestade|d0:94:66:bf:5d:a8|terminal||PC Ianka +xc3sl |14|leffe |00:be:43:ce:1b:0f|terminal||PC Edemir +xc3sl |15|rhalah |00:be:43:ce:1c:5c|terminal||PC Dell Castilho +xc3sl |16|bino |64:1c:67:31:3f:ca|terminal||Micro de teste +xc3sl |17|tuco |f8:a9:63:65:6f:fa|terminal||Laptop Castilho +xc3sl |18|talisker |00:be:43:ce:20:2f|terminal||PC Dell Bona +``` + +## Oportunidades + +O NetBox pode ser utilizados para fazer o mapeamento das máquinas em racks +e organizar e contabilizar os cabos que estão no Data Center. Não é uma tarefa +difÃcil, requer apenas algumas idas ao data center. Com a que a gente faz de +vez em quando já conseguimos posicionar as máquinas em racks como mostra a +figura abaixo. + + + +Outro aspecto é que é possÃvel gerenciar os switches e suas VLANs. A partir +do NetBox é possÃvel gerar também configurações para os switches de forma +automática, utilizando do modelo de dados que está presente. O esqueleto do +switch syrah é mostrado na figura abaixo. + + + +Cada cabo e conexão feita pode ser rastreada. Por exemplo podemos ver que a +conexão entre a porta 6 do Syrah passa por dois patch panels até chegar na zara. + + + +Estaremos investigando plugins como o de mapas para mapear as salas graficamente +como hoje existem nos mapas da urquell em texto. + + + +Ou em grafos de topologia. + + + +Enfim, resta experimentar mais. Estamos atualmente mapeando todas as máquinas +virtuais e contatos de responsáveis para melhorar o sistema de monitoramento +que hoje tem várias inconsistências que geram trabalho manual. diff --git a/source/pages/proposals/ips.png b/source/pages/proposals/ips.png new file mode 100644 index 0000000000000000000000000000000000000000..45b5936b2f5aff608113ed32f1ca9b58e8ca2f45 Binary files /dev/null and b/source/pages/proposals/ips.png differ diff --git a/source/pages/proposals/prefixes.png b/source/pages/proposals/prefixes.png new file mode 100644 index 0000000000000000000000000000000000000000..b700ba13ffc88fc64d9f3fcd9c93b0f4a85bf365 Binary files /dev/null and b/source/pages/proposals/prefixes.png differ diff --git a/source/pages/proposals/racks.png b/source/pages/proposals/racks.png new file mode 100644 index 0000000000000000000000000000000000000000..e8c57667dd79d81d7e3379beef142585b7bffaca Binary files /dev/null and b/source/pages/proposals/racks.png differ diff --git a/source/pages/proposals/syrah.png b/source/pages/proposals/syrah.png new file mode 100644 index 0000000000000000000000000000000000000000..678135907bf634510b43114092fa820c77dfaa41 Binary files /dev/null and b/source/pages/proposals/syrah.png differ diff --git a/source/pages/proposals/trace.png b/source/pages/proposals/trace.png new file mode 100644 index 0000000000000000000000000000000000000000..f95f4f3824deee7dbda92511d5880eae43354f71 Binary files /dev/null and b/source/pages/proposals/trace.png differ diff --git a/source/pages/proposals/vlans.png b/source/pages/proposals/vlans.png new file mode 100644 index 0000000000000000000000000000000000000000..48aaaa717948b53e1b9408cb37ccff6b56fbea9a Binary files /dev/null and b/source/pages/proposals/vlans.png differ