Linux 서버에서는 같은 네트워크의 장비와는 통신이 가능하지만 외부 인터넷이나 다른 네트워크로는 접속되지 않는 경우가 있습니다. ping 192.168.x.x는 성공하지만 ping 8.8.8.8은 실패한다면 가장 먼저 Gateway(기본 게이트웨이) 설정을 의심해야 합니다.
Gateway는 서로 다른 네트워크를 연결해 주는 출입구 역할을 합니다. Gateway가 없거나 잘못 설정되어 있으면 외부 네트워크와의 통신이 불가능합니다.
이번 글에서는 Linux에서 Gateway 문제가 발생하는 원인과 확인 방법, 해결 방법을 실무 중심으로 알아보겠습니다.
Gateway란?
Gateway는 다른 네트워크로 패킷을 전달하는 장비(보통 라우터 또는 L3 스위치)의 주소입니다.
동작 구조는 다음과 같습니다.
Client Server
↓
Default Gateway
↓
Router
↓
Internet
목적지가 같은 네트워크가 아니라면 Linux는 기본적으로 Gateway를 통해 패킷을 전달합니다.
Gateway 문제가 발생하는 주요 원인
대표적인 원인은 다음과 같습니다.
- Gateway IP 오입력
- Default Route 삭제
- Router 장애
- VLAN 설정 오류
- DHCP 설정 오류
- NetworkManager 설정 오류
- Static Route 충돌
- Bonding 설정 오류
- Firewall 차단
- 잘못된 Netplan 설정
실무에서는 Default Route 삭제와 Gateway 오입력이 가장 많이 발생합니다.
1. 현재 Gateway 확인하기
현재 라우팅 정보를 확인합니다.
ip route
예시
default via 192.168.10.1 dev eth0
또는
route -n
Default Gateway가 존재하는지 확인합니다.
2. Default Route 확인하기
Default Route만 확인하려면
ip route | grep default
출력 예시
default via 192.168.10.1 dev eth0
아무것도 출력되지 않으면 Default Route가 없는 상태입니다.
3. Gateway Ping 테스트
Gateway와 통신되는지 확인합니다.
ping 192.168.10.1
Gateway까지 Ping이 되지 않는다면
- 케이블 문제
- VLAN 문제
- Switch 문제
- Router 문제
등을 확인해야 합니다.
4. Default Gateway 추가하기
임시로 Gateway를 추가합니다.
ip route add default via 192.168.10.1
기존 Gateway를 삭제하려면
ip route del default
변경 후 다시 ip route로 확인합니다.
5. 인터페이스 확인하기
현재 인터페이스 상태를 확인합니다.
ip addr
또는
ip link
인터페이스가 DOWN 상태라면
ip link set eth0 up
으로 활성화합니다.
6. 외부 네트워크 테스트
Gateway가 정상이라면 외부 IP를 테스트합니다.
ping 8.8.8.8
성공하면 라우팅은 정상입니다.
이후 DNS를 확인합니다.
ping google.com
IP는 되지만 도메인이 안 되면 DNS 문제입니다.
7. Trace Route 확인하기
패킷이 어디까지 전달되는지 확인합니다.
traceroute 8.8.8.8
또는
tracepath 8.8.8.8
첫 번째 Hop이 Gateway입니다.
첫 번째 Hop부터 실패하면 Gateway 설정을 확인해야 합니다.
8. DHCP 확인하기
DHCP 환경에서는 Gateway가 자동으로 설정됩니다.
현재 임대 정보를 확인합니다.
cat /var/lib/dhcp/dhclient.leases
Gateway 정보가 정상적으로 내려오는지 확인합니다.
9. 로그 확인하기
NetworkManager 로그를 확인합니다.
journalctl -u NetworkManager
또는
journalctl -k
라우팅 오류나 인터페이스 오류가 있는지 확인합니다.
10. 방화벽 확인하기
라우팅이 정상이어도 방화벽이 차단할 수 있습니다.
iptables -L -n
또는
firewall-cmd --list-all
필요한 트래픽이 차단되지 않았는지 확인합니다.
Gateway 문제 점검 순서
실무에서는 다음 순서대로 확인하는 것이 좋습니다.
- Gateway 확인
- Default Route 확인
- Gateway Ping
- 인터페이스 확인
- 외부 IP Ping
- DNS 확인
- Trace Route 확인
- DHCP 확인
- 로그 확인
- 방화벽 확인
Gateway 문제 사용 시 주의사항
다음 사항을 확인해야 합니다.
- Gateway는 같은 서브넷에 있어야 한다.
- Default Route는 하나만 사용하는 것이 일반적이다.
- DHCP와 Static Route를 혼용할 경우 충돌을 확인한다.
- Bonding 및 VLAN 환경에서는 Gateway 설정을 다시 확인한다.
- Router 장애 가능성도 함께 점검한다.
- DNS 문제와 Gateway 문제를 혼동하지 않는다.
특히 IP 주소는 통신되지만 인터넷만 되지 않는다면 Gateway를 가장 먼저 확인하는 것이 좋습니다.
Gateway와 DNS의 차이
| 항목 | Gateway | DNS |
|---|---|---|
| 역할 | 다른 네트워크로 패킷 전달 | 도메인을 IP로 변환 |
| 동작 계층 | Layer 3 | 응용 계층 |
| 대표 주소 | 192.168.10.1 | 8.8.8.8 |
| 장애 증상 | 외부 IP 통신 불가 | 도메인 접속 불가 |
Gateway는 패킷을 전달하는 역할, DNS는 이름을 IP 주소로 변환하는 역할을 수행합니다.
자주 묻는 질문
Gateway Ping이 안 됩니다.
Gateway 장비가 꺼져 있거나 VLAN, 스위치, 케이블 문제일 가능성이 높습니다. 같은 네트워크에 있는 다른 장비도 함께 확인해 보세요.
Default Route가 두 개 있으면 어떻게 되나요?
우선순위(Metric)에 따라 하나가 선택되지만, 잘못 설정하면 예상하지 못한 경로로 패킷이 전달될 수 있습니다. 특별한 목적이 아니라면 Default Route는 하나만 사용하는 것이 좋습니다.
외부 IP는 되는데 도메인만 안 됩니다.
Gateway 문제가 아니라 DNS 문제일 가능성이 매우 높습니다. /etc/resolv.conf 또는 DNS 서버 설정을 확인해야 합니다.
마무리
Gateway는 Linux 서버가 다른 네트워크와 통신하기 위해 반드시 필요한 설정입니다. ip route, ping, traceroute, tracepath, journalctl 등을 활용하면 대부분의 Gateway 문제를 빠르게 분석할 수 있으며, Gateway와 DNS를 구분하여 점검하면 문제를 훨씬 빠르게 해결할 수 있습니다.