Fase I - Estudo
Título da Idéia
OpenBRAS
Objetivos
Implementar um B-RAS (Broadband Remote Access Server) utililando ferramentas Open Source e que possar ser utilizado no ambiente de produção da Algar Telecom.
Conceito
A Algar Telecom utiliza na sua rede banda larga equipamentos que concentram as conexões dos usuários deste serviço, e que são chamados BRAS (Broadband Remote Access Server). Os BRAS são equipamentos responsáveis por agregar conexões vindas de um ou mais DSLAM´s instalados na planta do operador. Estes equipamentos são os responsáveis também por terminar a sessão PPP do assinante e também designar um endereço IP válido ao mesmo. À medida que o número de usuários do serviço ADSL/VDSL aumenta é necessária a aquisição de mais equipamentos e as licenças correspondentes.
Enquadramento
Pesquisa Básica, Pesquisa Aplicada ou Desenvolvimento
Desafio tecnológico
Qual a barreira ou desafio tecnológico superável?
Características
Informe sobre as particularidades, aspectos e atributos desta idéia.
Estudo Dirigido
Coloque aqui o plano de estudos bem como as possíveis fontes de informaçãoes.
Fase II - Ensino
Conteúdo
Desenvolva um conteúdo que possa transmitir o conhecimento adquirido para outros Crie um material (Wiki, PDF, PPT, ...) que possa ser armazenado e facilmente atualizável
Apresentação
Apresente ao grupo (reunião, EAD, Blog, ...) Publique aqui
Fase III - Exemplo de Caso de Negócio
Benefício para a Algar Telecom
A Algar Telecom ganha com menor custo para expandir sua malha de rede, evitando a necessidade de adquirir mais licenças com equipamentos BRAS a medida que vai se expandindo.
Benefícios para o cliente
O cliente ganha com uma maior cobertura de serviço por parte da empresa, já que o custo para se expandir cai.
Direcionadores chave
Descrever em tópicos o que esta iniciativa pode proporcionar
Elemento inovador
Destaque o elemento tecnologicamente novo ou inovador do projeto
Possíveis modelos de negócios
Descrever em tópicos os possíveis modelos de negócios
Business Case
Descrever um exemplo de négócio que permita avaliar a solução comercialmente
Fase IV - Protótipo orientado ao Negócio
Escopo
Para a execução desse protótipo é necessário implementar os protocolos e funcionalidades utilizadas no ambiente de produção no BRAS e que atendem às necessidades da Algar Telecom.
Requisitos Funcionais
- Implementar comunicação do modem xDSL com o OpenBRAS
Descrição: Implementar os protocolos de comunicação necessários para atribuição de endereço IP e estabelecimento de sessão com o OpenBRAS, permitindo o usuário navegar na internet. Prioridade: Essencial.
- Implementar encapsulamentos
Descrição: Implementar encapsulamentos VLAN, 802.1q, QinQ (IEEE 802.1ad) para conexão dos DSLAMs ao OpenBRAS e identificação do usuário (VLAN Inner e Outer)
Prioridade: Essencial
- Implementar protocolos de roteamento
Descrição: Implementar os protocolos de roteamento BGP, OSPF e RIP permitindo o OpenBRAS trocar informações de rotas com os demais equipamentos do backbone IP. Prioridade: Essencial.
- Implementar o Gerenciamento do OpenBRAS
Descrição: Deve-se implementar interfaces de administração do OpenBRAS, via SNMP, SNMP Traps , linha de comando (CLI) .
Prioridade: Essencial.
- Implementar o Multicast
Descrição: Deve-se implementar os protocolos de Multicast no OpenBRAS, ou seja, garantir a entrega de informação para múltiplos destinatários simultaneamente usando a estratégia mais eficiente onde as mensagens passam por um link uma única vez e somente são duplicadas quando o link para os destinatários se divide em duas direções. Prioridade: Desejável.
Requisitos Não-Funcionais
- Garantir a Segurança
Descrição: Deve-se garantir a proteção de acesso ao OpenBRAS com listas de acesso, filtros e proteções de acesso. Prioridade: Importante.
- Garantir a Qualidade
Descrição: Deve-se garantir a aplicação de QoS no tráfego do cliente da Algar Telecom. Prioridade: Importante.
Metodologia
Qual metodologia ou método utilizado?
Limitações
Informe sobre as limitações
PoC
Desenvolva um PoC (Proof of Concept)
Detalhamento Técnico
Secões de configuração do accel pppoe
Sumário das seções do arquivo de configuração .conf do software accel pppoe:
Format Configuration file consists of sections in form: [section1] name1=val1 name2=val2 name3 [section2] name1=val1 name2=val2 name3 and so on Sections [modules] This section contains list of modules to load. Logging modules: log_file This module logs messages to files. It support per-session/per-user features. log_tcp This module logs messages to remote host over TCP/IP. log_pgsql This module logs messages to PostgreSQL. log_syslog This module logs messages to system logger. Control modules: pptp PPTP control connection handling module. l2tp L2TP control connection handling module. pppoe PPPoE discovery stage handling module. ipoe IPoE module. Authentication modules for PPP: auth_pap PAP authentication module. auth_chap CHAP (md5) authentication module. auth_mschap_v1 Microsoft CHAP (version 1) authentication module. auth_mschap_v2 Microsoft CHAP (version 2) authentication module. IPv6 support modules: ipv6pool IPv6 address assigning from static pool. ipv6_nd Neighbor Discovery module. ipv6_dhcp DHCPv6 module. Other modules: radius Radius interaction module. chap-secrets PPPD compatible chap-secrets file support module. ippool IPv4 address assigning from static pool. pppd_compat This module starts pppd compatible ip-up/ip-down scripts and ip-change to handle RADIUS CoA request. shaper Shaper management module. net-snmp SNMP support module. logwtmp Logs sessions to utmp/wtmp. connlimit Connection rate limiting module. [core] Configuration of core module. log-error=path Path to file for core module error logging. thread-count=n Number of working threads, optimal - number of processors/cores. [ppp] PPP handshake module configuration. verbose=n If n is not zero ppp module will produce verbose logging. min-mtu=n Minimum acceptable MTU. If client will try to negotiate less than specified then it will be NAKed or disconnected if rejects greater MTU. mtu=n MTU which will be negotiated if client's MRU will be not acceptable. mru=n Preferred MRU. ccp=n Disable CCP negotiation if n is zero. sid-case=upper|lower Specifies which case to generate session identifier (default lower). check-ip=0|1 Specifies whether to check if IP already assigned to other ppp interface (default 0). single-session=replace|deny Specifies whether to control sessions count. If this option is absent session count control is turned off. If this option is replace then accel-ppp will terminate first session when second is authorized. If this option is deny then accel-ppp will deny second session authorization. mppe=require|prefer|deny Specifies mppe negotiation preference: require – ask client for mppe, if it rejects drop connection prefer – ask client for mppe, if it rejects don't fail deny – deny mppe. Default behavior – don't ask client for mppe, but allow it if client requests. Please note that RADIUS may override this option by MS-MPPE-Encryption-Policy attribute. ipv4=deny|allow|prefer|require Specifies IPv4 (IPCP) negotioation algorithm: deny – don't negotiate IPv4 allow – negotiate IPv4 only if client requests prefer – ask client for IPv4 negotiation, don't fail if he rejects require – require IPv4 negotiation ipv6=deny|allow|prefer|require Parameters are same as above. ipv6-intf-id=x:x:x:x|random Specifies fixed or random interface identifier for IPv6. ipv6-peer-intf-id=x:x:x:x|random|ipv4|calling-sid Specifies peer interface identifier for IPv6: x:x:x:x – fixed interface identifier random – random interface identifier ipv4 – calculate interface identifier from IPv4 address, for example `192:168:0:1` calling-sid – calculate interface identifier from Calling-Station-Id ipv6-accept-peer-intf-id=0|1 Specifies whether to accept peer's value of interface identifier. lcp-echo-interval=n If this option is given and greater then 0 then ppp module will send LCP Echo-Request packets every n seconds. lcp-echo-failure=n Specifies maximum number of Echo-Requests may be sent without valid reply, if exceeds connection will be terminated. [dns] dns1=x.x.x.x Specifies primary IPv4 DNS to be sent to peer. dns2==x.x.x.x Specifies secondary IPv4 DNS to be sent to peer. [dnsv6] dns=IPv6_address Specifies IPv6 DNS to be sent to peer. You may specify up to 3 dns options. dnssl=name Specifies DNS Search List. You may specify multiple dnssl options. [client-ip-range] You have to explicitly specify range of ip address from which clients can connect to server in form: x.x.x.x/mask (for example 10.0.0.0/8) x.x.x.x-y (for example 10.0.0.1-254) or disable to disable client ip address check. [pptp] Configuration of PPTP module. bind=x.x.x.x If this option is given then pptp server will bind to specified IP address. verbose=0|1 Specifies whether pptp module should produce verbose logging. echo-interval=n If this option is given and greater then zero then pptp module will send PPTP Echo-Request packets every n seconds. echo-failure=n Specifies maximum number of Echo-Requests may be sent without valid reply, if exceeds connection will be terminated. timeout=n Timeout waiting reply from client in seconds (default 5). [pppoe] Configuration of PPPoE module. interface=ethX[,padi-limit=n] Specifies interface name to listen/send discovery packets. You may specify multiple interface options. Optional padi-limit parameter specifies limit of PADI packets to reply on this interface in 1 second period. ac-name=name Specifies AC-Name tag value. If absent tag will not be sent. service-name=service-name Specifies Service-Name to respond. If absent any Service-Name is acceptable and client's Service-Name will be sent back. pado-delay=delay[,delay1:count1[,delay2:count2[,…]]] Specifies delays (also in condition of connection count) to send PADO (ms). Last delay in list may be -1 which means don't accept new connections. List have to be sorted by count key. mac-filter=filename,type Specifies mac-filter filename and type, type may be allow or deny. ifname-in-sid=called-sid|calling-sid|both Specifies that interface name should be present in Called-Station-ID or in Calling-Station-ID or in both attributes. verbose=0|1 Specifies whether to produce verbose logging. tr101=0|1 Specifies whether to handle TR101 tags. padi-limit=n Specifies overall limit of PADI packets to reply in 1 second period (default 0 - unlimited). Rate of per-mac PADI packets is limited to no more than 1 packet per second. [l2tp] Configuration of L2TP module. bind=x.x.x.x Specifies IP address to bind to. host-name=name This name will be sent to clients in Host-Name attribute. hello-interval=n Specifies interval (in seconds) to send Hello control message. Its used for keep alive connection. If peer will not respond to Hello connection will be terminated. timeout=n Specifies timeout (in seconds) to wait peer completes tunnel and session negotiation. rtimeout=n Specifies timeout (in seconds) to wait message acknowledge, if elapsed message retransmition will be performed. retransmit=n Specifies maximum number of message retransmission, if exceeds connection will be terminated. verbose=0|1 Specifies whether to produce verbose logging. [radius] Configuration of RADIUS module. nas-identifier=identifier Specifies value to send to RADIUS server in NAS-Identifier attribute and to be matched in DM/CoA requests. nas-ip-address=x.x.x.x Specifies value to send to RADIUS server in NAS-IP-Address attribute and to be matched in DM/CoA requests. Also DM/CoA server will bind to that address. gw-ip-address=x.x.x.x Specifies IPv4 address to use as local address of ppp interface if Radius is used for IPv4 address assignment. server=`address,secret[,auth-port=1812][,acct-port=1813][,req-limit=0][,fail-time=0]` Specifies IP address, secret, ports of RADIUS server. req-limit – maximum number of simultaneous requests to server (0 - unlimited) fail-time – if server doesn't responds mark it as unavailable for this time (sec) If you want to specify only authentication or accounting server then set auth-port/acct-port to zero. You may specify multiple server options. dae-server=x.x.x.x:port,secret Specifies IP address, port to bind and secret for Dynamic Authorization Extension server (DM/CoA). acct-interim-interval=n Specifies interval in seconds to send accounting information (may be overridden by Acct-Interim-Interval attribute). verbose=0|1 Specifies whether to produce verbose logging. interim-verbose=0|1 Specifies whether to produce logging of Interim-Update packets. timeout=n Timeout to wait response from server (sec). max-try=n Specifies maximum number of tries to send Access-Request/Accounting-Request queries. acct-timeout=n Specifies timeout to wait reply for Interim-Update packets. If n is greater than zero then session will be terminated after timeout exceeds. If n is zero then don't retransmit Interim-Update packets and don't terminate session. acct-delay-time=0|1 Specifies whether to include Acct-Delay-Time attribute to accounting requests (default 0). [log] Configuration of log modules. log-file=file Path to file to write general log. log-emerg=file Path to file to write emergency messages. log-fail-file=file Path to file to write authentication failed session logs. log-tcp=x.x.x.x:port Specifies IPv4 address and port to send logs to (for log_tcp module). You may specify multiple log-tcp options. syslog=ident[,facility] Send logs to system logger. facility may be: daemon, local0-local7 or numeric value. copy=0|1 Specifies whether to duplicate session log to general log. (Useful when per-session/per-user logs are not used) per-session-dir=path Directory for session logs. If specified each session will be logged separately to file which name is unique session identifier. per-user-dir=dir Directory for user logs. If specified all sessions of same user will be logged to file which name is user name. per-session=0|1 Specifies whether each session of same user will be logger separately to directory specified by per-user-dir and subdirectory which name is user name and to file which name os unique session identifier. level=n Specifies log level which values are: 0 – turn off any logging 1 – log only error messages 2 – log error and warning messages 3 – log error, warning and minimum information messages (use this level in conjuction with verbose option of other modules if you need verbose logging) 4 – log error, warning and full information messages 5 – log all messages including debug messages [log-pgsql] Configuration of log_pgsql module. conninfo=conninfo Conninfo to connect to PostgreSQL server. log-table=table Table to send log messages. Table must contain following field: timestamp - timestamp username - text sessionid - text msg - text [pppd_compat] Configuration of pppd_compat module. ip-pre-up=file Path to ip-pre-up script which is executed before ppp interface comes up, useful to setup firewall rules before any traffic can pass through the interface. ip-up=file Path to ip-up script which is executed when ppp interfaces is completely configured and started. ip-down=file Path to ip-down script which is executed when session is about to terminate. ip-change=file Path to ip-change script which is executed for RADIUS CoA handling. radattr=prefix Prefix of radattr files (for example /var/run/radattr, resulting files will be /var/run/radattr.pppX). verbose=0|1 Specifies whether to produce verbose logging. [chap-secrets] Configuration of chap-secrets module. gw-ip-address=x.x.x.x Specifies address to use as local address of ppp interfaces if chap-secrets is used for IPv4 address assignment. chap-secrets=file Specifies alternate chap-secrets file location (default is /etc/ppp/chap-secrets). [ip-pool] Configuration of ippool module. gw-ip-address=x.x.x.x Specifies single IP address to be used as local address of ppp interfaces. gw=range Specifies range of local address of ppp interfaces if form: x.x.x.x/mask[,pool_name] (for example 10.0.0.0/8) x.x.x.x-y[,pool_name] (for example 10.0.0.1-254) tunnel=range Specifies range of remote address of ppp interfaces, format is same as above. x.x.x.x/mask[,pool_name] : x.x.x.x-y[,pool_name] Also specifies range of remote address of ppp interfaces. [ipv6-pool] Configuration of ipv6pool module. Format of each row is ipv6prefix/mask,prefix_len for example: `fc00:0:1::/48,64` - specifies pool of address by dividing prefix fc00:0:1::/48 to subnetworks with 64 prefix len, e.g: `fc00:0:1:0::/64` `fc00:0:1:1::/64` … `fc00:0:1:ffff::/64` delegate=ipv6prefix/mask,prefix_len Specifies range of prefixes to delegate to clients through DHCPv6 prefix delegation (rfc3633). Format is same as described above. [connlimit] This module limits connection rate from single source. limit=count/time Specifies acceptable rate of connections, for example limit=1/s or limit=10/3m. burst=count timeout=n Specifies timeout in seconds after which module doesn't check rate until burst number of connections will be arrived.
Este protótipo segue os padrões estabelecidos para Plataforma Planeta V5
PPPoE Server - http://accel-ppp.org/
ACCEL-PPP compõe-se de uma implementação construida do zero com compatibilidade com os protocolos: PPTP/PPPoE/L2TP.
Características:
1. Arquitetura modular
2. I/O núcleo de alto desempenho multi-threaded
3. Suporte PPTP
4. Suporte PPPoE (incluindo extensão de TR-101)
5. Suporte L2TPv2 (sem IPsec)
5. Autenticação com Radius
6. Extensão ao Radius DM / CoA
7. Tipos de autenticação suportados: PAP, CHAP (MD5), Microsoft CHAP Extentions (incluindo a versão 2), não é suportado - EAP
8. Suport MPPE
9. A compressão não é suportada
10. Mecanismo de registro Extensible com o apoio de registro por sessão, implementado log em arquivo, faça o login com o anfitrião remoto e log para PostgreSQL tem como alvo
11. Extensível usuário / senha de dados, implementado Radius, pppd compatíveis chap-secrets e pools
12. Extensível a pool IP, implementado Radius, chap-secrets e piscinas estáticos
13. Pppd suportado roteiros compatível ip-up / ip-down
14. Contém shaper Builtin tbf / htb
15. Interface de linha de comando via telnet
16. Suporte SNMP (master ou subagent via AgentX)
Preparando as dependências:
# yum install openssl-dev # yum install libnl-dev # yum install libpcre3-dev # yum install libssl-dev # yum install pcre-devel # yum install net-snmp-libs # yum install lua-static
Baixar o sourde code :
# wget ""http://downloads.sourceforge.net/project/accel-ppp/accel-ppp-1.10.0.tar.bz2?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Faccel-ppp%2Ffiles%2F%3Fsource%3Dnavbar&ts=1454957539&use_mirror=tenet" # bzip2 -d accel-ppp-1.10.0.tar.bz2 # tar -xvf accel-ppp-1.10.0.tar # cd accel-ppp-1.10.0 # mkdir build # cd build # cmake ../accel-ppp-1.10.0/
Configuração básica do accel-pppoe.conf:
[modules] log_syslog pptp l2tp pppoe auth_mschap_v2 auth_mschap_v1 auth_chap_md5 auth_pap ippool chap-secrets [core] log-error=/var/log/accel-ppp/core.log thread-count=4 [ppp] verbose=1 min-mtu=1280 mtu=1400 mru=1400 ipv4=require ipv6=deny [lcp] echo-interval=30 echo-failure=3 [pptp] verbose=1 [pppoe] interface=eth0 verbose=1 [l2tp] verbose=1 [dns] dns1=172.16.0.1 dns2=172.16.1.1 [client-ip-range] 192.168.0.0/24 [ip-pool] gw-ip-address=192.168.2.1 192.168.2.2-255 [log] log-emerg=/var/log/accel-ppp/emerg.log #syslog=accel-pppd,daemon copy=1 level=3 [chap-secrets] gw-ip-address=192.168.0.1 #chap-secrets=/etc/ppp/chap-secrets [cli] telnet=127.0.0.1:2000 tcp=127.0.0.1:2001 #password=123
Configuração do /etc/ppp/chap-secrets
user1 * password1 * user2 * password2 *
Instalação do Openvswitch
# yum -y install wget openssl-devel gcc make python-devel openssl-devel kernel-devel graphviz kernel-debug-devel autoconf automake rpm-build redhat-rpm-config libtool # adduser ovs # su - ovs # mkdir -p ~/rpmbuild/SOURCES # export http_proxy=http://10.32.8.117:8080 # wget http://openvswitch.org/releases/openvswitch-2.3.2.tar.gz # cp openvswitch-2.3.2.tar.gz ~/rpmbuild/SOURCES/ # cd ~/rpmbuild/SOURCES/ # tar -zxvf openvswitch-2.3.2.tar.gz # sed 's/openvswitch-kmod, //g' openvswitch-2.3.2/rhel/openvswitch.spec > openvswitch-2.3.2/rhel/openvswitch_no_kmod.spec # rpmbuild -bb --nocheck openvswitch-2.3.2/rhel/openvswitch_no_kmod.spec
Quagga - http://www.nongnu.org/quagga/
A arquitetura Quagga consiste em um daemon central (zebra), que é uma camada de abstração para o kernel do Unix e apresenta a API ZServ através de um soquete do domínio Unix ou socket TCP para os clientes Quagga. Os clientes ZServ tipicamente implementam um protocolo de roteamento e comunicam atualizações de roteamento para o daemon zebra. Existentes clientes ZServ são:
ospfd, implementa Open Shortest Path First (OSPFv2)
isisd, implementação de Sistema de Intermediário Intermediate System (IS-IS)
ripd, implementa Routing Information Protocol (RIP) versão 1 e 2;
ospf6d, implementa Open Shortest Path First (OSPFv3) para IPv6
ripngd, implementa Routing Information Protocol (RIP) para IPv6
bgpd, implementa Border Gateway Protocol (BGPv4 +), incluindo apoio à família de endereços para multicast IP e IPv6
pimd, implementa protocolo Independent Multicast (PIM-SSM) para multicast específico da origem
Instalação:
# yum install quagga.x86_64 quagga-devel.x86_64 quagga-contrib.x86_64
Configuração do QinQ
Configure an Ethernet interface as a QinQ VLAN trunk
# ifconfig
enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.32.255.246 netmask 255.255.255.0 broadcast 10.32.255.255
inet6 fe80::a00:27ff:fe0c:15dd prefixlen 64 scopeid 0x20<link>
ether 08:00:27:0c:15:dd txqueuelen 1000 (Ethernet)
RX packets 85311 bytes 6413400 (6.1 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 79416 bytes 122030323 (116.3 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
enp0s8: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
ether 08:00:27:f0:7d:f8 txqueuelen 1000 (Ethernet)
RX packets 2644 bytes 194496 (189.9 KiB)
RX errors 0 dropped 279 overruns 0 frame 0
TX packets 785 bytes 133145 (130.0 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
# ip link add link enp0s8 enp0s8.2000 type vlan proto 802.1Q id 2000
# ip link add link enp0s8.2000 enp0s8.2000.5 type vlan proto 802.1Q id 5
# ip link set enp0s8.2000 up
# ifconfig
enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.32.255.246 netmask 255.255.255.0 broadcast 10.32.255.255
inet6 fe80::a00:27ff:fe0c:15dd prefixlen 64 scopeid 0x20<link>
ether 08:00:27:0c:15:dd txqueuelen 1000 (Ethernet)
RX packets 86456 bytes 6524295 (6.2 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 79424 bytes 122035177 (116.3 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
enp0s8: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
ether 08:00:27:f0:7d:f8 txqueuelen 1000 (Ethernet)
RX packets 2777 bytes 204068 (199.2 KiB)
RX errors 0 dropped 283 overruns 0 frame 0
TX packets 785 bytes 133145 (130.0 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
enp0s8.2000: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.1 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::a00:27ff:fef0:7df8 prefixlen 64 scopeid 0x20<link>
ether 08:00:27:f0:7d:f8 txqueuelen 0 (Ethernet)
RX packets 1491 bytes 74550 (72.8 KiB)
RX errors 0 dropped 354 overruns 0 frame 0
TX packets 31 bytes 4374 (4.2 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
enp0s8.2000.5: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
ether 08:00:27:f0:7d:f8 txqueuelen 0 (Ethernet)
RX packets 1137 bytes 52302 (51.0 KiB)
RX errors 0 dropped 2 overruns 0 frame 0
TX packets 1 bytes 90 (90.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
# tcpdump -n -nn -i enp0s8.2000.5
# tcpdump -n -nn -i enp0s8.2000
Script qinq.sh para criação e remoção das sub-interfaces Vlan (QinQ):
# vi qinq.sh ip link del enp0s8.2000.5 ip link del enp0s8.2020.6 ip link del enp0s8.2020.11 ip link del enp0s8.2000 ip link del enp0s8.2020 ip link add link enp0s8 enp0s8.2000 type vlan proto 802.1Q id 2000 ip link add link enp0s8.2000 enp0s8.2000.5 type vlan proto 802.1Q id 5 ip link add link enp0s8 enp0s8.2020 type vlan proto 802.1Q id 2020 ip link add link enp0s8.2020 enp0s8.2020.6 type vlan proto 802.1Q id 6 ip link add link enp0s8.2020 enp0s8.2020.11 type vlan proto 802.1Q id 11 ip link set enp0s8.2000 up ip link set enp0s8.2020 up ip link set enp0s8.2000.5 up ip link set enp0s8.2020.6 up ip link set enp0s8.2020.11 up
Planejamento
Cronograma Macro
Nome da tarefa: Avaliar viabilidade de virtualização/distribuição dos componentes do BRAS Duração: Semanas 1, 2, 3, 4 Início da Linha de Base: 15/02/16 Término da Linha de Base: 05/02/16 Responsável: Dhenner
Nome da tarefa: RF2. Implementar Métodos de Encapsulamento Duração: Semanas 2, 3, 4 Início da Linha de Base: 22/02/16 Término da Linha de Base: 05/02/16 Responsável: João Paulo
Nome da tarefa: RF1. Implementar a comunicação do modem xDSL com o OpenBRAS Duração: Semanas 5, 6, 7 Início da Linha de Base: 12/02/16 Término da Linha de Base: 26/02/16 Responsável: Dhenner
Nome da tarefa: RF3. Implementar protocolos de roteamento Duração: Semanas 8, 9, 10 Início da Linha de Base: 04/03/16 Término da Linha de Base: 18/03/16 Responsável: João Paulo
Nome da tarefa: RF4. Implementar o Gerenciamento do OpenBRAS Duração: Semanas 11, 12, 13 Início da Linha de Base: 25/03/16 Término da Linha de Base: 08/04/16 Responsável: Dhenner
Nome da tarefa: Testes e Correções Duração: Semanas 14, 15, 16 Início da Linha de Base: 15/04/16 Término da Linha de Base: 29/04/16 Responsável: João Paulo
Histórico
Pesquisadores
- Bruno César Duarte Nunes
- Bruno Cesar de Oliveira
- Dhenner Santos Peres
- Fernando Terra Silva
- Frank Rodrigues de OIiveira
- Hélvio Pereira de Freitas
- Henrique Barbosa Leite
- João Henrique de Souza Pereira
- João Paulo Mendonça Oliveira
- Luiz Cláudio Theodoro
- Matheus Silva Santos
- Murilo Borges Gomes Machado
- Rafaella Silva Brito
