Comware 7: ACL para gerenciamento Telnet

A utilização de listas de acesso (ACL) para limitar as redes que poderão efetuar o gerenciamento do Switch e/ou Roteador é uma técnica bastante utilizada para restringir os hosts que terão permissão de acesso o equipamento.

Os equipamentos com a versão 7 do Comware diferem um pouco na configuração de atribuição de uma ACL  ao acesso Telnet e SSH.

#
acl basic 2000
 rule 0 permit source 192.168.11.1 0
 rule 5 permit source 192.168.11.12 0
 rule 10 permit source 192.168.11.11 0
! ACL com os hosts com permissão de acesso
#
 telnet server enable
 telnet server acl 2000
! Habilitando o serviço Telnet e aplicando  a ACL 2000
#

Para filtrar o acesso via SSH utilize a mesma lógica.

ssh server enable
ssh server acl 2000

Caso o seu switch/roteador não suportar os comandos citados, veja o script citado por esse mesmo blog no post: http://www.comutadores.com.br/acl-para-gerenciamento-telnet-ssh-snmp/

Até logo

Comware – BGP Community

O atributo do BGP community é utilizado como para marcação para um determinado grupo de rotas. Provedores de Serviço utilizam essas marcações para aplicar políticas de roteamento específicas em suas redes, como por exemplo, alterando o Local Preference, MED, etc. O atributo simplifica a configuração das políticas de roteamento, gerenciamento e manutenção.

Os ISP’s podem também estabelecem um mapeamento de community com o cliente ou com outro provedor para que sejam aplicadas regras de roteamento.

O recebimento e envio de communities BGP em Roteadores HP necessitam da configuração explicita do comando advertise-community. No exemplo abaixo, segue a configuração de um peer BGP em um roteador com o Comware 7:

bgp 65500
 group AS65500 internal
 peer AS65500 connect-interface LoopBack1
 peer 192.168.2.2 group AS65500
 #
 address-family ipv4 unicast
  peer AS65500 enable
  peer AS65500 advertise-community
#

O atributo community é opcional e transitivo (optional transitive) de tamanho variável. O atributo consiste em um conjunto de 4 octetos ou um número de 32 bits que específica uma community. A representação de uma community BGP é geralmente feita no formato AA:NN onde o AA é o Autonomous System (AS) e o NN é o número da community.

Algumas communities tem significados pré-definidos como:

  • NO_EXPORT (0xFFFFFF01)
  • NO_ADVERTISE (0xFFFFFF02)
  • NO_EXPORT_SUBCONFED (0xFFFFFF03)

-A community  NO_EXPORT  diz ao roteador que ele deve  propagar os prefixos somente dentro de peers iBGP e que não deve propagar esses prefixos para roteadores pares eBGP.

-A community NO_EXPORT_SUBCONFED possui as mesmas funcionalidades do NO_EXPORT dentro de cenários com confederation.

-A community NO_ADVERTISE  diz ao roteador que ele não deve anunciar o prefixo para nenhum peer BGP.

Abaixo, deixamos um exemplo de configuração utilizando a community NO_EXPORT e o output:

Comware - BGP Community

R1	
#
 ip prefix-list COMM_iBGP index 10 permit 192.168.11.0 24
#
route-policy SET_COMM permit node 5
 if-match ip address prefix-list COMM_iBGP
 apply community no-export
#
route-policy SET_COMM permit node 65535
#
#
bgp 65500
 group AS65500 internal
 peer AS65500 connect-interface LoopBack1
 peer 192.168.2.2 group AS65500
 #
 address-family ipv4 unicast
  network 192.168.11.0 255.255.255.0
  network 192.168.111.0 255.255.255.0
  peer AS65500 enable
  peer AS65500 route-policy SET_COMM export
  peer AS65500 advertise-community
#

Verificando no Roteador R2 a marcação enviada por R1 para o prefixo 192.168.11.0/24 :

[R2]display bgp routing-table ipv4 192.168.11.0
 BGP local router ID: 192.168.22.2
 Local AS number: 65500
 Paths:   1 available, 1 best
 BGP routing table information of 192.168.11.0/24:
 From            : 192.168.1.1 (192.168.11.1)
 Rely nexthop    : 192.168.12.1
 Original nexthop: 192.168.1.1
 OutLabel        : NULL
 Community       : No-Export
 AS-path         : (null)
 Origin          : igp
 Attribute value : MED 0, localpref 100, pref-val 0
 State           : valid, internal, best
 IP precedence   : N/A
 QoS local ID    : N/A
 Traffic index   : N/A

Configurando os valores manualmente…

Um prefixo pode também participar de mais de uma community e com isso um roteador pode tomar uma ação em relação ao prefixo baseado em uma (algumas) ou todas as communities associadas ao prefixo. O roteador tem a opção de manter, adicionar ou modificar o atributo antes de passar para os outros roteadores.

#
 ip prefix-list COMM_eBGP index 10 permit 192.168.111.0 24
 ip prefix-list COMM_iBGP index 10 permit 192.168.11.0 24
#
route-policy SET_COMM permit node 5
 if-match ip address prefix-list COMM_iBGP
 apply community no-export
#
route-policy SET_COMM permit node 10
 if-match ip address prefix-list COMM_eBGP
 apply community 65500:90
#
route-policy SET_COMM permit node 65535
#
bgp 65500
 group AS65500 internal
 peer AS65500 connect-interface LoopBack1
 peer 192.168.2.2 group AS65500
 #
 address-family ipv4 unicast
  network 192.168.11.0 255.255.255.0
  network 192.168.111.0 255.255.255.0
  peer AS65500 enable
  peer AS65500 route-policy SET_COMM export
  peer AS65500 advertise-community
#

Verificando a marcação enviada por R1 do prefixo 192.168.111.0/24:

[R4] display bgp routing-table ipv4 192.168.111.0
 BGP local router ID: 192.168.44.4
 Local AS number: 65507
 Paths:   1 available, 1 best
 BGP routing table information of 192.168.111.0/24:
 From            : 192.168.24.2 (192.168.22.2)
 Rely nexthop    : 192.168.24.2
 Original nexthop: 192.168.24.2
 OutLabel        : NULL
 Community       : <65500:90>
 AS-path         : 65500
 Origin          : igp
 Attribute value : pref-val 0
 State           : valid, external, best
 IP precedence   : N/A
 QoS local ID    : N/A
 Traffic index   : N/A

Em resumo, as operadoras utilizam communities BGP para manipulação de grande quantidade de prefixos para fins de políticas de roteamento, blackhole, etc. Grandes corporações também as utilizam para identificação de rotas de empresas filiais, rotas aprendidas em fusões com outras empresas,  políticas de roteamento, redes de serviço e mais.

Referências

http://babarata.blogspot.com.br/2010/05/bgp-atributo-community.html

http://www.noction.com/blog/understanding_bgp_communities

Comware 7 – Traffic Classifier – Match por aplicação

As versões novas do Comware 7 já possuem suporte para configuração de “match” nos perfis de tráfego para fins de QoS e etc; baseado no reconhecimento das aplicações, conforme output abaixo:

[MSR1002-4]traffic classifier APLICACAO operator or
[MSR1002-4-classifier-APLICACAO]if-match  application ?
  STRING<1-63>     Application name. 'A-Z', 'a-z', '0-9', '_', and '-' are
                   permitted, but 'invalid' and 'other' are prohibited
  afs3-kaserver    AFS/Kerberos authentication service
  aol              America Online
  appleqtc         Apple Quick Time
  bgp              Border Gateway Protocol
  bittorrent       BitTorrent File Transfer Traffic
  bootpc           Bootstrap Protocol Client
  bootps           Bootstrap Protocol Server
  chargen          Character Generator
  citrixadmin      Citrix ADMIN
  citrixima        Citrix IMA
  citriximaclient  Citrix MA Client
  clearcase        Clearcase
  cma              CORBA Management Agent
  corba-iiop       Corba Internet Inter-Orb Protocol
  corba-iiop-ssl   Corba Internet Inter-Orb Protocol SSL
  corbaloc         CORBA LOC
  cuseeme          Desktop Video Conferencing
  daytime          Daytime Protocol
  dbase            dBASE Unix
  dhcpv6-client    DHCPv6 Client
  dhcpv6-server    DHCPv6 Server
  dicom            Digital Imaging and Communications in Medicine, DICOM
  dicom-iscl       DICOM ISCL
  dicom-tls        DICOM TLS
  dns              Domain Name Server
  dns-llq          DNS Long-Lived Queries
  doom             Doom Id Software
  echo             Echo
  edm-adm-notify   EDM ADM Notify
  edm-manager      EDM Manger
  edm-mgr-cntrl    EDM MGR Cntrl
  edm-mgr-sync     EDM MGR Sync
  edm-stager       EDM Stager
  edm-std-notify   EDM STD Notify
  finger           Finger
  fix              Financial Information Exchange
  ftp              File Transfer [Control]
  ftp-data         File Transfer [Default Data]
  ftps             ftp protocol, control, over TLS/SSL
  ftps-data        ftp protocol, data, over TLS/SSL
  g-talk           Google Talk
  gnutella-rtr     gnutella-rtr
  gnutella-svc     gnutella-svc
  gopher           Gopher
  gprs-data        GPRS Data
  gprs-sig         GPRS SIG
  gtp-control      GTP-Control Plane (3GPP)
  gtp-user         GTP-User Plane (3GPP)
  h225             H.323 Call Setup
  h245             Control Protocol for Multimedia Communication
  h263-video       H.263 Video Streaming
  h323callsigalt   H.323 Call Signal Alternate
  h323gatedisc     H.323 Gatekeeper Discovery
  h323hostcallsc   H.323 Host Call Secure
  hl7              Health Level Seven
  http             Hyper Text Transfer Protocol
  https            http protocol over TLS/SSL
  ibm-db2          IBM-DB2
  ica              Citrix ICA
  icabrowser       Citrix ICA
  ils              Windows Internet Locator service
  imap             Internet Message Access Protocol
  imap3            Interactive Mail Access Protocol v3
  imaps            imap4 protocol over TLS/SSL
  ipx              Internet Packet Exchange
  irc              Internet Relay Chat Protocol
  irc-serv         IRC-SERV
  ircs             Secure IRC
  irdmi            iRDMI
  isakmp           Internet Security Association and Key Management Protocol
  isi-gl           Interoperable Self Installation Graphics Language
  kazaa            KaZaA
  kerberos         Kerberos
  kerberos-adm     kerberos administration
  kerberos-iv      kerberos version iv
  kftp             Kerberos V5 FTP Control
  kftp-data        Kerberos V5 FTP Data
  klogin           Klogin
  kshell           Kshell
  ktelnet          Kerberos V5 Telnet
  l2tp             Level 2 Tunnel Protocol
  ldap             Lightweight Directory Access Protocol
  ldaps            ldap protocol over TLS/SSL
  login            Login
  mdns             Multicast DNS
  mdnsresponder    Multicast DNS Responder IPC
  mgcp-callagent   Media Gateway Control Protocol Call Agent
  mgcp-gateway     Media Gateway Control Protocol Gateway
  microsoft-ds     Microsoft Directory Services
  mmcc             multimedia conference control tool
  ms-sql-m         Microsoft-SQL-Monitor
  ms-sql-s         Microsoft-SQL-Server
  msn-messenger    MSN Messenger
  msrpc            Microsoft RPC
  netbios-dgm      NETBIOS Datagram Service
  netbios-ns       NETBIOS Name Service
  netbios-ssn      NETBIOS Session Service
  news             news
  nfs              Network File System
  nicname          Nicname
  nmap             Network Mapper
  nntp             Network News Transfer Protocol
  nntps            nntp protocol over TLS/SSL
  notes            IBM Lotus Notes
  npp              Network Printing Protocol
  ntp              Network Time Protocol
  orasrv           Oracle
  ott              One Way Trip Time
  pcanywheredata   Symantic PCAnywhere Data
  pcanywherestat   Symantic PCAnywhere Stat
  pop3             Post Office Protocol Version 3
  pop3s            pop3 protocol over TLS/SSL
  pptp             Point-to-Point Tunneling Protocol
  presence         XMPP Link-Local Messaging
  printer          Printer
  radius           Remote Authentication Dial In User Service (RADIUS)
  radius-acct      RADIUS Accounting
  radius-dynauth   RADIUS Dynamic Authorization
  ras              H.323 Gatekeeper Registration Admission Status
  rcp              Radio Control Protocol
  rfb              Remote Framebuffer
  rip              Routing Information Protocol
  rsh              Remote Shell Commands
  rsvp-encap-1     Resource Reservation Protocol Encapsulation-1
  rsvp-encap-2     Resource Reservation Protocol Encapsulation-2
  rsvp-tunnel      RSVP Tunnel
  rsync            rsync
  rtcp             Real-Time Control Protocol
  rtelnet          Remote Telnet Service
  rtp              Real-Time Transport Protocol
  rtsp             Real Time Streaming Protocol
  sccp             Skinny Client Control Protocol
  sdp              Session Description Protocol
  sip              Session Initiation Protocol
  smtp             Simple Mail Transfer
  snmp             Simple Network Management Protocol
  snmptrap         Simple Network Management Protocol Trap
  socks            Firewall ecurity Protocol
  sqlexec          IBM Informix SQL Interface
  sqlexec-ssl      IBM Informix SQL Interface Encrypted
  sqlnet           SQL*NET for Oracle
  ssh              The Secure Shell (SSH) Protocol
  stun             Session Traversal Utilities for NAT (STUN) port
  stuns            STUN over TLS
  sunrpc           SUN Remote Procedure Call
  svn              Subversion
  syslog           System Logging
  systat           System Statistics
  tacacs           Terminal Access Controller Access Control System
  tacacs-ds        TACACS-Database Service
  telnet           Telnet
  telnets          telnet protocol over TLS/SSL
  tftp             Trivial File Transfer
  time             Time
  timed            Time Server
  tunnel           TUNNEL
  who              Who
  whoispp          whois++
  x11              X Window System
  xdmcp            X Display Manager Control Protocol

Os testes foram executados em um Roteador MSR1002-4 com Version 7.1.059, Release 0305P04.

Comware 7 – Configurando o GRE

O GRE (Generic Routing Encapsulation) é um protocolo de tunelamento que pode encapsular diversos protocolos dentro de tuneis IP, criando links ponto-a-ponto virtuais entre roteadores remotos.

O protocolo é extremamente funcional em diversos cenários, pois foi desenvolvido para permitir que redes remotas pareçam estar diretamente conectadas. Como o GRE não faz a criptografia, o GRE pode trabalhar em conjunto com IPsec para garantir a integridade das informações quando necessário.

Abaixo podemos observar a representação do encapsulamento de um pacote IP pelo GRE como também a inclusão de um novo cabeçalho.

GRE header

O interessante é que o protocolo de transporte poderia ser o IPv6 e o protocolo encapsulado poderia ser o IPX, tráfego Multicast, etc; E ao ser entregue ao roteador de destino, o novo cabeçalho é removido e o pacote é entregue intacto.

Segue abaixo um exemplo de configuração de um túnel GRE para Roteadores com o Comware 7, fechando a adjacência OSPF entre 2 roteadores separados por uma rede MPLS. Nos testes usamos o roteador HP VSR1000.

comware 7 GRE

Tabela de Rotas e tracert do Roteador R2

[R2]disp ip routing-table | inc O
192.168.1.0/24     O_INTRA 10  1563        192.168.13.1    Tun0

<R2>tracert 192.168.13.1
traceroute to 192.168.13.1 (192.168.13.1), 30 hops at most, 52 bytes each packet, press CTRL_C to break
 1  192.168.23.2 (192.168.23.2)  0.488 ms  0.523 ms  1.668 ms
 2  192.168.13.1 (192.168.13.1)  0.962 ms  5.463 ms  0.881 ms

<R2>tracert 192.168.1.1
traceroute to 192.168.1.1 (192.168.1.1), 30 hops at most, 52 bytes each packet, press CTRL_C to break
 1  192.168.1.1 (192.168.1.1)  1.116 ms  2.588 ms  1.731 ms

Referências

http://www.comutadores.com.br/roteadores-hp-6600-protocolo-de-tunelamento-gre/

http://www.rotadefault.com.br/protocolo-de-tunelamento-gre/

Comware7: Configuração básica para BGP

As configurações do BGP via CLI para os equipamentos baseados no Comware 7 diferem um pouco em relação aos Switches e Roteadores baseados no Comware 5.

Se você quiser saber um pouco mais sobre como funciona  o BGP, temos alguns artigos no blog. Os principais são:
http://www.comutadores.com.br/switches-3com-4800g-configuracao-basica-do-bgp/
http://www.comutadores.com.br/resumo-sobre-border-gateway-protocol-bgp-mase-parte1/

Basicamente para o Comware 7, uma vez dentro do processo BGP, basta habilitar o ‘peering’ com o roteador vizinho normalmente, mas a grande diferença está no anuncio de prefixos, pois uma vez que você necessite anunciar prefixos IPv4 ou IPv6, será necessário entrar no address-family, ativar o peering e aplicar o comando network, import (redistribute) etc.

Para ficar mais fácil, veja o exemplo abaixo o peering eBGP entre o Roteador R1 (AS 100) e R4 (AS 400):

BGP Comware 7

<R1> display current-configuration configuration bgp
bgp 100
peer 10.0.0.2 as-number 400
#
 address-family ipv4 unicast
    network 192.168.1.0 255.255.255.0
    peer 10.0.0.2 enable 
   
<R4> display current-configuration configuration bgp
bgp 400
peer 10.0.0.1 as-number 100
#
 address-family ipv4 unicast
  network 192.168.2.0 255.255.255.0
  peer 10.0.0.1 enable  

O ponto mais importante dessa configuração é definir o IPv4 unicast address family e ativar o peer. Perceba que as redes deverão ser anunciadas dentro do address family correto.
Para validar o peering:

<R1>display bgp peer ipv4 unicast
BGP local router ID: 192.168.1.1
Local AS number: 100
Total number of peers: 1 Peers in established state: 1
* - Dynamically created peer
Peer     AS   MsgRcvd MsgSent OutQ PrefRcv Up/Down State
10.0.0.2 400   125     118     0    2       01:47:39 Established

IPv6
O mesmo vale se o peering e/ou prefixos for para endereços IPV6

<R4>display current-configuration configuration bgp
#
bgp 400
 peer 2001:DB8:14::1 as-number 100
 #
  address-family ipv6 unicast
   network 2001:DB8:4:: 64
   network 2001:DB8:44:: 64
   peer 2001:DB8:14::1 enable

Para validar o peering BGP com endereço IPv6:

 <R4>display bgp peer ipv6 unicast
 BGP local router ID: 192.168.44.4
 Local AS number: 400
 Total number of peers: 1          Peers in established state: 1
  * - Dynamically created peer
Peer             AS  MsgRcvd  MsgSent OutQ PrefRcv Up/Down  State

2001:DB8:14::1   100 60       60      0     2 00:47:40 Established

Para validar a tabela BGP basta preencher conforme o output abaixo: IPv4, IPv6, vpnv4, vpnv6, etc..

<R4>display bgp routing-table ?
  dampened   Display dampened BGP routes
  flap-info  Display BGP route flap information
  ipv4       Specify the IPv4 address Family
  ipv6       Specify the IPv6 address Family
  vpnv4      Specify the VPNv4 address family
  vpnv6      Specify the VPNv6 address family

Até logo.

Comware 7: Scripts TCL e Python

Uma novidade bem legal da versão 7 do Comware (Sistema Operacional de Switches e Roteadores HP) é o suporte para scripts TCL e Python.

Um grupo de HPN criou um repositório dos scripts no GITHUB https://github.com/networkingdvi/HPN-Scripting#hpn-scripting

O repositório é totalmente free e para ter contato com a galera, acesse: http://abouthpnetworking.com/2014/06/22/hpn-scripting-on-github/

abração