Disabilitare i vicini del protocollo border gateway
Questo articolo fornisce esempi che illustrano come un utente può implementare i comandi di lettura write (RW) per disabilitare i vicini BGP (Border Gateway Protocol).
Arrestare un peer specifico a livello di routing virtuale e inoltro (VRF)
Di seguito viene illustrato uno snapshot del dispositivo di Infrastruttura di rete prima di apportare modifiche alla configurazione usando l'API RW:
sh ip bgp summary vrf gfab1-isd
BGP summary information for VRF gfab1-isd
Router identifier 10.XXX.14.34, local AS number 650XX
Neighbor Status Codes: m - Under maintenance
Neighbor V AS MsgRcvd MsgSent InQ OutQ Up/Down State PfxRcd PfxAcc
10.XXX.13.15 4 650XX 129458 168981 0 0 00:06:50 Estab 189 189
**10.XXX.30.18 4 650XX 42220 42522 0 0 00:00:44 Estab 154 154**
10.XXX.157.8 4 645XX 69211 74503 0 0 21d20h Estab 4 4
fda0:XXXX:XXXX:d::f 4 650XX 132192 171982 0 0 28d18h Estab 0 0
Eseguire il comando seguente per disabilitare il vicino BGP:
az networkfabric device run-rw --resource-name <ResourceName> --resource-group <ResourceGroupName> --rw-command "router bgp 65055\n vrf gfab1-isd\n neighbor 10.100.30.18 shutdown"
Output previsto:
{}
sh ip bgp summary vrf gfab1-isd
BGP summary information for VRF gfab1-isd
Router identifier 10.XXX.14.34, local AS number 650XX
Neighbor Status Codes: m - Under maintenance
Neighbor V AS MsgRcvd MsgSent InQ OutQ Up/Down State PfxRcd PfxAcc
10.XXX.13.15 4 650XX 129456 168975 0 0 00:04:31 Estab 189 189
**10.XXX.30.18 4 650XX 42210 42505 0 0 00:01:50 Idle(Admin)**
10.XXX.157.8 4 645XX 69206 74494 0 0 21d20h Estab 4 4
fda0:d59c:df06:d::f 4 65055 132189 171976 0 0 28d18h Estab 0 0
Apr XX XXX:54 AR Bgp: %BGP-3-NOTIFICATION: sent to neighbor 10.XXX.30.18 (VRF gfab1-isd AS 650XX) 6/2 (Cease/administrative shutdown <Hard Reset>) reason:
Apr XX XXX:54 AR Bgp: %BGP-3-NOTIFICATION: sent to neighbor 10.XXX.30.18 (VRF gfab1-isd AS 650XX) 6/5 (Cease/connection rejected) 0 bytes
Comando con --no-wait
--debug
az networkfabric device run-rw --resource-name <ResourceName> --resource-group <ResourceGroupName> --rw-command "router bgp 65055\n vrf gfab1-isd\n neighbor 10.100.30.18 shutdown" --no-wait –debug
Parametro | Descrizione |
---|---|
az networkfabric device run-rw |
Comando dell'interfaccia della riga di comando di Azure per l'esecuzione di un'operazione di lettura/scrittura in un dispositivo di rete all'interno di Azure Network Fabric. |
--resource-name |
Specifica il nome della risorsa (dispositivo di rete) in cui verrà eseguita l'operazione RW. |
--resource-group |
Specifica il nome del gruppo di risorse che contiene il dispositivo di rete. |
--rw-command "router bgp 65055\n vrf gfab1-isd\n neighbor 10.100.30.18 shutdown" |
Specifica i comandi RW da eseguire nel dispositivo di rete. Questi comandi configurano le impostazioni BGP e arrestano un vicino specifico. |
--no-wait |
Indica che il comando deve essere eseguito in modo asincrono senza attendere il completamento dell'operazione. |
--debug |
Contrassegnare l'abilitazione della modalità di debug, fornendo informazioni aggiuntive sull'esecuzione del comando a scopo di risoluzione dei problemi. |
Output previsto:
cli.knack.cli: Command arguments: \['networkfabric', 'device', 'run-rw', '--resource-name', <ResourceName>, '--resource-group', <ResourceGroupName>, '--rw-command', 'router bgp 65055\\\\n vrf gfab1-isd\\\\n neighbor 10.100.30.18 shutdown', '--debug'\]
cli.knack.cli: \_\_init\_\_ debug log:
Enable color in terminal.
cli.knack.cli: Event: Cli.PreExecute \[\]
cli.knack.cli: Event: CommandParser.OnGlobalArgumentsCreate \[<function CLILogging.on\_global\_arguments at 0x01F1A610>;, <function OutputProducer.on\_global\_arguments at 0x0211B850>, <function CLIQuery.on\_global\_arguments at 0x021314A8>\]
cli.azure.cli.core.sdk.policies: 'Azure-AsyncOperation': 'https://eastus.management.azure.com/subscriptionsXXXXXXXXXXXXXXXXXX/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/e239299a-8c71-426e-8460-58d4c0b470e2\*850DA565ABE0036AB?api-version=2022-01-15-privatepreview&t=638479088323069839&c=
È possibile controllare a livello di codice lo stato dell'operazione eseguendo il comando seguente:
az rest -m get -u "<Azure-AsyncOperation-endpoint url>"
Esempio dell'URL dell'endpoint Azure-AsyncOperation estratto dall'output troncato.
<https://eastus.management.azure.com/subscriptions/xxxxxxxxxxx/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/xxxxxxxxxxx?api-version=20XX-0X-xx-xx>
Lo stato indica se l'API ha avuto esito positivo o negativo.
Output previsto:
https://eastus.management.azure.com/subscriptions/XXXXXXXX/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/e239299a-8c71-426e-8460-58d4c0b470e2AB?api-version=2022-01-15-privatepreview
{
"endTime": "2024-XX-XXT10:14:13.2334379Z",
"id": "/subscriptions/XXXXXXXXXXXXXX/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/e239299a-8c71-426e-DA565ABE0036AB",
"name": "e239299a-8c71-426e-8460-58d4c0b470e2\*E98FEC8C2D6479A6C0A450CE6E20DA4C9DDBF225A07F7F4850DA565ABE0036AB",
"properties": null,
"resourceId": "/subscriptions/XXXXXXXXXXXX/resourceGroups/ResourceGroup/providers/Microsoft.ManagedNetworkFabric/networkDevices/ResourceName",
"startTime": "2024-XX-XXT10:13:52.0438351Z",
"status": "Succeeded"
}
Arrestare il gruppo peer a livello di VRF
In questo esempio viene illustrato come la configurazione RW arresta il gruppo di peer a livello VRF.
sh ip bgp summary vrf gfab1-isd
BGP summary information for VRF gfab1-isd
Router identifier 10.XXX.14.34, local AS number 650XX
Neighbor Status Codes: m - Under maintenance
Neighbor V AS MsgRcvd MsgSent InQ OutQ Up/Down State PfxRcd PfxAcc
10.XXX.13.15 4 650XX 129458 168981 0 0 00:06:50 Estab 189 189
10.XXX.30.18 4 650XX 42220 42522 0 0 00:00:44 Estab 154 154
** 10.XXX.157.8 4 645XX 69211 74503 0 0 21d20h Estab 4 4**
fda0:XXXX:XXXX:d::f 4 650XX 132192 171982 0 0 28d18h Estab 0 0
az networkfabric device run-rw --resource-name <ResourceName>; --resource-group <ResourceGroupName> --rw-command "router bgp 65055\\n neighbor untrustnetwork shutdown"
Parametro | Descrizione |
---|---|
az networkfabric device run-rw |
Comando dell'interfaccia della riga di comando di Azure per l'esecuzione di un'operazione di lettura/scrittura in un dispositivo di rete all'interno di Azure Network Fabric. |
--resource-name |
Specifica il nome della risorsa (dispositivo di rete) in cui viene eseguita l'operazione RW. |
--resource-group |
Specifica il nome del gruppo di risorse che contiene il dispositivo di rete. |
--rw-command "router bgp 65055\n neighbor untrustnetwork shutdown" |
Specifica i comandi RW da eseguire nel dispositivo di rete. Questi comandi configurano le impostazioni BGP per arrestare il vicino denominato "untrustnetwork". |
Output previsto:
{}
sh ip bgp summary vrf gfab1-isd
BGP summary information for VRF gfab1-isd
Router identifier 10.XXX.14.34,
Neighbor V AS MsgRcvd MsgSent InQ OutQ Up/Down State PfxRcd PfxAcc
10.XXX.13.15 4 65055 129462 168986 0 0 00:10:10 Estab 189 189
10.XXX.30.18 4 65055 42224 42527 0 0 00:04:04 Estab 154 154
fda0:XXX:XXXX:d::f 4 65055 132196 171987 0 0 28d18h Estab 0 0
AR-CE1)#Apr X XX-XX:09 AR-CE1 Bgp: %BGP-3-NOTIFICATION: sent to neighbor **10.XXX.157.8** (VRF gfab1-isd AS 64512) 6/2 (Cease/administrative shutdown <Hard Reset>) reason:
Apr 8 13:24:11 AR-CE1 Bgp: %BGP-3-NOTIFICATION: sent to neighbor **10.XXX.157.8** (VRF gfab1-isd AS 64512) 6/5 (Cease/connection rejected) 0 bytes
Comando con --no-wait
--debug
az networkfabric device run-rw --resource-name <ResourceName> --resource-group <ResourceGroupName> --rw-command "router bgp 65055\n neighbor untrustnetwork shutdown" --no-wait --debug
Parametro | Descrizione |
---|---|
az networkfabric device run-rw |
Comando dell'interfaccia della riga di comando di Azure per l'esecuzione di un'operazione di lettura/scrittura in un dispositivo di rete all'interno di Azure Network Fabric. |
--resource-name |
Specifica il nome della risorsa (dispositivo di rete) in cui viene eseguita l'operazione RW. |
--resource-group |
Specifica il nome del gruppo di risorse che contiene il dispositivo di rete. |
--rw-command "router bgp 65055\n neighbor untrustnetwork shutdown" |
Specifica i comandi RW da eseguire nel dispositivo di rete. Questi comandi configurano le impostazioni BGP per arrestare il vicino denominato "untrustnetwork". |
--no-wait |
Indica che il comando deve essere eseguito in modo asincrono senza attendere il completamento dell'operazione. |
--debug |
Contrassegnare l'abilitazione della modalità di debug, fornendo informazioni aggiuntive sull'esecuzione del comando a scopo di risoluzione dei problemi. |
Output troncato previsto:
cli.knack.cli: Command arguments: ['networkfabric', 'device', 'run-rw', '--resource-name', <ResourceName>, '--resource-group', <ResourceGroup>, '--rw-command', 'router bgp 65055\\n neighbor untrustnetwork shutdown', '--debug']
cli.knack.cli: __init__ debug log:
Enable color in terminal.
cli.knack.cli: Event: Cli.PreExecute []
cli.azure.cli.core.sdk.policies: 'Expires': '-1'
cli.azure.cli.core.sdk.policies: 'Location': 'https://eastus2euap.management.azure.com/subscriptions/XXXXXXXXXX/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/4659700f-0280-491d-b478-491c6a88628c*F348648BDC06F42B2EDBC6E58?api-version=2022-01-15-privatepreview&t=638481804853087320
telemetry.process: Return from creating process
telemetry.main: Finish creating telemetry upload process.
È possibile controllare a livello di codice lo stato dell'operazione eseguendo il comando seguente:
az rest -m get -u "<Azure-AsyncOperation-endpoint url>"
Esempio dell'URL dell'endpoint Azure-AsyncOperation estratto dall'output troncato.
<https://eastus.management.azure.com/subscriptions/xxxxxxxxxxx/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/xxxxxxxxxxx?api-version=20XX-0X-xx-xx>
Lo stato indica se l'API ha avuto esito positivo o negativo.
Output previsto:
https://eastus.management.azure.com/subscriptions/XXXXXXXX/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/e239299a-8c71-426e-8460-58d4c0b470e2AB?api-version=2022-01-15-privatepreview
{
"endTime": "2024-XX-XXT10:14:13.2334379Z",
"id": "/subscriptions/XXXXXXXXXXXXXX/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/e239299a-8c71-426e-DA565ABE0036AB",
"name": "e239299a-8c71-426e-8460-58d4c0b470e2\*E98FEC8C2D6479A6C0A450CE6E20DA4C9DDBF225A07F7F4850DA565ABE0036AB",
"properties": null,
"resourceId": "/subscriptions/XXXXXXXXXXXX/resourceGroups/ResourceGroup/providers/Microsoft.ManagedNetworkFabric/networkDevices/ResourceName",
"startTime": "2024-XX-XXT10:13:52.0438351Z",
"status": "Succeeded"
}
Operazione di configurazione non corretta
Se si tenta di implementare un comando di configurazione nel dispositivo e la configurazione non è corretta, la configurazione non viene applicata nel dispositivo. Il prompt restituisce una risposta di errore tipica, che indica un errore gNMI edizione Standard T. Per correggere questo errore, riapplicare la configurazione corretta. Non viene apportata alcuna modifica allo stato del dispositivo.
az networkfabric device run-rw --resource-name <ResourceName> --resource-group <ResourceGroupName> --rw-command "router bgp 4444\n vrf gfab1-isd\n niehgbor 10.100.30.18 shudown"
Parametro | Descrizione |
---|---|
az networkfabric device run-rw |
Comando dell'interfaccia della riga di comando di Azure per l'esecuzione di un'operazione di lettura/scrittura in un dispositivo di rete all'interno di Azure Network Fabric. |
--resource-name |
Specifica il nome della risorsa (dispositivo di rete) in cui viene eseguita l'operazione RW. |
--resource-group |
Specifica il nome del gruppo di risorse che contiene il dispositivo di rete. |
--rw-command "router bgp 4444\n vrf gfab1-isd\n niehgbor 10.100.30.18 shudown" |
Specifica i comandi RW da eseguire nel dispositivo di rete. Questi comandi configurano le impostazioni BGP per arrestare il vicino con indirizzo IP 10.100.30.18 all'interno del VRF denominato "gfab1-isd". |
Output previsto:
Error: Message: \[GNMI SET failed. Error: GNMI SET failed: rpc error: code = config failed to apply.