너도 할 수 있는, 너도밤나무 코딩

[리눅스] 유선랜 연결, But 인터넷이 안될때 'iptables' 본문

운영체제/리눅스

[리눅스] 유선랜 연결, But 인터넷이 안될때 'iptables'

곡마일장 2025. 8. 20. 15:23
반응형

오늘은 리눅스 서버에서 갑자기 인터넷이 안 되는 상황을 경험하고, 문제를 진단하고 해결한 과정을 공유하려고 합니다.

문제 상황

어느 날 서버를 켰는데, 인터넷이 전혀 되지 않았습니다. 라우터 핑도, 외부 IP 핑(예: 8.8.8.8)도 모두 실패했습니다. 로컬 네트워크에서는 IP가 정상적으로 할당되어 있었지만, 다른 장치와 통신도 원활하지 않았습니다.

 
ip addr

를 통해 확인해보니 IP는 정상적으로 192.xxx.xxx.xxx/24로 할당되어 있었고,

 
ip route

로 확인한 기본 게이트웨이도 192.xxx.xxx.xxx 로 정상적으로 잡혀 있었습니다.

그럼에도 불구하고 ping 8.8.8.8과 같은 인터넷 테스트는 전혀 응답하지 않았습니다.

문제 분석

이럴 때 가장 먼저 의심할 수 있는 원인은 네트워크 케이블이나 인터페이스 문제, 방화벽 설정 문제입니다.

  • 인터페이스 상태를 확인했을 때 state UP으로 나타났고, 링크도 정상
  • 케이블과 라우터 연결도 문제 없음
  • 그런데도 인터넷과 LAN 통신이 되지 않음

이 경우, 방화벽 설정이 원인일 가능성이 높습니다.

 
sudo iptables -L -n sudo ufw status

확인해보니, iptables 기본 정책이 DROP으로 되어 있었고, ufw는 비활성화 상태였습니다. 즉, iptables가 모든 입력 트래픽을 차단하고 있었던 것입니다.

해결 방법

임시로 iptables를 모두 허용 정책으로 변경하여 인터넷 연결을 복구했습니다.

 
sudo iptables -P INPUT ACCEPT
sudo iptables -P FORWARD ACCEPT
sudo iptables -P OUTPUT ACCEPT
sudo iptables -F
 

이후 ping 8.8.8.8 테스트에서 정상적으로 응답이 돌아왔고, 인터넷 연결도 정상적으로 복구되었습니다.

장기적으로는 iptables 규칙을 확인하고, 필요한 트래픽만 허용하는 방식으로 규칙을 재작성하거나, iptables-persistent를 이용해 재부팅 시에도 설정이 유지되도록 했습니다.

 

하지만 재부팅 시에도 동일한 문제가 발생하였고, 2시간의 사투 끝에 원인을 찾았습니다.

문제의 주범은 바로 firewalld였습니다. 서버가 부팅될 때 자동으로 firewalld가 활성화되면서, 모든 외부 트래픽을 차단하고 있었던 것입니다. iptables 정책을 ACCEPT로 바꾸거나 GUI를 재시작해도, 재부팅하면 firewalld가 다시 정책을 덮어버려 문제가 반복되었습니다.

해결 방법은 간단했습니다. 먼저 firewalld 상태를 확인하고, 비활성화했습니다.

 
sudo systemctl status firewalld sudo systemctl stop firewalld sudo systemctl disable firewalld
 

이후 서버를 재부팅하자, GUI가 정상적으로 올라왔고, 인터넷 연결과 VNC 접속도 문제없이 작동했습니다.

이번 경험을 통해 얻은 교훈은 명확했습니다. 리눅스 서버에서 네트워크 문제와 원격 접속 문제를 동시에 겪을 때는, 단순히 인터페이스나 케이블만 점검하지 말고, **자동으로 활성화되는 방화벽 서비스(firewalld 등)**까지 반드시 확인해야 한다는 것입니다.

 

방화벽 설정이 적절하지 않으면, GUI 서비스, VNC 접속, 외부 인터넷 연결 등 모든 네트워크 관련 기능에 영향을 미칠 수 있습니다. 이번 사례는 작은 설정 하나가 얼마나 큰 문제를 만들 수 있는지 보여준 좋은 예였습니다.

이제 서버는 안정적으로 인터넷과 원격 접속을 지원하며, 필요한 트래픽만 허용하는 방화벽 규칙을 적용해 안전하게 운영하고 있습니다.

결론

  • 네트워크가 정상인데 인터넷 연결이 안 되면, 방화벽 설정을 반드시 확인해야 합니다.
  • iptables 기본 정책이 DROP으로 되어 있으면 외부와의 통신이 차단될 수 있습니다.
  • 임시로 ACCEPT 정책으로 바꾸고, 이후 필요한 규칙만 적용하면 안전하게 문제를 해결할 수 있습니다.
반응형