IPv6 Address Global Prefix Delegation
https://docs.google.com/document/d/1-7f-mWY8qlKVQDMRRpEVOxGcP_5mcDmZRMpO8Jpe7H4/edit
Trabalho com Redes
sábado, julho 18, 2015
quarta-feira, novembro 30, 2011
Parte 1.2 - Entendendo o iBGP e o eBGP
A topologia acima mostra a configuração do BGP tanto com iBGP como com eBGP. O iBGP (internal BGP) é o BGP configurado para peers do mesmo AS. O eBGP (external BGP) é configura entre peers de diferentes AS.
Uma das razões para configurar o iBGP é no caso de um AS servir como AS de tránsito (Transit AS). Na topologia acima o AS 200 serve como AS de tránsito entre o AS 100 e o AS 300.
Um aspecto importante para considerar no BGP é o seguinte: para enviar informações para um AS externo é necessário haver uma garantia de acessibilidade das redes. Para garantir a acessibilidade das redes os seguintes procesos são feitos:
- iBGP entre roteadores do mesmo AS.
- Redistribuição do BGP dentro os IGPs que estão funcionando no AS.
Os comentários acima tratam muito sobre ter uma rede sincronizada.
Parte 1.1 - Funcionamento do BGP
O BGP utiliza o TCP porta 179 como protocolo de transporte. Dois roteadores BGP estabelecem uma conexão TCP entre si e trocam mensagens (open, confirm) para estabelecer uma relação de vizinhança (passam a ser considerados neighbors ou peers).
Os roteadores com BGP realizam um intercâmbio de informações de acessibilidade. Essa informação de acessibilidade de redes é representada como o caminho completo que uma rota precisa realizar para chegar até a rede de destino. Esses caminhos são os números de AS no BGP.
BGP peers trocam entre si suas tabelas BGP completas inicialmente. Depois de uma troca completa são enviados atualizações incrementais assim que muda a tabela de roteamento.
O BGP guarda um número de versão da tabela BGP e este número é o mesmo entre todos os peers BGP. O número de versão da tabela aumenta sempre que houver uma atualização de roteamento.
Além disso o BGP também envia pacotes keepalives para verificar se a conexão entre os peers BGP continuam ativas.
domingo, setembro 04, 2011
Redundância de Enlaçes com Rotas Estáticas
Quando se possui duas conexões redundantes com um ou dois provedores surge a necessidade de configurar a redundância no processo de roteamento.
Como neste caso não será utilizado o BGP como protocolo de roteamento externo resta a configuração de rotas estáticas com cada um dos provedores. Para que isso seja feito de maneira a permitir a redundância automática a abordagem clássica é a seguinte:
ip route 0.0.0.0 0.0.0.0 serial0
ip route 0.0.0.0 0.0.0.0 serial1 10
|
Ou seja, no roteador de borda são configuradas duas rotas estáticas, cada uma delas utilizando o enlaçe serial correspondente a cada um dos provedores. A diferença entre ambas rotas estáticas está no valor da métrica 10 configurado na segunda rota estática. Como ambas possuem o mesmo destino (na verdade ambas são rotas default) apenas aquela com melhor métrica será colocada na tabela de roteamento.
A redundância estará garantida no cado de falha do enlaçe serial0. Caso ele esteja indisponível (por exemplo, “line protocol down”) a rota estática do enlaçe serial1 será colocada na tabela de roteamento no lugar da primeira.
Porém esta redundância acaba obrigando a que um dos enlaçes seriais fique sem utilização nenhuma. Caso seja desejado utilizar ambos enlaçes (digamos que possuem a mesma capacidade) existem inúmeras abordagens. Seguindo o exemplo anterior a forma mais simples é:
ip route 0.0.0.0 0.0.0.0 serial0
ip route 0.0.0.0 0.0.0.0 serial1
|
Porém é importante considerar alguns detalhes sobre essa possível implementação. Em primeiro lugar o comportamento padrão do roteador CISCO será em executar um balançeamento de tráfego no formato “round-robin”. Em segundo lugar podemos ter o seguinte problema ao executar o balançeamento de carga com “round-robin”:
Temos um conjunto de pacotes que precisa ser enviado para o mesmo destino. Como o “round-robin” vai enviar intercaladamente pacotes através de cada interface esses pacotes podem tomar caminhos com atrasos muito diferentes para chegar ao seu destino. E isso pode acabar ocasionando problemas.
A melhor solução é ativar (ou verificar se está ativo) em todas as interfaces a funcionalidade de ip route-cache. Esta funcionalidade permite que o roteador mantenha um “cache” de todos os destinos que estão sendo utilizados pelos pacotes e permita “mapear” um determinado conjunto de pacotes com um determinado destino através de uma única interface de saída. Isso permite tornar o balançeamento de tráfego através de múltiplos enlaçes seriais de maneira mais inteligente.
Fonte:
Artigo publicado em: http://avi.freedman.net/fromnetaxs/bgp/bgp.html
Acessado em 29/05/2006 às 13:18 hs
segunda-feira, julho 04, 2011
Script de Backup de OpenLDAP - ldapsearch
Introdução
Para realizar backups de bases LDAP existem muitas ferramentas que podem ser utilizadas. Uma maneira de realizar um backup simples e remoto é utilizando o comando ldapsearch.
Neste post será apresentado o script bkp-ldap.sh e de todas as configurações necessárias para seu funcionamento.
Pacotes Necessários
Para utilizar o comando ldapsearch é necessário ter instalado o seguinte pacote:
| [root@horus ~]# yum info openldap-clients Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: centos.pop.com.br * extras: centos.pop.com.br * updates: centos.pop.com.br Installed Packages Name : openldap-clients Arch : i386 Version : 2.3.43 Release : 12.el5_6.7 Size : 367 k Repo : installed Summary : Client programs for OpenLDAP. URL : http://www.openldap.org/ License : OpenLDAP Description: OpenLDAP is an open-source suite of LDAP (Lightweight Directory Access : Protocol) applications and development tools. LDAP is a set of : protocols for accessing directory services (usually phone book style : information, but other information is possible) over the Internet, : similar to the way DNS (Domain Name System) information is propagated : over the Internet. The openldap-clients package contains the client : programs needed for accessing and modifying OpenLDAP directories. |
Verificando quais binários e manuais foram instalados pelo pacote openldap-clients:
| [root@horus base-ldap-neptuno]# rpm -ql openldap-clients /usr/bin/ldapadd /usr/bin/ldapcompare /usr/bin/ldapdelete /usr/bin/ldapmodify /usr/bin/ldapmodrdn /usr/bin/ldappasswd /usr/bin/ldapsearch /usr/bin/ldapwhoami /usr/share/man/man1/ldapadd.1.gz /usr/share/man/man1/ldapcompare.1.gz /usr/share/man/man1/ldapdelete.1.gz /usr/share/man/man1/ldapmodify.1.gz /usr/share/man/man1/ldapmodrdn.1.gz /usr/share/man/man1/ldappasswd.1.gz /usr/share/man/man1/ldapsearch.1.gz /usr/share/man/man1/ldapwhoami.1.gz |
O cliente ldap também precisa estar instalado no sistema operacional LINUX (distribuição CENTOS 5.6).
Verificando a instalação do pacote openldap:
| [root@horus base-ldap-neptuno]# yum info openldap Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: centos.pop.com.br * extras: centos.pop.com.br * updates: centos.pop.com.br Installed Packages Name : openldap Arch : i386 Version : 2.3.43 Release : 12.el5_6.7 Size : 593 k Repo : installed Summary : The configuration files, libraries, and documentation for OpenLDAP. URL : http://www.openldap.org/ License : OpenLDAP Description: OpenLDAP is an open source suite of LDAP (Lightweight Directory Access : Protocol) applications and development tools. LDAP is a set of : protocols for accessing directory services (usually phone book style : information, but other information is possible) over the Internet, : similar to the way DNS (Domain Name System) information is propagated : over the Internet. The openldap package contains configuration files, : libraries, and documentation for OpenLDAP. |
Verificando quais arquivos e bibliotecas foram instaladas pelo pacote openldap:
| [root@horus base-ldap-neptuno]# rpm -ql openldap /etc/openldap /etc/openldap/cacerts /etc/openldap/ldap.conf /usr/lib/liblber-2.3.so.0 /usr/lib/liblber-2.3.so.0.2.31 /usr/lib/libldap-2.3.so.0 /usr/lib/libldap-2.3.so.0.2.31 /usr/lib/libldap_r-2.3.so.0 /usr/lib/libldap_r-2.3.so.0.2.31 /usr/share/doc/openldap-2.3.43 /usr/share/doc/openldap-2.3.43/ANNOUNCEMENT /usr/share/doc/openldap-2.3.43/CHANGES /usr/share/doc/openldap-2.3.43/COPYRIGHT /usr/share/doc/openldap-2.3.43/LICENSE /usr/share/doc/openldap-2.3.43/README /usr/share/man/man5/ldap.conf.5.gz /usr/share/man/man5/ldif.5.gz /usr/share/openldap |
Configurações do Sistema
A configuração do cliente ldap será feita no arquivo /etc/openldap/ldap.conf.
| [root@horus ~]# vim /etc/openldap/ldap.conf ##################################### # # # Configurações do Cliente LDAP # # # ##################################### # # LDAP Defaults # # See ldap.conf(5) for details # This file should be world readable but not world writable. # # Specifies the default base DN to use when performing ldap operations. BASE dc=ufcspa,dc=edu,dc=br # # Specifies the default bind DN to use when performing ldap operations. BINDDN cn=qualquer,dc=ufcspa,dc=edu,dc=br # # Specifies the URI(s) of an LDAP server(s) to which the LDAP library should connect. # The URI scheme may be either ldap or ldaps which refer to LDAP over TCP and LDAP over SSL (TLS) # respectively. URI ldap://192.168.1.1/ # # Specifies the name(s) of an LDAP server(s) to which the LDAP library should connect. HOST qualquer.ufcspa.edu.br # # Specifies if the client should automatically follow referrals returned by LDAP servers. REFERRALS off # # Specifies a size limite to use when performing searches. A zero (0) means unlimited. SIZELIMIT 0 # # Specifies a time limit to use when performing searches. A zero (0) means unlimited. TIMELIMIT 0 # # Specifies how alias dereferencing is done when performing a search. # If it is configured never then aliases are never dereferenced. This is the default. DEREF never # # TLS #TLS_CACERT /etc/openldap/cacerts/myca-key-cert.pem # # Specifies what checks to perform on server certificates in a TLS session # The value "never" means that the client will not request or check any server certificate. TLS_REQCERT never # #TLS_CACERTDIR /etc/openldap/cacerts |
Implementação do Script bkp-ldap.sh
| #!/bin/bash # # ################################# # # # Script de Backup da Base LDAP # # # ################################# # # # ============ # Dependências # ============ # # O comando ldapsearch utiliza configurações do cliente ldap do sistema # operacional configurado em /etc/openldap/ldap.conf # # # ================= # Variáveis Globais # ================= # # Senha para se conectar no Servidor LDAP SENHA='segredo”' # # # Servidor LDAP HOST='qualquer.ufcspa.edu.br' # # # Repositorio para deixar os arquivos de backup REPOSITORIO='/backup/base-ldap-neptuno' # # # Registra o momento em que o arquivo foi criado. Formato: ano-mes-dia-hora-minuto-segundo HORARIO=$( date +%F-%H-%M-%S ) # # # ================== # Execução do backup # ================== # # Os seguintes parâmetros são utilizados: # -w (solicita senha) # -D (indica qual será o binddn a ser utilizado na conexão com a base) # -x (indica auteticação simples e não por SASL) # -LLL (indica que o OUTPUT do comando será no formato LDIF) # ldapsearch -w "$SENHA" -D"cn=qualquer,dc=ufcspa,dc=edu,dc=br" -x -LLL >> "$REPOSITORIO"/baseLDAP-"$HORARIO".ldif # # # # ================= # Validação de erro # ================= # if [ $? -ne 0 ]; then { echo -ne "Erro - Nao foi realizado o Backup da base LDAP em $HOST" | mail -s"Erro - Backup Base LDAP $HOST" qualquer@ufcspa.edu.br exit 1 } fi # # # # ======================================== # Geração de relatório de status do backup # ======================================== RELATORIO=$( /usr/bin/find "$REPOSITORIO" -atime +5 ) /usr/bin/find "$REPOSITORIO" -atime +5 -exec rm -f {} \; echo -ne "Foram removidos os seguintes arquivos antigos:\n\n$RELATORIO\n" | mail -s"Backup Base LDAP $HOST" qualquer@ufcspa.edu.br exit 0 |
Configuração da CRON
Para poder agendar a realização periódica do script é necessário fazer as seguintes configurações na CRON.
| [root@horus ~]# crontab -e 0 3 * * * /root/bin/bkp-ldap.sh 2>&1 > /dev/null |
Assinar:
Comentários (Atom)