네트워크 문제 해결
네트워크 문제 해결
문제
설명
이 체크리스트는 문제 해결 기본 사항에 대한 링크와 네트워크 예시를 제공하며 라우터 및 네트워크 문제를 진단하는 데 사용할 수 있는 명령에 대한 요약을 포함합니다.
솔루션
작업 |
명령 또는 작업 |
---|---|
끊어진 네트워크 연결 격리 | |
ping (ip-address | hostname) show route (ip-address | hostname) traceroute (ip-address | hostname) |
|
|
|
|
|
|
끊어진 네트워크 연결 격리
에 그림 1설명된 표준 4단계 프로세스를 적용하여 네트워크에서 장애가 발생한 노드를 격리할 수 있습니다. 이 섹션에 설명된 기능은 버전 15.1X49, 15.1X49-D30 또는 15.1X49-D40에서 지원되지 않습니다.
그러나 4단계 프로세스를 시작하기 전에 모든 네트워크에서 발생하는 불가피한 문제에 대비하는 것이 중요합니다. 다양한 작업을 시도하는 것만으로도 문제에 대한 해결책을 찾을 수 있지만, 네트워크의 유지 관리 및 모니터링에 체계적으로 접근한다면 적절한 솔루션에 더 빨리 도달할 수 있습니다. 네트워크의 문제에 대비하려면 정상적인 조건에서 네트워크가 어떻게 작동하는지 이해하고, 기준 네트워크 활동에 대한 기록을 보유하고, 문제 상황에서 네트워크의 동작을 주의 깊게 관찰해야 합니다.
그림 2 은(는) 네트워크의 문제를 진단하는 프로세스를 설명하기 위해 이 항목에서 사용되는 네트워크 토폴로지를 보여줍니다.
의 그림 2 네트워크는 두 개의 AS(Autonomous System)로 구성됩니다. AS 65001에는 2개의 라우터가 포함되어 있으며, AS 65002에는 3개의 라우터가 포함되어 있습니다. AS 65001의 경계 라우터(R1
)는 AS 65002 네트워크에 대한 집계된 접두사 100.100/24
를 알립니다. 이 네트워크의 R6
문제는 와 R6
사이의 루프 R2
로 인해 에 R5
액세스할 수 없다는 것입니다.
네트워크에서 실패한 연결을 격리하려면 다음 항목의 단계를 수행합니다.
끊어진 네트워크 연결의 증상 확인
문제
설명
네트워크 문제의 증상은 일반적으로 원격 호스트에 도달하지 못하는 것과 같이 매우 분명합니다.
솔루션
네트워크 문제의 증상을 파악하려면 네트워크의 한쪽 끝에서 시작하여 다른 쪽 끝으로 가는 경로를 따라 다음 Junos OS 명령줄 인터페이스(CLI) 운영 모드 명령 중 전부 또는 하나를 입력합니다.
user@host> ping (ip-address
|host-name
) user@host> show route (ip-address
|host-name
) user@host> traceroute (ip-address
|host-name
)
샘플 출력
user@R6> ping 10.0.0.5 PING 10.0.0.5 (10.0.0.5): 56 data bytes 36 bytes from 10.1.26.1: Time to live exceeded Vr HL TOS Len ID Flg off TTL Pro cks Src Dst 4 5 00 0054 e2db 0 0000 01 01 a8c6 10.1.26.2 10.0.0.5 36 bytes from 10.1.26.1: Time to live exceeded Vr HL TOS Len ID Flg off TTL Pro cks Src Dst 4 5 00 0054 e2de 0 0000 01 01 a8c3 10.1.26.2 10.0.0.5 36 bytes from 10.1.26.1: Time to live exceeded Vr HL TOS Len ID Flg off TTL Pro cks Src Dst 4 5 00 0054 e2e2 0 0000 01 01 a8bf 10.1.26.2 10.0.0.5 ^C --- 10.0.0.5 ping statistics --- 3 packets transmitted, 0 packets received, 100% packet loss user@R6> show route 10.0.0.5 inet.0: 20 destinations, 20 routes (20 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both 10.0.0.5/32 *[IS-IS/165] 00:02:39, metric 10 > to 10.1.26.1 via so-0/0/2.0 user@R6> traceroute 10.0.0.5 traceroute to 10.0.0.5 (10.0.0.5), 30 hops max, 40 byte packets 1 10.1.26.1 (10.1.26.1) 0.649 ms 0.521 ms 0.490 ms 2 10.1.26.2 (10.1.26.2) 0.521 ms 0.537 ms 0.507 ms 3 10.1.26.1 (10.1.26.1) 0.523 ms 0.536 ms 0.514 ms 4 10.1.26.2 (10.1.26.2) 0.528 ms 0.551 ms 0.523 ms 5 10.1.26.1 (10.1.26.1) 0.531 ms 0.550 ms 0.524 ms
의미
샘플 출력은 TTL(Time to Live) 초과로 인해 패킷이 거부되는 실패한 ping
명령을 보여줍니다. 명령의 show route
출력은 가능한 문제에 대해 추가로 검사할 수 있는 인터페이스(10.1.26.1
)를 보여줍니다. 명령은 traceroute
두 인터페이스 주소의 연속적인 반복으로 표시되는 ()와 10.1.26.2
(R6
) 사이의 10.1.26.1
R2
루프를 표시합니다.
네트워크 문제의 원인 격리
문제
설명
특정 증상은 하나 이상의 원인으로 인해 발생할 수 있습니다. 검색의 초점을 좁혀 원치 않는 동작의 각 개별 원인을 찾습니다.
솔루션
특정 문제의 원인을 격리하려면 다음 Junos OS CLI 운영 모드 명령 중 하나 또는 모두를 입력합니다.
user@host> show < configuration | bgp | interfaces | isis | ospf | route >
특정 문제로 인해 위에 나열된 명령 이상을 사용해야 할 수 있습니다. 일반적으로 사용되는 운영 모드 명령의 전체 목록은 적절한 명령 참조를 참조하십시오.
샘플 출력
user@R6> show interfaces terse Interface Admin Link Proto Local Remote so-0/0/0 up up so-0/0/0.0 up up inet 10.1.56.2/30 iso so-0/0/2 up up so-0/0/2.0 up up inet 10.1.26.2/30 iso so-0/0/3 up up so-0/0/3.0 up up inet 10.1.36.2/30 iso [...Output truncated...]
다음 샘플 출력은 다음에서 R2
나옵니다.
user@R2> show route 10.0.0.5 inet.0: 22 destinations, 25 routes (22 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both 10.0.0.5/32 *[Static/5] 00:16:21 > to 10.1.26.2 via so-0/0/2.0 [BGP/170] 3d 20:23:35, MED 5, localpref 100 AS path: 65001 I > to 10.1.12.1 via so-0/0/0.0
의미
샘플 출력은 의 R6
모든 인터페이스가 작동 중임을 보여줍니다. 의 R2
출력은 에 구성된 R2
고정 경로 [Static/5
]이(가) ()를 R6
10.1.26.2
가리키며, 기본 설정 값이 낮기 때문에 에 R5
대한 기본 경로임을 보여줍니다. 그러나 경로는 (10.1.15.2
)에 대한 누락된 참조로 표시된 대로 에서 R2
(으)로 R6
반복됩니다R5
.
네트워크 문제 해결을 위한 적절한 작업 실행
문제
설명
적절한 조치는 분리한 문제의 유형에 따라 다릅니다. 이 예에서는 에 R2
구성된 고정 경로가 [routing-options
] 계층 수준에서 삭제됩니다. 다른 적절한 조치에는 다음이 포함될 수 있습니다.
솔루션
로컬 라우터의 구성을 확인하고 필요한 경우 편집합니다.
중간 라우터의 문제를 해결합니다.
원격 호스트 구성을 확인하고 필요한 경우 편집합니다.
라우팅 프로토콜 문제를 해결합니다.
가능한 추가 원인을 식별합니다.
이 예에서 문제를 해결하려면 다음 Junos OS CLI 명령을 입력합니다.
[edit] user@R2# delete routing-options static routedestination-prefix
user@R2# commit and-quit user@R2# show routedestination-prefix
샘플 출력
[edit] user@R2# delete routing-options static route 10.0.0.5/32 [edit] user@R2# commit and-quit commit complete Exiting configuration mode user@R2> show route 10.0.0.5 inet.0: 22 destinations, 24 routes (22 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both 10.0.0.5/32 *[BGP/170] 3d 20:26:17, MED 5, localpref 100 AS path: 65001 I > to 10.1.12.1 via so-0/0/0.0
의미
샘플 출력은 [routing-options
] 계층에서 삭제된 정적 경로와 커밋된 새 구성을 보여줍니다. 이제 명령의 show route
출력에는 별표(*
)로 표시된 대로 BGP 경로가 기본 경로로 표시됩니다.
네트워크 문제가 해결되었는지 확인하기 위한 솔루션 평가
문제
설명
문제가 해결되면 작업이 완료된 것입니다. 문제가 남아 있거나 새로운 문제가 확인되면 프로세스를 다시 시작하십시오.
순서에 관계없이 가능한 원인을 해결할 수 있습니다. 끊어진 네트워크 연결 격리의 네트워크와 관련하여 로컬 라우터에서 원격 라우터로 작업하도록 선택했지만, 특히 문제가 최근 구성 변경과 같은 알려진 문제와 관련이 있다고 믿을 만한 이유가 있는 경우 다른 지점에서 시작할 수 있습니다.
솔루션
솔루션을 평가하려면 다음 Junos OS CLI 명령을 입력합니다.
user@host> show route (ip-address
|host-name
) user@host> ping (ip-address
|host-name
) user@host> traceroute (ip-address
|host-name
)
샘플 출력
user@R6> show route 10.0.0.5 inet.0: 20 destinations, 20 routes (20 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both 10.0.0.5/32 *[BGP/170] 00:01:35, MED 5, localpref 100, from 10.0.0.2 AS path: 65001 I > to 10.1.26.1 via so-0/0/2.0 user@R6> ping 10.0.0.5 PING 10.0.0.5 (10.0.0.5): 56 data bytes 64 bytes from 10.0.0.5: icmp_seq=0 ttl=253 time=0.866 ms 64 bytes from 10.0.0.5: icmp_seq=1 ttl=253 time=0.837 ms 64 bytes from 10.0.0.5: icmp_seq=2 ttl=253 time=0.796 ms ^C --- 10.0.0.5 ping statistics --- 3 packets transmitted, 3 packets received, 0% packet loss round-trip min/avg/max/stddev = 0.796/0.833/0.866/0.029 ms user@R6> traceroute 10.0.0.5 traceroute to 10.0.0.5 (10.0.0.5), 30 hops max, 40 byte packets 1 10.1.26.1 (10.1.26.1) 0.629 ms 0.538 ms 0.497 ms 2 10.1.12.1 (10.1.12.1) 0.534 ms 0.538 ms 0.510 ms 3 10.0.0.5 (10.0.0.5) 0.776 ms 0.705 ms 0.672 ms
의미
샘플 출력은 현재 과 R5.
show route
사이에 R6
연결이 있음을 보여줍니다. 명령은 별표()로 표시된 대로 에 대한 R5
BGP 경로가 선호됨을*
보여줍니다. ping
명령이 성공하고 traceroute
명령은 에서 R6
까지의 R5
경로가 ()10.1.26.1
를 통과한 다음 (10.1.12.1
)를 통과 R2
R1
하는 것으로 표시됩니다.
추적 오류 조건에 대한 체크리스트
문제
설명
표 2 에서는 오류 조건을 진단하기 위해 라우팅 프로토콜 데몬 추적, BGP(Border Gateway Protocol), IS-IS(Intermediate System-to-Intermediate System) 프로토콜 및 OSPF(Open Shortest Path First) 프로토콜 추적을 구성하기 위한 링크 및 명령을 제공합니다.
솔루션
작업 |
명령 또는 작업 |
---|---|
라우팅 프로토콜 프로세스 추적 구성 | |
|
|
|
|
monitor start filename |
|
monitor stop filename |
|
BGP 특정 옵션 구성 | |
|
|
|
|
|
|
IS-IS 특정 옵션 구성 | |
|
|
|
|
|
|
OSPF 특정 옵션 구성 | |
|
|
|
라우팅 프로토콜 프로세스 추적 구성
작업
라우팅 프로토콜 프로세스 (rpd) 추적을 구성하려면 다음과 같이 하십시오.
구성 모드에서 다음 계층 수준으로 이동하십시오.
[edit] user@host# edit routing-options traceoptions
파일, 파일 크기, 개수 및 플래그를 구성합니다.
[edit routing-options traceoptions] user@host# set file filename size size file number [edit routing-options traceoptions] user@host# set flag flag
예:
[edit routing-options traceoptions] user@host# set file daemonlog size 10240 files 10 [edit routing-options traceoptions] user@host# set flag general
구성 확인:
user@host# show
예:
[edit routing-options traceoptions] user@host# show file daemonlog size 10k files 10; flag general;
구성을 커밋합니다.
user@host# commit
일부 traceoptions 플래그는 방대한 양의 정보를 생성합니다. 추적으로 인해 라우팅 프로토콜의 작동 속도가 느려질 수도 있습니다. traceoptions 구성이 더 이상 필요하지 않은 경우 삭제합니다.
자세한 메시지가 들어 있는 파일의 내용을 확인합니다.
user@host# run show log filename
예:
[edit routing-options traceoptions] user@pro4-a# run show log daemonlog Sep 17 14:17:31 trace_on: Tracing to "/var/log/daemonlog" started Sep 17 14:17:31 Tracing flags enabled: general Sep 17 14:17:31 inet_routerid_notify: Router ID: 10.255.245.44 Sep 17 14:17:31 inet_routerid_notify: No Router ID assigned Sep 17 14:17:31 Initializing LSI globals Sep 17 14:17:31 LSI initialization complete Sep 17 14:17:31 Initializing OSPF instances Sep 17 14:17:31 Reinitializing OSPFv2 instance master Sep 17 14:17:31 OSPFv2 instance master running [...Output truncated...]
의미
표 3 에는 Junos 지원 라우팅 프로토콜 데몬 추적에 대한 추적 플래그 및 예제 출력이 나열되어 있습니다.
추적 플래그 |
설명 |
예제 출력 |
---|---|---|
all |
모든 작업 |
사용할 수 없음. |
general |
정상 운영 및 라우팅 테이블 변경 |
사용할 수 없음. |
normal |
정상 작동 |
사용할 수 없음. |
policy |
정책 운영 및 작업 |
Nov 29 22:19:58 export: Dest 10.0.0.0 proto Static Nov 29 22:19:58 policy_match_qual_or: Qualifier proto Sense: 0 Nov 29 22:19:58 policy_match_qual_or: Qualifier proto Sense: 0 Nov 29 22:19:58 export: Dest 10.10.10.0 proto IS-IS |
route |
라우팅 테이블 변경 |
Nov 29 22:23:59 Nov 29 22:23:59 rtlist_walker_job: rt_list walk for RIB inet.0 started with 42 entries Nov 29 22:23:59 rt_flash_update_callback: flash KRT (inet.0) start Nov 29 22:23:59 rt_flash_update_callback: flash KRT (inet.0) done Nov 29 22:23:59 rtlist_walker_job: rt_list walk for inet.0 ended with 42 entries Nov 29 22:23:59 Nov 29 22:23:59 KRT Request: send len 68 v14 seq 0 CHANGE route/user af 2 addr 172.16.0.0 nhop-type unicast nhop 10.10.10.33 Nov 29 22:23:59 KRT Request: send len 68 v14 seq 0 ADD route/user af 2 addr 172.17.0.0 nhop-type unicast nhop 10.10.10.33 Nov 29 22:23:59 KRT Request: send len 68 v14 seq 0 ADD route/user af 2 addr 10.149.3.0 nhop-type unicast nhop 10.10.10.33 Nov 29 22:24:19 trace_on: Tracing to "/var/log/rpdlog" started Nov 29 22:24:19 KRT Request: send len 68 v14 seq 0 DELETE route/user af 2 addr 10.10.218.0 nhop-type unicast nhop 10.10.10.29 Nov 29 22:24:19 RELEASE 10.10.218.0 255.255.255.0 gw 10.10.10.29,10.10.10.33 BGP pref 170/-101 metric so-1/1/0.0,so-1/1/1.0 <Release Delete Int Ext> as 65401 Nov 29 22:24:19 KRT Request: send len 68 v14 seq 0 DELETE route/user af 2 addr 172.18.0.0 nhop-type unicast nhop 10.10.10.33 |
상태 |
상태 전환 |
사용할 수 없음. |
task |
인터페이스 트랜잭션 및 처리 |
Nov 29 22:50:04 foreground dispatch running job task_collect for task Scheduler Nov 29 22:50:04 task_collect_job: freeing task MGMT_Listen (DELETED) Nov 29 22:50:04 foreground dispatch completed job task_collect for task Scheduler Nov 29 22:50:04 background dispatch running job rt_static_update for task RT Nov 29 22:50:04 task_job_delete: delete background job rt_static_update for task RT Nov 29 22:50:04 background dispatch completed job rt_static_update for task RT Nov 29 22:50:04 background dispatch running job Flash update for task RT Nov 29 22:50:04 background dispatch returned job Flash update for task RT Nov 29 22:50:04 background dispatch running job Flash update for task RT Nov 29 22:50:04 task_job_delete: delete background job Flash update for task RT Nov 29 22:50:04 background dispatch completed job Flash update for task RT Nov 29 22:50:04 background dispatch running job Flash update for task RT Nov 29 22:50:04 task_job_delete: delete background job Flash update for task RT |
timer |
타이머 사용 |
Nov 29 22:52:07 task_timer_hiprio_dispatch: ran 1 timer Nov 29 22:52:07 main: running normal priority timer queue Nov 29 22:52:07 main: ran 1 timer Nov 29 22:52:07 task_timer_hiprio_dispatch: running high priority timer queue Nov 29 22:52:07 task_timer_hiprio_dispatch: ran 1 timer Nov 29 22:52:07 main: running normal priority timer queue Nov 29 22:52:07 main: ran 1 timer Nov 29 22:52:07 main: running normal priority timer queue Nov 29 22:52:07 main: ran 2 timers |
특정 라우팅 프로토콜에 대한 라우팅 프로토콜 추적 구성
작업
특정 라우팅 프로토콜에 대한 라우팅 프로토콜 추적을 구성하려면 다음 단계를 수행합니다.
구성 모드에서 다음 계층 수준으로 이동하십시오.
[edit] user@host# edit protocol protocol-name traceoptions
파일, 파일 크기, 개수 및 플래그를 구성합니다.
[edit protocols protocol name traceoptions] user@host# set file filename size size files number [edit protocols protocol name traceoptions] user@host# set flag flag
예:
[edit protocols ospf traceoptions] user@host# set file ospflog size 10240 files 10 [edit protocols ospf traceoptions] user@host# set flag general
구성 확인:
user@host# show
예:
[edit protocols ospf traceoptions] user@host# show file ospflog size 10k files 10; flag general;
구성을 커밋합니다.
user@host# commit
자세한 메시지가 들어 있는 파일의 내용을 확인합니다.
user@host# run show log filename
예:
[edit protocols ospf traceoptions] user@pro4-a# run show log ospflog Sep 17 14:23:10 trace_on: Tracing to "/var/log/ospflog" started Sep 17 14:23:10 rt_flash_update_callback: flash OSPF (inet.0) start Sep 17 14:23:10 OSPF: multicast address 224.0.0.5/32, route ignored Sep 17 14:23:10 rt_flash_update_callback: flash OSPF (inet.0) done Sep 17 14:23:10 CHANGE 10.255.245.46/32 gw 10.10.208.67 OSPF pref 10/0 metric 1/0 fe-0/0/0.0 <Delete Int> Sep 17 14:23:10 CHANGE 10.255.245.46/32 gw 10.10.208.67 OSPF pref 10/0 metric 1/0 fe-0/0/0.0 <Active Int> Sep 17 14:23:10 ADD 10.255.245.46/32 gw 10.10.208.67 OSPF pref 10/0 metric 1/0 fe-0/0/0.0 <Active Int> Sep 17 14:23:10 CHANGE 10.255.245.48/32 gw 10.10.208.69 OSPF pref 10/0 metric 1/0 fe-0/0/0.0 <Delete Int> Sep 17 14:23:10 CHANGE 10.255.245.48/32 gw 10.10.208.69 OSPF pref 10/0 metric 1/0 fe-0/0/0.0 <Active Int> Sep 17 14:23:10 ADD 10.255.245.48/32 gw 10.10.208.69 OSPF pref 10/0 metric 1/0 fe-0/0/0.0 <Active Int> Sep 17 14:23:10 rt_close: 4/4 routes proto OSPF [...Output truncated...]
의미
표 4 에는 전역으로 사용할 수 있거나 특정 프로토콜에 적용할 수 있는 표준 추적 옵션이 나열되어 있습니다. 또한 특정 BGP 피어 또는 피어 그룹에 대한 추적을 구성할 수도 있습니다. 자세한 정보는 Junos 시스템 기본 구성 가이드를 참조하십시오.
추적 플래그 |
설명 |
---|---|
all |
모든 작업 |
general |
정상 운영 및 라우팅 테이블 변경 |
normal |
정상 작동 |
policy |
정책 운영 및 작업 |
route |
라우팅 테이블 변경 |
state |
상태 전환 |
task |
인터페이스 트랜잭션 및 처리 |
timer |
타이머 사용 |
거의 실시간으로 작성된 추적 파일 메시지 모니터링
목적
추적 파일에 기록되는 메시지를 거의 실시간으로 모니터링합니다.
작업
추적 파일에 기록되는 메시지를 거의 실시간으로 모니터링하려면 다음 Junos OS 명령줄 인터페이스(CLI) 운영 모드 명령을 사용합니다.
user@host> monitor start filename
샘플 출력
command-name
user@host> monitor start isis user@host> *** isis *** Sep 15 18:32:21 Updating LSP isis5.02-00 in database Sep 15 18:32:21 Updating L2 LSP isis5.02-00 in TED Sep 15 18:32:21 Adding a half link from isis5.02 to isis6.00 Sep 15 18:32:21 Adding a half link from isis5.02 to isis5.00 Sep 15 18:32:21 Adding a half link from isis5.02 to isis6.00 Sep 15 18:32:21 Adding a half link from isis5.02 to isis5.00 Sep 15 18:32:21 Scheduling L2 LSP isis5.02-00 sequence 0xd87 on interface fxp2.3 Sep 15 18:32:21 Updating LSP isis5.00-00 in database Sep 15 18:32:21 Updating L1 LSP isis5.00-00 in TED Sep 15 18:32:21 Sending L2 LSP isis5.02-00 on interface fxp2.3 Sep 15 18:32:21 sequence 0xd87, checksum 0xc1c8, lifetime 1200
추적 파일 모니터링 중지
작업
거의 실시간으로 추적 파일 모니터링을 중지하려면 모니터링을 시작한 후 다음 Junos OS CLI 운영 모드 명령을 사용합니다.
user@host monitor stop filename
샘플 출력
user@host> monitor start isis user@host> *** isis *** Sep 15 18:32:21 Updating LSP isis5.02-00 in database Sep 15 18:32:21 Updating L2 LSP isis5.02-00 in TED Sep 15 18:32:21 Adding a half link from isis5.02 to isis6.00 Sep 15 18:32:21 Adding a half link from isis5.02 to isis5.00 Sep 15 18:32:21 Adding a half link from isis5.02 to isis6.00 Sep 15 18:32:21 Adding a half link from isis5.02 to isis5.00 Sep 15 18:32:21 Scheduling L2 LSP isis5.02-00 sequence 0xd87 on interface fxp2.3 Sep 15 18:32:21 Updating LSP isis5.00-00 in database Sep 15 18:32:21 Updating L1 LSP isis5.00-00 in TED Sep 15 18:32:21 Sending L2 LSP isis5.02-00 on interface fxp2.3 Sep 15 18:32:21 sequence 0xd87, checksum 0xc1c8, lifetime 1200 monitor stop isis user@host>