Post

[Linux] 리눅스 네트워크 연결 명령어

📌 들어가며

이번 글에서는 회사 서버실 재가동 후 SSH가 안 되던 장애를 해결한 삽질기와 함께, CentOS 7 기반의 리눅스 네트워크 명령어를 정리한다. 실제 트러블슈팅 흐름을 따라가며 ifconfig·ip a·nmcli 등을 살펴본다.

상황 서버실 전체를 10분 다운 후 재가동했는데, 관리하던 리눅스 서버 한 대의 SSH 접속이 Connection Timeout으로 안 됐다. 하루 종일 원인을 좇은 과정을 공유한다.


1. 삽질 타임라인

flowchart TD
    A["재가동 후 SSH 불가<br/>(Connection Timeout)"] --> B["방화벽·포트 확인<br/>→ 실패"]
    B --> C["ping도 timeout<br/>→ 네트워크 문제 의심"]
    C --> D["직접 확인:<br/>이더넷 O, IPv4 할당 X"]
    D --> E["재부팅으로 네트워크<br/>설정 초기화로 판단"]
단계시도결과
1방화벽·포트·systemctl start sshd실패(강제 shutdown까지)
2ping·웹앱 직접 실행모두 실패 → 네트워크 문제
3네트워크 상태 확인이더넷 OK, IPv4 미할당

⚠️ 원인 착각을 조심하자. 처음엔 SSH·하드웨어 문제로 의심해 엉뚱한 곳을 팠다. ping조차 안 되는 걸 보고서야 “SSH가 아니라 네트워크 자체”임을 깨달았다. 트러블슈팅은 가장 넓은 범위(네트워크 연결)부터 좁혀가야 한다.


2. 네트워크 상태 확인 명령어

명령역할
ifconfig인터페이스 IP·서브넷·MAC 확인(구식)
ip a인터페이스 정보(현대적·간결)
route라우팅 테이블 확인
1
2
3
ifconfig        # 인터페이스 상태
ip a            # IP 주소(권장)
route           # 라우팅 테이블

💡 ifconfig는 오래된 명령이라 최신 배포판에는 없을 수 있다. ip a(= ip addr)가 후속 표준이니, 새 환경에서는 ip 계열 명령을 쓰는 것이 좋다.


3. 네트워크 연결 관리 명령어

1
2
3
4
5
6
7
# 인터페이스 활성화/비활성화
sudo ifup eth0
sudo ifdown eth0

# NetworkManager CLI (권장)
sudo nmcli connection up eth0
sudo nmcli connection down eth0

ifcfg 설정 파일

ifup/etc/sysconfig/network-scripts/ifcfg-eth0 설정을 참조한다.

1
2
3
4
5
6
DEVICE=eth0            # 인터페이스 이름
BOOTPROTO=none        # 부팅 프로토콜(none=고정 IP)
ONBOOT=yes            # 부팅 시 자동 활성화
IPADDR=192.168.1.100  # IP 주소
NETMASK=255.255.255.0 # 서브넷 마스크
GATEWAY=192.168.1.1   # 게이트웨이
항목의미
ONBOOT=yes부팅 시 자동으로 인터페이스 활성화
BOOTPROTOnone(고정) / dhcp(자동)

💡 ifup vs nmcliifup은 NetworkManager를 안 쓰는 구버전 방식(단일 인터페이스 활성화)이고, nmcli는 NetworkManager를 통해 더 유연하게 관리한다. 요즘은 nmcli가 표준이다. 이번 장애도 재부팅으로 초기화된 설정을 다시 잡아 해결했다.


📝 정리

1
2
3
4
5
리눅스 네트워크 명령어
├─ 확인   ifconfig / ip a / route
├─ 관리   ifup·ifdown / nmcli up·down
├─ 설정   ifcfg-eth0 (ONBOOT·IPADDR·GATEWAY)
└─ 교훈   넓은 범위(연결)부터 좁혀 진단
명령역할
ip a인터페이스·IP 확인
nmcliNetworkManager 관리
ifcfg-*인터페이스 설정 파일

이번 장애의 핵심 교훈은 “주관을 내려놓고 넓은 범위부터 테스트”하는 것이다. SSH·하드웨어에 매달리기 전에 ping으로 네트워크 연결부터 확인했다면 훨씬 빨리 원인(IPv4 미할당)을 찾았을 것이다.

This post is licensed under CC BY 4.0 by the author.

Comments powered by Disqus.