ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [One Sheeter] 네트워크 관련 Linux Command
    개발/네트워크 2023. 5. 21. 23:55

    오래 전에 배웠던 네트워크가 기억 저편 속으로 사라지고 있어, 블로그들을 참고하여 한번 더 간단하게 정리했다.
    아직까지는 리눅스 기반의 네트워크를 알 필요가 없는데, 언젠가 네트워크 관련 작업을 하고자 하는 나의 바람을 이룰 수 있기를...

    1. ping [host name or IP address]
    설명
    - 대상 호스트에 연결이 되어있는지 확인하기 위해 ICMP(Internet Control Message Protocol)를 전송

     

    기능
    - 웹 페이지가 표시되지 않을 때 클라이언트측의 문제인지, 호스트측의 문제인지를 확인
    - 웹 서버 소프트웨어가 다운되어도 호스트가 살아있으면 응답을 받을 수 있음

     

    2. sudo netstat
    설명
    - netstat = Network Statistics : TCP-IP 커넥션 네트워크의 통계 정보를 제공
    - 열려있는 포트와 동작하고 있는 소프트웨어 정보 확인 가능

     

    옵션
    - a : 모든 패킷 정보 표시 
    - i : 네트워크 인터페이스 상태 표시
    - n : 주소, 포트수치 표시
    - p : PID와 프로세스 표시 (root 권한 필요) 
    - r : 루팅테이블 표시 
    - t : TCP만 표시 
    - u : UDP만 표시 
    - l : LISTEN인 상태만 표시

     

    결과 해석
    - Proto : 프로토콜 종류. TCP / UDP / RAW 
    - Recv-Q : 해당 process가 현재 받는 바이트 표기
    - Send-Q : 해당 process가 현재 보내는 바이트 표기
    - Local Address : 출발지 주소 및 포트
    - Foreign Address : 목적지 주소 및 포트
    - State : 포트의 상태
    - Local address는 현재 열려있거나 리스닝하고 있는 IP:Port
    - 0.0.0.0은 all interface를 받는 것이고, 127.0.0.1은 loopback으로 자기자신만 호출 가능한 상태

     

    3. ifconfig
    설명
    - 네트워크 인터페이스 상태 표시 및 설정
    - IP 확인을 위해 사용

     

    4. hostname [hostname]
    설명
    - hostname 표출 혹은 지정
    - 인자로 hostname을 넘기면 지정됨
    - 인자 없이 입력하면 현재 hostname을 표시


    5. traceroute [hostname or IP]
    설명
    - 지정된 호스트까지 패킷이 전달되는 경로 표시
    - ping이 날아가지 않을 경우, traceroute을 통해 호스트 자체에 문제가 있는지, 호스트에 도달하기까지 네트워크 경로중에 문제가 있는지 확인 가능

     

    원리
    - traceroute는 IP 패킷의 Time to Live(TTL) 필드를 활용해 destination까지의 traffic path를 전달

     

    6. route
    설명
    - 기기의 라우팅 테이블을 반환
    - IP 네트워크에서 라우팅 테이블은 특정 서브넷에서 다른 서브넷으로 패킷을 보내기 위해 활용

     

    사용법
    - Destination : 수신처의 네트워크 또는 호스트
    - Gateway : 게이트웨이 주소. [*]는 미설정
    - Netmask : 수신처의 서브넷마스크
      (호스트 255.255.255.255, 기본 게이트웨이 0.0.0.0)
    - Flags : 경로 상태
      (U: 경로 유효, H: 수신처는 호스트, G: 게이트웨이 사용, I:경로 무효)
    - Metric: 수신처 까지의 거리
    - Use : 경로의 참조 횟수
    - Iface : 해당 경로를 사용하는 네트워크 인터페이스

     

    실사용
    - 현재 라우팅 설정 확인 : $ route -n
    - eth0의 기본 경로 설정 : $ route add default gw <Gateway> dev eth0
    - eth1의 특정 호스트 라우팅 설정 : $ route add -host <Destination> gw <Gateway> dev eth1
    - eth1의 특정 네트워크 라우팅 설정 : $ route add -net <Destination> netmask <Subnetmask> gw <Gateway> dev eth1
    - eth0의 라우팅 테이블을 삭제 : $ route del [-net/-host] <Destination> netmask <Subnetmask> gw <Gateway> dev eth0

     

    7. nmcli [OPTIONS] OBJECT {COMMAND}
    설명
    - Linux Network Manager를 제어하는 명령어
    - network 상태를 볼 수 있는 명령어
    - 수동인 경우

     

    사용법
    - 모든 connection 표시 : $ nmcli con show
    - ipv4 설정 : $ nmcli con mod "System eth0" ipv4.address 192.0.2.2/24 ipv4.gateway 192.0.2.254 ipv4.dns "8.8.8.8 168.126.63.1"
    - ipv6 설정 : $ nmcli con mod "System eth0" ipv6.address 2001:db8:0:1::a00:1/64 ipv6.gateway 2001:db8:0:1::1
    - DHCP 활성화
    - 부팅시 자동 활성화
    - 설정 상태보기
    - 설정 반영
    - 네트워크 상태보기
    - 현재 서버에 설정한 호스트명 보기
    - 디바이스 명령어
    - 네트워킹 명령어
    - 네트워크 활성화


    8. ifup <device_name>
    설명
    - 이더넷 카드의 현재 설정을 유지 (/etc/sysconfig/network-scripts/ifcfg-(인터페이스명))한 상태로 디바이스를 구동시키고 다운시키는 작업을 하는 명령어
    - 다운시키려면 ifdown 사용할 것


    9. netconfig -d <device_name>
    설명
    - 리눅스에서 네트워크를 설정하기 위한 명령어

     

    참고
    https://jaemunbro.medium.com/linux-network-%EB%AC%B8%EC%A0%9C%ED%95%B4%EA%B2%B0-%EA%B0%80%EC%9D%B4%EB%93%9C-for-beginners-b167d5175ef8
    https://www.lesstif.com/system-admin/linux-network-manager-nmcli-77955300.html
    https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=82hyde&logNo=90044476697

     

Designed by Tistory.