Border Gateway Protocol 인접 항목 사용 안 함
이 문서에서는 사용자가 RW(읽기/쓰기) 명령을 구현하여 BGP(Border Gateway Protocol) 인접 항목을 사용하지 않도록 설정하는 방법을 보여 주는 예를 제공합니다.
VRF(Virtual Routing and Forwarding) 수준에서 특정 피어 종료
다음은 RW API를 사용하여 구성을 변경하기 전의 네트워크 패브릭 디바이스의 스냅샷을 보여 줍니다.
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
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"
예상 출력:
{}
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
다음을 사용하여 --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
매개 변수 | 설명 |
---|---|
az networkfabric device run-rw |
Azure 네트워크 패브릭 내의 네트워크 디바이스에서 읽기-쓰기 작업을 실행하기 위한 Azure CLI 명령입니다. |
--resource-name |
RW 작업을 수행할 리소스(네트워크 디바이스)의 이름을 지정합니다. |
--resource-group |
네트워크 디바이스가 포함된 리소스 그룹의 이름을 지정합니다. |
--rw-command "router bgp 65055\n vrf gfab1-isd\n neighbor 10.100.30.18 shutdown" |
네트워크 디바이스에서 실행할 RW 명령을 지정합니다. 이러한 명령은 BGP 설정을 구성하고 특정 인접 항목을 종료합니다. |
--no-wait |
작업이 완료될 때까지 기다리지 않고 명령이 비동기적으로 실행되어야 함을 나타냅니다. |
--debug |
디버그 모드를 사용하도록 설정하는 플래그로 문제 해결을 위한 명령 실행에 대한 추가 정보를 제공합니다. |
예상 출력:
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=
다음 명령을 실행하여 작업 상태를 프로그래밍 방식으로 확인할 수 있습니다.
az rest -m get -u "<Azure-AsyncOperation-endpoint url>"
잘린 출력에서 추출된 Azure-AsyncOperation 엔드포인트 URL의 예입니다.
<https://eastus.management.azure.com/subscriptions/xxxxxxxxxxx/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/xxxxxxxxxxx?api-version=20XX-0X-xx-xx>
상태는 API의 성공 또는 실패 여부를 나타냅니다.
예상 출력:
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"
}
VRF 수준에서 피어 그룹 종료
이 예에서는 RW 구성이 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"
매개 변수 | 설명 |
---|---|
az networkfabric device run-rw |
Azure 네트워크 패브릭 내의 네트워크 디바이스에서 읽기-쓰기 작업을 실행하기 위한 Azure CLI 명령입니다. |
--resource-name |
RW 작업이 수행되는 리소스(네트워크 디바이스)의 이름을 지정합니다. |
--resource-group |
네트워크 디바이스가 포함된 리소스 그룹의 이름을 지정합니다. |
--rw-command "router bgp 65055\n neighbor untrustnetwork shutdown" |
네트워크 디바이스에서 실행할 RW 명령을 지정합니다. 이 명령은 "untrustnetwork"라는 인접 항목을 종료하도록 BGP 설정을 구성합니다. |
예상 출력:
{}
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
다음을 사용하여 --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
매개 변수 | 설명 |
---|---|
az networkfabric device run-rw |
Azure 네트워크 패브릭 내의 네트워크 디바이스에서 읽기-쓰기 작업을 실행하기 위한 Azure CLI 명령입니다. |
--resource-name |
RW 작업이 수행되는 리소스(네트워크 디바이스)의 이름을 지정합니다. |
--resource-group |
네트워크 디바이스가 포함된 리소스 그룹의 이름을 지정합니다. |
--rw-command "router bgp 65055\n neighbor untrustnetwork shutdown" |
네트워크 디바이스에서 실행할 RW 명령을 지정합니다. 이 명령은 "untrustnetwork"라는 인접 항목을 종료하도록 BGP 설정을 구성합니다. |
--no-wait |
작업이 완료될 때까지 기다리지 않고 명령이 비동기적으로 실행되어야 함을 나타냅니다. |
--debug |
디버그 모드를 사용하도록 설정하는 플래그로 문제 해결을 위한 명령 실행에 대한 추가 정보를 제공합니다. |
예상되는 잘린 출력:
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.
다음 명령을 실행하여 작업 상태를 프로그래밍 방식으로 확인할 수 있습니다.
az rest -m get -u "<Azure-AsyncOperation-endpoint url>"
잘린 출력에서 추출된 Azure-AsyncOperation 엔드포인트 URL의 예입니다.
<https://eastus.management.azure.com/subscriptions/xxxxxxxxxxx/providers/Microsoft.ManagedNetworkFabric/locations/EASTUS/operationStatuses/xxxxxxxxxxx?api-version=20XX-0X-xx-xx>
상태는 API의 성공 또는 실패 여부를 나타냅니다.
예상 출력:
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"
}
잘못된 구성 작업
디바이스에서 구성 명령을 구현하려고 하는데 구성이 잘못된 경우 구성이 디바이스에 적용되지 않습니다. 프롬프트는 gNMI SET 실패를 나타내는 일반적인 오류 응답을 생성합니다. 이 오류를 수정하려면 올바른 구성을 다시 적용합니다. 디바이스 상태에는 변화가 없습니다.
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"
매개 변수 | 설명 |
---|---|
az networkfabric device run-rw |
Azure 네트워크 패브릭 내의 네트워크 디바이스에서 읽기-쓰기 작업을 실행하기 위한 Azure CLI 명령입니다. |
--resource-name |
RW 작업이 수행되는 리소스(네트워크 디바이스)의 이름을 지정합니다. |
--resource-group |
네트워크 디바이스가 포함된 리소스 그룹의 이름을 지정합니다. |
--rw-command "router bgp 4444\n vrf gfab1-isd\n niehgbor 10.100.30.18 shudown" |
네트워크 디바이스에서 실행할 RW 명령을 지정합니다. 이 명령은 "gfab1-isd"라는 VRF 내에서 IP 주소가 10.100.30.18인 인접 항목을 종료하도록 BGP 설정을 구성합니다. |
예상 출력:
Error: Message: \[GNMI SET failed. Error: GNMI SET failed: rpc error: code = config failed to apply.