네트워크 엔지니어의 트러블 슈팅 - (1)

반응형

오늘은 필자가 네트워크 엔지니어로 근무하면서 겪었던 네트워크 트러블 슈팅에 관한 글을 써보려고 한다. 네트워크 모니터링 솔루션, 스위치 혹은 직접 현장에서 문제 상황을 인지한 후 스위치에서 원인을 찾고 어떤식으로 해결했는지 과정을 전체적으로 써보려고 한다. 지금도 주니어지만 극 주니어일 때 했던 일이라 별거 없을 수도 있다.. 그래도 기록하는 습관은 중요하니까!

 

* 아래의 내용은 모두 IPv4 와 Cisco / Huawei 스위치를 기준으로 작성하였습니다.


1. DHCP, IP 트러블 슈팅

1-1) IP Pool 이 가득 찬 경우



지난 회사의 한 사옥에서 갑자기 일부 사용자들이 IP를 받아오지 못해 네트워크에 연결할 수 없다는 문제가 접수됐었다. 황당한 건 어쩔땐 연결되고, 어쩔땐 붙었다 떨어지는 등 ip할당이 됐다가 안됐다가를 반복하는 상황이었다. 당시 해당 사옥의 네트워크 구성은 위 그림과 같이 DHCP 서버는 Fortinet 방화벽, 사용자 스위치는 Huawei 장비를 사용하고 있었다. (집선 스위치 하단 구성은 생략하였는데, 그냥 Access 스위치가 몇 개 더 있다고 보면 된다.)

문제의 원인은 방화벽에서 설정한 DHCP IP 풀(pool) 부족으로 인해 발생한 문제였다. 예를 들어 사옥 내 유저가 200명이라 가정하고 10.1.1.0/24 대역을 할당해서 쓰고있었는데, 모바일 폰 및 사용 단말기기가 늘어나면서 할당 가능한 ip 대역이 부족해진 것이다. 그래서 별도의 네트워크 구성 변경보다는 방화벽에서 ip 할당 대역을 확장하는 것으로 해결하였다. 아래의 대역은 그냥 예로 든 것이며, 본인이 관리하는 망에 맞게 대역을 사용하면 된다.

 

[기존 사용 대역]

  • 10.1.1.0/24
    • IP 대역: 10.1.1.0 ~ 10.1.1.255
    • 사용 가능한 IP: 10.1.1.1 ~ 10.1.1.254 (총 254개, 네트워크와 브로드캐스트 주소 제외)

[확장한 ip 대역]

  • 10.1.1.0/23
    • IP 대역: 10.1.0.0 ~ 10.1.1.255
    • 사용 가능한 IP: 10.1.0.1 ~ 10.1.1.254 (총 510개, 네트워크와 브로드캐스트 주소 제외)

임직원 사옥이 아니긴 했지만 네트워크 관리자로서 해당 사옥의 사용자가 증가할 것을 예측 못한 것은 사실이다. 만약 임직원 사옥이었다면 엄청난 문의가 접수됐을수도..ㅠ^ㅠ.. 사용자 수는 큰 변동이 없지만 사용자가 쓰는 단말기가 늘어날 것을 예측 못해서 발생한 해프닝이었다.. 추후 사용자가 늘어날 상황을 고려해서 ip pool을 여유있게 잡아놓는 상황도 염두해 두어야겠다.


1-2) IP 충돌 발생 시 스위치에서 문제 포트 찾아내기

네트워크 엔지니어로 일하다보면 IP 충돌과 관련된 문제가 흔히 발생한다. 예전 필자가 근무하던 곳의 사내망은 DHCP 서버로부터 IP를 받아 오도록 되어 있는데, 간혹 임의로 IP를 설정하여 충돌이 발생하는 경우가 있었다. 이런 경우 임의로 IP를 설정한 유저를 찾으면 되는데 어떻게 찾는지 알아보도록 하자. 네트워크 스위치는 내가 수신한 패킷의 mac 이나 vlan 을 기준으로 어느 포트로부터 수신했는지 알 수 있도록 테이블 정보를 제공한다. cisco 기준으로 ip 충돌 발생 시 duplicate address 관련 log 가 발생하니 syslog 를 통해 찾을 수도 있다.

아래의 방법으로 충돌한 IP를 사용하는 mac 주소를 알아내고, 해당 mac이 올라오는 포트를 따라가면서 사용자를 찾거나, 혹은 별도의 mab 서버나 dhcp 서버에서 mac 주소를 긁어 조회할 수도 있다. (하지만 이 경우는 수동으로 입력해주는 케이스가 있어서 실제 사용자와 다를 수 있으니 스위치에서 따라가면서 찾는 걸 추천한다.)

1. IP 충돌 로그 확인: %IP-4-DUPADDR 메시지를 통해 충돌 IP와 MAC 주소를 확인

%IP-4-DUPADDR: Duplicate address 192.168.0.1 on Ethernet1/0, sourced by 0000.5e00.0000

 

 

2. show arp 명령어로 충돌한 IP에 바인딩된 MAC 주소 확인

show arp //충돌 IP에 연결된 MAC 주소 조회
show mac-address-table // MAC 주소가 연결된 포트 확인

 

 

3. 확인된 포트를 기반으로 문제 해결(IP 변경 요청 또는 포트 비활성화)

임의로 ip를 변경한 사용자를 찾았다면 ip 변경을 요청하거나, 유저단 스위치에서 직접 포트를 disable 해줄 수도 있다. (네트워크 관리자인 나의 입장에선 제발 ip를 막 변경하지말고.. 사내 네트워크 엔지니어에게 요청해서 썼으면 하지만 내맘처럼 쉽지 않다..ㅜㅜ..)


2.  스위치의 storm-control 기능 사용하기

필자가 관리했던 사내망의 경우 사용자 단말기가 연결된 Access Switch 쪽 포트에는 storm-control 설정을 넣어두어 트래픽 종류별로 일정 임계치를 넘으면 해당 포트가 shutdown 되도록 설정해두었다. huawei 스위치의 경우 storm-control 에 대한 기능과 config 설정법이 홈페이지에 잘 나와있는데, 아래 링크를 참고하면 된다.

https://support.huawei.com/enterprise/en/doc/EDOC1000178177/f10aa989/example-for-configuring-storm-control 

 

https://support.huawei.com/enterprise/en/doc/EDOC1000178177/f10aa989/example-for-configuring-storm-control

 

support.huawei.com

huawei 스위치의 경우 브로드캐스트는 일정 수치가 넘으면 shutdown 되지만, 유니캐스트와 멀티캐스트는 Unknown 트래픽에 대해서만 shutdown 되는 것 같다. 그도 그럴 것이 일반 사용자가 트래픽을 끌어다 쓴다고 전부다 shutdown 하면 안되니까.. 브로드캐스트는 기본적으로 차단하지만 정상적인 트래픽이 임계치에 도달했다고 다 shutdown 시키지는 않는다. 아래는 strorm-control을 적용한 것으로 70%가 넘는 브로드캐스트가 해당포트에 발생하면 자동으로 포트가 다운되도록 설정한 예이다. 참고로 해당 포트 enable(활성화)은 자동으로 되지 않고, 관리자가 직접 활성화 해줘야 한다. 옵션으로 포트를 다운시킬 수도 있지만, Trap을 보내어 로그 서버나 로그에서 확인할 수도 있다.


2-1) 스톰 컨트롤(strom-control) 구성하기 (Huawei 장비 기준 작성)

  1. 인터페이스 뷰로 이동:
    <HUAWEI> system-view
    [HUAWEI] sysname SwitchA
    [SwitchA] interface gigabitethernet0/0/1
  2. 브로드캐스트 패킷에 대한 스톰 컨트롤 설정:
    [SwitchA-GigabitEthernet0/0/1] storm-control broadcast min-rate 1000 max-rate 2000
  3. Unknown 멀티캐스트 패킷에 대한 스톰 컨트롤 설정:
    [SwitchA-GigabitEthernet0/0/1] storm-control multicast min-rate 1000 max-rate 2000
  4. Unknown 유니캐스트 패킷에 대한 스톰 컨트롤 설정:
    [SwitchA-GigabitEthernet0/0/1] storm-control unicast min-rate 1000 max-rate 2000
  5. 스톰 컨트롤 액션을 차단(block)으로 설정:
    [SwitchA-GigabitEthernet0/0/1] storm-control action block
  6. 스톰 컨트롤 이벤트 발생 시 로그 기록 활성화:
    [SwitchA-GigabitEthernet0/0/1] storm-control enable log
  7. 스톰 컨트롤 감지 간격 설정:
    [SwitchA-GigabitEthernet0/0/1] storm-control interval 90
    [SwitchA-GigabitEthernet0/0/1] quit

2-2) strom-control 구성 확인 명령어

[SwitchA] display storm-control interface gigabitethernet 0/0/1


2-3) Switch Config

#
sysname SwitchA
#
interface GigabitEthernet0/0/1
 storm-control broadcast min-rate 1000 max-rate 2000
 storm-control multicast min-rate 1000 max-rate 2000
 storm-control unicast min-rate 1000 max-rate 2000
 storm-control interval 90
 storm-control action block
 storm-control enable log
#
return

 

반응형