네트워크 정보 및 연결

LinuxBeginner
지금 연습하기

소개

이 랩에서는 네트워크 정보를 수집하고 네트워크 연결을 테스트하기 위해 필수적인 Linux 명령어를 사용하는 방법을 배우게 됩니다. 이러한 기술은 시스템 관리자 및 네트워크 전문가가 네트워크 문제를 진단하고 해결하는 데 매우 중요합니다. Linux 네트워킹 개념을 처음 접하는 사용자를 위해 각 단계를 안내해 드리겠습니다.

성과

이 랩을 마치면 다음을 수행할 수 있습니다.

  • ip를 사용하여 네트워크 인터페이스를 보고 관리합니다.
  • ping을 사용하여 네트워크 연결을 테스트합니다.
  • netstat을 사용하여 네트워크 통계를 검사합니다.

네트워크 인터페이스 보기

ip 명령어를 사용하여 네트워크 인터페이스를 검사하는 것으로 시작해 보겠습니다.

  1. 터미널 창을 엽니다. $ 기호로 끝나는 프롬프트를 볼 수 있습니다.

  2. 다음 명령을 입력하고 Enter 키를 누릅니다.

    ip addr
    

    이 명령어는 시스템의 모든 네트워크 인터페이스에 대한 정보를 표시합니다.

  3. 다음과 유사한 출력을 볼 수 있습니다.

    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
     link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
     inet 127.0.0.1/8 scope host lo
        valid_lft forever preferred_lft forever
    86484: eth1@if86485: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
     link/ether 02:42:ac:14:00:03 brd ff:ff:ff:ff:ff:ff link-netnsid 0
     inet 172.20.0.3/16 brd 172.20.255.255 scope global eth1
        valid_lft forever preferred_lft forever
    

    이 출력을 분석해 보겠습니다.

    • lo: 이것은 루프백 인터페이스입니다. 컴퓨터가 자체적으로 통신하는 데 사용하는 특수한 네트워크 인터페이스입니다.
    • eth1: 이것은 주 이더넷 인터페이스입니다. 네트워크에 연결하는 데 사용됩니다.
    • inet: 이 줄은 인터페이스에 할당된 IP 주소를 보여줍니다. eth1의 경우 이 예제에서는 172.20.0.3입니다.

    참고: LabEx VM 환경은 변경될 수 있으므로 출력 결과가 약간 다를 수 있습니다. 중요한 부분은 출력 구조를 인식하는 것입니다.

특정 네트워크 인터페이스 검토

이제 주 이더넷 연결인 eth1과 같은 특정 네트워크 인터페이스에 집중해 보겠습니다.

  1. 동일한 터미널 창에서 다음 명령을 입력하고 Enter 키를 누릅니다.

    ip addr show eth1
    

    이 명령어는 eth1 인터페이스에 대한 자세한 정보를 표시합니다.

  2. 다음과 유사한 출력을 볼 수 있습니다.

    86484: eth1@if86485: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
     link/ether 02:42:ac:14:00:03 brd ff:ff:ff:ff:ff:ff link-netnsid 0
     inet 172.20.0.3/16 brd 172.20.255.255 scope global eth1
        valid_lft forever preferred_lft forever
    

    이 출력을 이해해 보겠습니다.

    • eth1: 이것은 인터페이스의 이름입니다.
    • <BROADCAST,MULTICAST,UP,LOWER_UP>: 이것은 인터페이스의 기능과 상태를 나타내는 플래그입니다.
    • link/ether 02:42:ac:14:00:03: 이것은 인터페이스의 MAC 주소로, 네트워크 하드웨어의 고유 식별자입니다.
    • inet 172.20.0.3/16: 이것은 인터페이스에 할당된 IPv4 주소이며, CIDR 표기법으로 서브넷 마스크가 뒤따릅니다.

    참고: eth1이 보이지 않으면 주 인터페이스의 이름이 다를 수 있습니다. 이 경우, eth1을 1 단계에서 확인한 인터페이스 이름으로 바꾸십시오.

네트워크 연결 테스트

ping 명령은 기본적인 네트워크 연결을 테스트하는 데 사용됩니다. 잘 알려진 서버에 대한 연결을 확인하기 위해 이 명령을 사용합니다.

  1. 터미널에서 다음 명령을 입력하고 Enter 키를 누릅니다.

    ping -c 4 8.8.8.8
    

    이 명령은 IP 주소 8.8.8.8 에 있는 Google 의 공용 DNS 서버로 4 개의 ping 요청을 보냅니다.

  2. 다음과 유사한 출력을 볼 수 있습니다.

    PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
    64 bytes from 8.8.8.8: icmp_seq=1 ttl=117 time=1.61 ms
    64 bytes from 8.8.8.8: icmp_seq=2 ttl=117 time=1.55 ms
    64 bytes from 8.8.8.8: icmp_seq=3 ttl=117 time=1.57 ms
    64 bytes from 8.8.8.8: icmp_seq=4 ttl=117 time=1.57 ms
    
    --- 8.8.8.8 ping statistics ---
    4 packets transmitted, 4 received, 0% packet loss, time 3004ms
    rtt min/avg/max/mdev = 1.545/1.573/1.607/0.022 ms
    

    이 출력은 성공적인 ping 응답을 보여줍니다. 정확한 시간은 환경에 따라 다를 수 있습니다.

    참고: "100% packet loss" 또는 "Destination Host Unreachable"이 표시되면 LabEx VM 에서 네트워크 연결 문제가 있음을 나타낼 수 있습니다. 무료 계정은 네트워크 접근이 제한되어 있으므로 이 문제를 해결하려면 유료 계정으로 업그레이드해야 할 수 있습니다.

도메인 이름 확인 테스트

이제 ping 명령을 사용하여 도메인 이름을 확인할 수 있는지 테스트해 보겠습니다.

  1. 터미널에서 다음 명령을 입력하고 Enter 키를 누릅니다.

    ping -c 4 google.com
    

    이 명령은 이전 명령과 유사하지만, IP 주소 대신 도메인 이름 (google.com) 을 사용합니다.

  2. 다음과 유사한 출력을 볼 수 있습니다.

    PING google.com (172.217.16.142) 56(84) bytes of data.
    64 bytes from ham02s14-in-f14.1e100.net (172.217.16.142): icmp_seq=1 ttl=117 time=11.8 ms
    64 bytes from ham02s14-in-f14.1e100.net (172.217.16.142): icmp_seq=2 ttl=117 time=11.7 ms
    64 bytes from ham02s14-in-f14.1e100.net (172.217.16.142): icmp_seq=3 ttl=117 time=11.7 ms
    64 bytes from ham02s14-in-f14.1e100.net (172.217.16.142): icmp_seq=4 ttl=117 time=11.7 ms
    
    --- google.com ping statistics ---
    4 packets transmitted, 4 received, 0% packet loss, time 3004ms
    rtt min/avg/max/mdev = 11.677/11.719/11.814/0.052 ms
    

    이 출력은 도메인 이름 확인 및 연결 성공을 보여줍니다. IP 주소와 정확한 시간은 환경에 따라 다를 수 있습니다.

    참고: "could not resolve google.com"과 같은 오류가 표시되면 LabEx VM 에서 DNS 문제가 있음을 나타낼 수 있습니다. 무료 계정은 네트워크 접근이 제한되어 있으므로 이 문제를 해결하려면 유료 계정으로 업그레이드해야 할 수 있습니다.

활성 네트워크 연결 보기

netstat 명령은 네트워크 통계 및 활성 연결을 보기 위한 강력한 도구입니다. 현재 시스템에서 어떤 네트워크 연결이 활성 상태인지 확인하기 위해 이 명령을 사용합니다.

  1. 터미널에서 다음 명령을 입력하고 Enter 키를 누릅니다.

    sudo netstat -tuln
    

    비밀번호를 묻는 메시지가 표시됩니다. 계속하려면 비밀번호를 입력하십시오.

  2. 다음과 유사한 출력을 볼 수 있습니다.

    Active Internet connections (only servers)
    Proto Recv-Q Send-Q Local Address           Foreign Address         State
    tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN
    tcp        0      0 0.0.0.0:3001            0.0.0.0:*               LISTEN
    tcp        0      0 0.0.0.0:3002            0.0.0.0:*               LISTEN
    tcp        0      0 127.0.0.11:42051        0.0.0.0:*               LISTEN
    tcp6       0      0 :::22                   :::*                    LISTEN
    udp        0      0 0.0.0.0:3001            0.0.0.0:*
    udp        0      0 127.0.0.11:40380        0.0.0.0:*
    

    이 출력은 활성 TCP 및 UDP 연결을 보여줍니다. 정확한 포트 및 주소는 LabEx VM 환경에 따라 다를 수 있습니다.

    참고: 표시되는 특정 항목은 명령을 실행하는 시점에 LabEx VM 에서 실행 중인 서비스에 따라 달라집니다.

요약

축하합니다! 네트워크 정보 및 연결 랩을 완료했습니다. 이 랩에서는 다음을 배웠습니다.

  1. ip 명령을 사용하여 네트워크 인터페이스 정보를 확인하는 방법
  2. ping 명령을 사용하여 네트워크 연결 및 도메인 이름 확인을 테스트하는 방법
  3. netstat 명령을 사용하여 활성 네트워크 연결을 검사하는 방법

이러한 도구는 Linux 시스템에서 네트워크 문제를 이해하고 문제 해결하는 데 필수적입니다. Linux 시스템 관리 여정을 계속 진행하면서 이러한 명령이 네트워크 관련 문제를 진단하고 해결하는 데 매우 유용하다는 것을 알게 될 것입니다.

LabEx VM 환경은 변경될 수 있으므로 항상 이러한 명령을 특정 상황에 맞게 조정할 준비를 하십시오. 다양한 시나리오에서 이러한 명령을 사용하여 출력 및 옵션에 익숙해지도록 연습하십시오.

즐거운 네트워킹 되세요!