Nesta página
Restrição de acesso TCP para BGP
Entendendo as opções de segurança para BGP com TCP
Entre os protocolos de roteamento, o BGP é exclusivo ao usar o TCP como protocolo de transporte. Os pares BGP são estabelecidos pela configuração manual entre dispositivos de roteamento para criar uma sessão de TCP na porta 179. Um dispositivo habilitado para BGP envia periodicamente mensagens keepalive para manter a conexão.
Com o tempo, o BGP tornou-se o protocolo dominante de roteamento entre domínios na Internet. No entanto, ela tem garantias limitadas de estabilidade e segurança. A configuração de opções de segurança para BGP deve equilibrar medidas de segurança adequadas com custos aceitáveis. Nenhum método emergiu tão superior a outros métodos. Cada administrador de rede deve configurar medidas de segurança que atendam às necessidades da rede que está sendo usada.
Para obter informações detalhadas sobre os problemas de segurança associados ao uso do TCP pelo BGP como protocolo de transporte, consulte RFC 4272, BGP Security Vulnerabilities Analysis.
Consulte também
Exemplo: Configuração de um filtro para bloquear o acesso TCP a uma porta, exceto de peers BGP especificados
Este exemplo mostra como configurar um filtro de firewall sem estado padrão que bloqueia todas as tentativas de conexão de TCP de portar 179 de todos os solicitantes, exceto de peers BGP especificados.
Requisitos
Nenhuma configuração especial além da inicialização do dispositivo é necessária antes de configurar este exemplo.
Visão geral
Neste exemplo, você cria um filtro de firewall sem estado que bloqueia todas as tentativas de conexão de TCP de portar 179 de todos os solicitantes, exceto os peers BGP especificados.
O filtro filter_bgp179 de firewall sem estado corresponde a todos os pacotes, desde as interfaces conectadas diretamente no Dispositivo A e dispositivo B até a porta de destino número 179.
Topologia
Figura 1 mostra a topologia usada neste exemplo. O dispositivo C tenta fazer uma conexão TCP com o dispositivo E. O dispositivo E bloqueia a tentativa de conexão. Este exemplo mostra a configuração no Dispositivo E.
Configuração
Configuração rápida da CLI
Para configurar este exemplo rapidamente, copie os seguintes comandos, cole-os em um arquivo de texto, remova qualquer quebra de linha, altere os detalhes necessários para combinar com a configuração da sua rede e, em seguida, copie e cole os comandos no CLI no nível de [edit] hierarquia.
Dispositivo C
set interfaces ge-1/2/0 unit 10 description to-E set interfaces ge-1/2/0 unit 10 family inet address 10.10.10.10/30 set protocols bgp group external-peers type external set protocols bgp group external-peers peer-as 17 set protocols bgp group external-peers neighbor 10.10.10.9 set routing-options autonomous-system 22
Dispositivo E
set interfaces ge-1/2/0 unit 0 description to-A set interfaces ge-1/2/0 unit 0 family inet address 10.10.10.1/30 set interfaces ge-1/2/1 unit 5 description to-B set interfaces ge-1/2/1 unit 5 family inet address 10.10.10.5/30 set interfaces ge-1/0/0 unit 9 description to-C set interfaces ge-1/0/0 unit 9 family inet address 10.10.10.9/30 set interfaces lo0 unit 2 family inet filter input filter_bgp179 set interfaces lo0 unit 2 family inet address 192.168.0.1/32 set protocols bgp group external-peers type external set protocols bgp group external-peers peer-as 22 set protocols bgp group external-peers neighbor 10.10.10.2 set protocols bgp group external-peers neighbor 10.10.10.6 set protocols bgp group external-peers neighbor 10.10.10.10 set routing-options autonomous-system 17 set firewall family inet filter filter_bgp179 term 1 from source-address 10.10.10.2/32 set firewall family inet filter filter_bgp179 term 1 from source-address 10.10.10.6/32 set firewall family inet filter filter_bgp179 term 1 from destination-port bgp set firewall family inet filter filter_bgp179 term 1 then accept set firewall family inet filter filter_bgp179 term 2 then reject
Configuração do dispositivo E
Procedimento passo a passo
O exemplo a seguir exige que você navegue por vários níveis na hierarquia de configuração. Para obter informações sobre como navegar na CLI, consulte Usando o Editor de CLI no modo de configuração no Guia de usuário do Junos OS CLI.
Para configurar o Dispositivo E com um filtro de firewall sem estado que bloqueia todas as tentativas de conexão TCP de portar 179 de todos os solicitantes, exceto os peers BGP especificados:
Configure as interfaces.
user@E# set interfaces ge-1/2/0 unit 0 description to-A user@E# set interfaces ge-1/2/0 unit 0 family inet address 10.10.10.1/30 user@E# set interfaces ge-1/2/1 unit 5 description to-B user@E# set interfaces ge-1/2/1 unit 5 family inet address 10.10.10.5/30 user@E# set interfaces ge-1/0/0 unit 9 description to-C user@E# set interfaces ge-1/0/0 unit 9 family inet address 10.10.10.9/30
Configure BGP.
[edit protocols bgp group external-peers] user@E# set type external user@E# set peer-as 22 user@E# set neighbor 10.10.10.2 user@E# set neighbor 10.10.10.6 user@E# set neighbor 10.10.10.10
Configure o número do sistema autônomo.
[edit routing-options] user@E# set autonomous-system 17
Defina o termo filtro que aceita tentativas de conexão de TCP para portar 179 dos pares BGP especificados.
[edit firewall family inet filter filter_bgp179] user@E# set term 1 from source-address 10.10.10.2/32 user@E# set term 1 from source-address 10.10.10.6/32 user@E# set term 1 from destination-port bgp user@E# set term 1 then accept
Definir o outro termo filtro para rejeitar pacotes de outras fontes.
[edit firewall family inet filter filter_bgp179] user@E# set term 2 then reject
Aplique o filtro de firewall na interface de loopback.
[edit interfaces lo0 unit 2 family inet] user@E# set filter input filter_bgp179 user@E# set address 192.168.0.1/32
Resultados
A partir do modo de configuração, confirme sua configuração entrando noshow firewall, show interfacesshow protocolse show routing-options comandos. Se a saída não exibir a configuração pretendida, repita as instruções neste exemplo para corrigir a configuração.
user@E# show firewall family inet { filter filter_bgp179 { term 1 { from { source-address { 10.10.10.2/32; 10.10.10.6/32; } destination-port bgp; } then accept; } term 2 { then { reject; } } } }
user@E# show interfaces lo0 { unit 2 { family inet { filter { input filter_bgp179; } address 192.168.0.1/32; } } } ge-1/2/0 { unit 0 { description to-A; family inet { address 10.10.10.1/30; } } } ge-1/2/1 { unit 5 { description to-B; family inet { address 10.10.10.5/30; } } } ge-1/0/0 { unit 9 { description to-C; family inet { address 10.10.10.9/30; } } }
user@E# show protocols bgp { group external-peers { type external; peer-as 22; neighbor 10.10.10.2; neighbor 10.10.10.6; neighbor 10.10.10.10; } }
user@E# show routing-options autonomous-system 17;
Se você terminar de configurar o dispositivo, entre no commit modo de configuração.
Verificação
Confirme se a configuração está funcionando corretamente.
- Verificando se o filtro está configurado
- Verificando as conexões TCP
- Monitoramento do tráfego nas interfaces
Verificando se o filtro está configurado
Propósito
Certifique-se de que o filtro esteja listado na saída do show firewall filter
comando.
Ação
user@E> show firewall filter filter_bgp179 Filter: filter_bgp179
Verificando as conexões TCP
Propósito
Verifique as conexões TCP.
Ação
A partir do modo operacional, execute o show system connections extensive
comando no dispositivo C e no dispositivo E.
A saída do dispositivo C mostra a tentativa de estabelecer uma conexão TCP. A saída no Dispositivo E mostra que as conexões estão estabelecidas apenas com o Dispositivo A e o Dispositivo B.
user@C> show system connections extensive | match 10.10.10 tcp4 0 0 10.10.10.9.51872 10.10.10.10.179 SYN_SENT
user@E> show system connections extensive | match 10.10.10 tcp4 0 0 10.10.10.5.179 10.10.10.6.62096 ESTABLISHED tcp4 0 0 10.10.10.6.62096 10.10.10.5.179 ESTABLISHED tcp4 0 0 10.10.10.1.179 10.10.10.2.61506 ESTABLISHED tcp4 0 0 10.10.10.2.61506 10.10.10.1.179 ESTABLISHED
Monitoramento do tráfego nas interfaces
Propósito
Use o monitor traffic comando para comparar o tráfego em uma interface que estabelece uma conexão TCP com o tráfego em uma interface que não estabelece uma conexão TCP.
Ação
Desde o modo operacional, execute o monitor traffic comando na interface do dispositivo E até o dispositivo B e na interface do dispositivo E até o dispositivo C. A saída de amostra a seguir verifica se, no primeiro exemplo, as mensagens de reconhecimento (ack) são recebidas. No segundo exemplo, ack as mensagens não são recebidas.
user@E> monitor traffic size 1500 interface ge-1/2/1.5 19:02:49.700912 Out IP 10.10.10.5.bgp > 10.10.10.6.62096: P 3330573561:3330573580(19) ack 915601686 win 16384 <nop,nop,timestamp 1869518816 1869504850>: BGP, length: 19 19:02:49.801244 In IP 10.10.10.6.62096 > 10.10.10.5.bgp: . ack 19 win 16384 <nop,nop,timestamp 1869518916 1869518816> 19:03:03.323018 In IP 10.10.10.6.62096 > 10.10.10.5.bgp: P 1:20(19) ack 19 win 16384 <nop,nop,timestamp 1869532439 1869518816>: BGP, length: 19 19:03:03.422418 Out IP 10.10.10.5.bgp > 10.10.10.6.62096: . ack 20 win 16384 <nop,nop,timestamp 1869532539 1869532439> 19:03:17.220162 Out IP 10.10.10.5.bgp > 10.10.10.6.62096: P 19:38(19) ack 20 win 16384 <nop,nop,timestamp 1869546338 1869532439>: BGP, length: 19 19:03:17.320501 In IP 10.10.10.6.62096 > 10.10.10.5.bgp: . ack 38 win 16384 <nop,nop,timestamp 1869546438 1869546338>
user@E> monitor traffic size 1500 interface ge-1/0/0.9 18:54:20.175471 Out IP 10.10.10.9.61335 > 10.10.10.10.bgp: S 573929123:573929123(0) win 16384 <mss 1460,nop,wscale 0,nop,nop,timestamp 1869009240 0,sackOK,eol> 18:54:23.174422 Out IP 10.10.10.9.61335 > 10.10.10.10.bgp: S 573929123:573929123(0) win 16384 <mss 1460,nop,wscale 0,nop,nop,timestamp 1869012240 0,sackOK,eol> 18:54:26.374118 Out IP 10.10.10.9.61335 > 10.10.10.10.bgp: S 573929123:573929123(0) win 16384 <mss 1460,nop,wscale 0,nop,nop,timestamp 1869015440 0,sackOK,eol> 18:54:29.573799 Out IP 10.10.10.9.61335 > 10.10.10.10.bgp: S 573929123:573929123(0) win 16384 <mss 1460,sackOK,eol> 18:54:32.773493 Out IP 10.10.10.9.61335 > 10.10.10.10.bgp: S 573929123:573929123(0) win 16384 <mss 1460,sackOK,eol> 18:54:35.973185 Out IP 10.10.10.9.61335 > 10.10.10.10.bgp: S 573929123:573929123(0) win 16384 <mss 1460,sackOK,eol>
Exemplo: Configuração de um filtro para limitar o acesso TCP a uma porta com base em uma lista de prefixo
Este exemplo mostra como configurar um filtro de firewall sem estado padrão que limita determinado tráfego de TCP e protocolo de mensagem de controle de Internet (ICMP) destinado ao Mecanismo de Roteamento especificando uma lista de fontes de prefixo que contêm pares BGP permitidos.
Requisitos
Nenhuma configuração especial além da inicialização do dispositivo é necessária antes de configurar este exemplo.
Visão geral
Neste exemplo, você cria um filtro de firewall sem estado que bloqueia todas as tentativas de conexão de TCP de portar 179 de todos os solicitantes, exceto os pares BGP que têm um prefixo especificado.
Topologia
Uma lista plist_bgp179de prefixo de origem é criada que especifica a lista de prefixos de origem que contêm peers BGP permitidos.
O filtro filter_bgp179 de firewall stateless corresponde a todos os pacotes da lista plist_bgp179 de prefixo de origem à porta de destino número 179.
Configuração
Configuração rápida da CLI
Para configurar este exemplo rapidamente, copie os seguintes comandos, cole-os em um arquivo de texto, remova qualquer quebra de linha, altere os detalhes necessários para combinar com a configuração da sua rede e, em seguida, copie e cole os comandos no CLI no nível de [edit] hierarquia.
set policy-options prefix-list plist_bgp179 apply-path "protocols bgp group <*> neighbor <*>" set firewall family inet filter filter_bgp179 term 1 from source-address 0.0.0.0/0 set firewall family inet filter filter_bgp179 term 1 from source-prefix-list plist_bgp179 except set firewall family inet filter filter_bgp179 term 1 from destination-port bgp set firewall family inet filter filter_bgp179 term 1 then reject set firewall family inet filter filter_bgp179 term 2 then accept set interfaces lo0 unit 0 family inet filter input filter_bgp179 set interfaces lo0 unit 0 family inet address 127.0.0.1/32
Configure o filtro
Procedimento passo a passo
O exemplo a seguir exige que você navegue por vários níveis na hierarquia de configuração. Para obter informações sobre como navegar na CLI, consulte Usando o Editor de CLI no modo de configuração no Guia de usuário do Junos OS CLI.
Para configurar o filtro:
Expanda a lista bgp179 de prefixos para incluir todos os prefixos apontados pelo grupo de peer BGP definido por protocols bgp group <*> neighbor <*>.
[edit policy-options prefix-list plist_bgp179] user@host# set apply-path " protocols bgp group <*> neighbor <*>"
Defina o termo filtro que rejeita as tentativas de conexão de TCP de portar 179 de todos os solicitantes, exceto os pares BGP especificados.
[edit firewall family inet filter filter_bgp179] user@host# set term term1 from source-address 0.0.0.0/0 user@host# set term term1 from source-prefix-list bgp179 except user@host# set term term1 from destination-port bgp user@host# set term term1 then reject
Definir o outro termo filtro para aceitar todos os pacotes.
[edit firewall family inet filter filter_bgp179] user@host# set term term2 then accept
Aplique o filtro de firewall na interface de loopback.
[edit interfaces lo0 unit 0 family inet] user@host# set filter input filter_bgp179 user@host# set address 127.0.0.1/32
Resultados
A partir do modo de configuração, confirme sua configuração entrando no show firewall, show interfacese show policy-options comandos. Se a saída não exibir a configuração pretendida, repita as instruções neste exemplo para corrigir a configuração.
user@host# show firewall family inet { filter filter_bgp179 { term 1 { from { source-address { 0.0.0.0/0; } source-prefix-list { plist_bgp179 except; } destination-port bgp; } then { reject; } } term 2 { then { accept; } } } }
user@host# show interfaces lo0 { unit 0 { family inet { filter { input filter_bgp179; } address 127.0.0.1/32; } } }
user@host# show policy-options prefix-list plist_bgp179 { apply-path "protocols bgp group <*> neighbor <*>"; }
Se você terminar de configurar o dispositivo, entre no commit modo de configuração.
Verificação
Confirme se a configuração está funcionando corretamente.
Exibição do filtro de firewall aplicado à interface de loopback
Propósito
Verifique se o filtro filter_bgp179 de firewall é aplicado ao tráfego de entrada IPv4 na interface lo0.0lógica.
Ação
Use o show interfaces statistics operational mode
comando para interface lo0.0lógica e inclua a opção detail . Sob a Protocol inet seção da seção de saída de comando, o Input Filters campo exibe o nome do filtro de firewall stateless aplicado à interface lógica na direção de entrada.
[edit] user@host> show interfaces statistics lo0.0 detail Logical interface lo0.0 (Index 321) (SNMP ifIndex 16) (Generation 130) Flags: SNMP-Traps Encapsulation: Unspecified Traffic statistics: Input bytes : 0 Output bytes : 0 Input packets: 0 Output packets: 0 Local statistics: Input bytes : 0 Output bytes : 0 Input packets: 0 Output packets: 0 Transit statistics: Input bytes : 0 0 bps Output bytes : 0 0 bps Input packets: 0 0 pps Output packets: 0 0 pps Protocol inet, MTU: Unlimited, Generation: 145, Route table: 0 Flags: Sendbcast-pkt-to-re Input Filters: filter_bgp179 Addresses, Flags: Primary Destination: Unspecified, Local: 127.0.0.1, Broadcast: Unspecified, Generation: 138
Exemplo: Limitando o tamanho do segmento de TCP para BGP
Este exemplo mostra como evitar problemas de vulnerabilidade do Protocolo de Mensagem de Controle de Internet (ICMP), limitando o tamanho do segmento de TCP quando você estiver usando a descoberta da unidade de transmissão máxima (MTU). Usar a descoberta de MTU em caminhos TCP é um método para evitar a fragmentação de pacotes BGP.
Requisitos
Nenhuma configuração especial além da inicialização do dispositivo é necessária antes de configurar este exemplo.
Visão geral
O TCP negocia um valor máximo de tamanho de segmento (MSS) durante o estabelecimento da conexão de sessão entre dois pares. O valor mss negociado é principalmente baseado na unidade de transmissão máxima (MTU) das interfaces às quais os pares comunicadores estão diretamente conectados. No entanto, devido a variações no MTU do link no caminho trilhado pelos pacotes TCP, alguns pacotes na rede que estão bem dentro do valor MSS podem ser fragmentados quando o tamanho do pacote excede o MTU do link.
Para configurar o valor de MSS do TCP, inclua a tcp-mss
declaração com um tamanho de segmento de 1 a 4096.
Se o roteador receber um pacote TCP com o bit SYN e o conjunto de opção MSS, e a opção MSS especificada no pacote for maior do que o valor MSS especificado pela tcp-mss
declaração, o roteador substituirá o valor MSS no pacote pelo menor valor especificado pela tcp-mss
declaração.
O valor de MSS configurado é usado como o tamanho máximo do segmento para o remetente. A suposição é que o valor de MSS do TCP usado pelo remetente para se comunicar com o vizinho BGP é o mesmo que o valor de MSS do TCP que o remetente pode aceitar do vizinho BGP. Se o valor de MSS do vizinho BGP for menor do que o valor mss configurado, o valor de MSS do vizinho BGP é usado como o tamanho máximo do segmento para o remetente.
Esse recurso é compatível com TCP sobre IPv4 e TCP sobre IPv6.
Diagrama de topologia
Figura 2 mostra a topologia usada neste exemplo.
Configuração
Configuração rápida da CLI
Para configurar este exemplo rapidamente, copie os seguintes comandos, cole-os em um arquivo de texto, remova qualquer quebra de linha, altere os detalhes necessários para combinar com a configuração da sua rede e, em seguida, copie e cole os comandos no CLI no nível de [edit]
hierarquia.
R0
set interfaces fe-1/2/0 unit 1 family inet address 1.1.0.1/30 set interfaces lo0 unit 1 family inet address 10.255.14.179/32 set protocols bgp group-int tcp-mss 2020 set protocols bgp group int type internal set protocols bgp group int local-address 10.255.14.179 set protocols bgp group int mtu-discovery set protocols bgp group int neighbor 10.255.71.24 tcp-mss 2000 set protocols bgp group int neighbor 10.255.14.177 set protocols bgp group int neighbor 10.0.14.4 tcp-mss 4000 set protocols ospf area 0.0.0.0 interface fe-1/2/0.1 set protocols ospf area 0.0.0.0 interface 10.255.14.179 set routing-options autonomous-system 65000
Procedimento
Procedimento passo a passo
O exemplo a seguir exige que você navegue por vários níveis na hierarquia de configuração. Para obter informações sobre como navegar na CLI, consulte Usando o Editor de CLI no modo de configuração no Guia de usuário do Junos OS CLI.
Para configurar o Roteador R0:
Configure as interfaces.
[edit interfaces] user@R0# set fe-1/2/0 unit 1 family inet address 1.1.0.1/30 user@R0# set lo0 unit 1 family inet address 10.255.14.179/32
Configure um protocolo de gateway interior (IGP), OSPF neste exemplo.
[edit protocols ospf area 0.0.0.0] user@R0# set interface fe-1/2/0.1 user@R0# set interface 10.255.14.179
Configure um ou mais grupos BGP.
[edit protocols bgp group int] user@R0# set type internal user@R0# set local-address 10.255.14.179
Configure a descoberta de MTU para evitar a fragmentação de pacotes.
[edit protocols bgp group int] user@R0# set mtu-discovery
Configure os vizinhos BGP com o TCP MSS definido globalmente para o grupo ou especificamente para os vários vizinhos.
[edit protocols bgo group int] user@R0# set tcp-mss 2020 user@R0# set neighbor 10.255.14.177 user@R0# set neighbor 10.255.71.24 tcp-mss 2000 user@R0# set neighbor 10.0.14.4 tcp-mss 4000
Nota:A configuração do vizinho TCP MSS substitui a configuração do grupo.
Configure o sistema autônomo local.
[edit routing-options] user@R0# set autonomous-system 65000
Resultados
A partir do modo de configuração, confirme sua configuração entrando no show interfaces
, show protocols
e show routing-options
comandos. Se a saída não exibir a configuração pretendida, repita as instruções neste exemplo para corrigir a configuração.
user@R0# show interfaces fe-1/2/0 { unit 1 { family inet { address 1.1.0.1/30; } } } lo0 { unit 1 { family inet { address 10.255.14.179/32; } } }
user@R0# show protocols bgp { group int { type internal; local-address 10.255.14.179; mtu-discovery; tcp-mss 2020; neighbor 10.255.71.24 { tcp-mss 2000; } neighbor 10.255.14.177; neighbor 10.0.14.4 { tcp-mss 4000; } } } ospf { area 0.0.0.0 { interface fe-1/2/0.1; interface 10.255.14.179; } }
user@R0# show routing-options autonomous-system 65000;
Se você terminar de configurar o dispositivo, entre no commit
modo de configuração.
Verificação
Para confirmar que a configuração está funcionando corretamente, execute os seguintes comandos:
show system connections extensive | find <neighbor-address>
para verificar o valor negociado do TCP MSS.monitor traffic interface
, monitorar o tráfego BGP e garantir que o valor de MSS TCP configurado seja usado como a opção MSS no pacote TCP SYN.
Solução de problemas
Cálculo de MSS com MTU Discovery
Problema
Considere um exemplo em que dois dispositivos de roteamento (R1 e R2) têm uma conexão BGP interna (IBGP). Em ambos os roteadores, as interfaces conectadas têm 4034 como MTU IPv4.
user@R1# show protocols bgp | display set [edit] set protocols bgp group ibgp type internal set protocols bgp group ibgp local-address 45.45.45.2 set protocols bgp group ibgp mtu-discovery set protocols bgp group ibgp neighbor 45.45.45.1
user@R1# run show interfaces xe-0/0/3 extensive | match mtu Link-level type: Ethernet, MTU: 4048, LAN-PHY mode, Speed: 10Gbps, FIFO errors: 0, HS link CRC errors: 0, MTU errors: 0, Resource errors: 0 Protocol inet, MTU: 4034, Generation: 180, Route table: 0 Protocol multiservice, MTU: Unlimited, Generation: 181, Route table: 0
Na captura de pacotes a seguir no Dispositivo R1, o MSS negociado é 3994. show system connections extensive
Nas informações para MSS, está definido para 2048.
05:50:01.575218 Out Juniper PCAP Flags [Ext], PCAP Extension(s) total length 16 Device Media Type Extension TLV #3, length 1, value: Ethernet (1) Logical Interface Encapsulation Extension TLV #6, length 1, value: Ethernet (14) Device Interface Index Extension TLV #1, length 2, value: 137 Logical Interface Index Extension TLV #4, length 4, value: 69 -----original packet----- 00:21:59:e1:e8:03 > 00:19:e2:20:79:01, ethertype IPv4 (0x0800), length 78: (tos 0xc0, ttl 64, id 53193, offset 0, flags [DF], proto: TCP (6), length: 64) 45.45.45.2.62840 > 45.45.45.1.bgp: S 2939345813:2939345813(0) win 16384 **mss 3994,nop,wscale 0,nop,nop,timestamp 70559970 0,sackOK,eol> 05:50:01.575875 In Juniper PCAP Flags [Ext, no-L2, In], PCAP Extension(s) total length 16 Device Media Type Extension TLV #3, length 1, value: Ethernet (1) Logical Interface Encapsulation Extension TLV #6, length 1, value: Ethernet (14) Device Interface Index Extension TLV #1, length 2, value: 137 Logical Interface Index Extension TLV #4, length 4, value: 69 -----original packet----- PFE proto 2 (ipv4): (tos 0xc0, ttl 255, id 37709, offset 0, flags [DF], proto: TCP (6), length: 64) 45.45.45.1.bgp > 45.45.45.2.62840: S 2634967984:2634967984(0) ack 2939345814 win 16384 **mss 3994,nop,wscale 0,nop,nop,timestamp 174167273 70559970,sackOK,eol>
user@R1# run show system connections extensive | find 45.45 tcp4 0 0 45.45.45.2.62840 45.45.45.1.179 ESTABLISHED sndsbcc: 0 sndsbmbcnt: 0 sndsbmbmax: 131072 sndsblowat: 2048 sndsbhiwat: 16384 rcvsbcc: 0 rcvsbmbcnt: 0 rcvsbmbmax: 131072 rcvsblowat: 1 rcvsbhiwat: 16384 proc id: 19725 proc name: rpd iss: 2939345813 sndup: 2939345972 snduna: 2939345991 sndnxt: 2939345991 sndwnd: 16384 sndmax: 2939345991 sndcwnd: 10240 sndssthresh: 1073725440 irs: 2634967984 rcvup: 2634968162 rcvnxt: 2634968162 rcvadv: 2634984546 rcvwnd: 16384 rtt: 0 srtt: 1538 rttv: 1040 rxtcur: 1200 rxtshift: 0 rtseq: 2939345972 rttmin: 1000 mss: 2048
Solução
Esse é o comportamento esperado com o Junos OS. O valor do MSS é igual ao valor de MTU, menos os cabeçalhos IP ou IPv6 e TCP. Isso significa que o valor do MSS geralmente é 40 bytes menor que o MTU (para IPv4) e 60 bytes a menos que o MTU (para IPv6). Esse valor é negociado entre os pares. Neste exemplo, é 4034 - 40 = 3994. O Junos OS então arredonda esse valor para um múltiplo de 2 KB. O valor é 3994 / 2048 * 2048 =2048. Portanto, não é necessário ver o show system connections
mesmo valor de MSS na saída.
3994 / 2048 = 1.95
1,95 é arredondado para 1.
1 * 2048 = 2048