IT 지식과 노하우

[질문] 게임서버를 구축했는데 디도스가 들어오는 것 같습니다

코딩레벨업 2025. 2. 26. 11:10
728x90
반응형
[질문] 게임서버를 구축했는데 디도스가 들어오는 것 같습니다
개인 집에서 러스트라는 게임 사설 서버를 운영하고있습니다.

최근 서버운영중에 인원수가 어느정도 많아지면 갑자기 서버핑이 미친듯이 올라갑니다 그러면서 인터넷 연결이 끊기고 다른 공유기들도 인터넷이 끊기더라구요.. 한 10분에서 20분 정도 지나면 다시 인터넷이 연결되고 원래대로 돌아옵니다.

이 문제를 해결할 수 있는 방법이 궁금합니다. 인터넷에서 정 디도스를 방하기 위해서는 따로 어떤 준비를 해야하고 방어를 도와주는 프로그램들이 있는지 궁금합니다.

 

러스트 사설 서버 운영 중 트래픽 과부하 혹은 DDoS(디도스) 공격으로 인해 서버 핑 폭증 및 인터넷 연결 끊김 현상이 발생하는 것으로 보입니다. 이를 해결하기 위해 원인을 파악하고 적절한 대응책을 적용해야 합니다.


🚨 문제 원인 분석

1️⃣ 일반적인 네트워크 과부하

  • 서버 인원 증가 시, 네트워크 대역폭이 포화되어 공유기의 모든 인터넷 연결이 끊길 가능성 있음.
  • ISP(인터넷 제공업체)의 제한: 가정용 인터넷은 서버 운영을 고려하지 않아, 일정 트래픽 초과 시 ISP가 연결을 차단할 수도 있음.

2️⃣ DDoS(디도스) 공격 가능성

  • 서버 핑이 급격히 올라가고, 공유기까지 먹통이 되는 증상은 DDoS 공격과 유사.
  • 공격자는 대량의 패킷을 보내 서버와 네트워크를 과부하 상태로 만들 수 있음.
  • 가정용 공유기는 기본적으로 DDoS 방어 기능이 약함.

✅ 해결 방법

🔹 1. 네트워크 트래픽 과부하 방지

🔸 (1) 인터넷 대역폭 확인 및 업그레이드

  • 현재 업로드 속도 확인 (fast.com 같은 사이트에서 체크)
  • 서버 운영을 위한 최소 인터넷 속도 (업로드 기준)
    • 10명 이하: 10Mbps 이상
    • 20~50명: 50Mbps 이상
    • 50명 이상: 100Mbps 이상 + 고정 IP 추천
  • ISP에서 고정 IP(Static IP) 및 비즈니스 인터넷 상품을 문의해보는 것도 방법.

🔸 (2) 공유기 및 네트워크 장비 업그레이드

  • 가정용 공유기는 트래픽 과부하에 취약하므로 고성능 공유기 또는 유선 라우터 사용 추천.
  • 서버 전용으로 공유기 포트 포워딩(Port Forwarding) 설정을 통해 불필요한 연결 차단.

🔹 2. DDoS 공격 방어 (근본적인 해결책)

🔸 (1) 방화벽 설정 강화

  • 공유기 및 서버에서 IP 기반 차단 및 트래픽 제한 설정.
  • 서버가 Linux 기반이라면 iptables을 사용해 다음과 같이 설정:
    iptables -A INPUT -p udp --dport 28015 -m limit --limit 20/second --limit-burst 50 -j ACCEPT
    iptables -A INPUT -p udp --dport 28015 -j DROP
    
    UDP Flooding(디도스 공격 방식 중 하나) 방어
    → Rust 기본 포트인 28015에 대한 패킷 제한

🔸 (2) DDoS 방어 서비스 활용

  • Cloudflare Spectrum
    • 클라우드 기반으로 DDoS 공격을 막고 네트워크 보호
    • 무료 플랜도 있지만 Rust 서버 보호를 위해서는 유료 플랜 필요
    • 사용 방법:
      1. Cloudflare 가입 후, Spectrum 서비스 활성화
      2. Rust Server에 적용할 IP 및 포트 설정
      3. 클라이언트가 Cloudflare를 통해 접속하도록 유도
  • 서버 전용 DDoS 방어 서비스 활용
    • 국내 사용 가능 서비스
      • KT, SKT, LGU+의 DDoS 방어 서비스 (기업용 인터넷에서 지원)
      • Cloudflare Spectrum, AWS Shield, Arbor Networks

🔹 3. 서버 최적화 (추가적인 개선)

🔸 (1) Rust 서버 설정 최적화

  • server.cfg 파일에서 불필요한 로그 및 통신 제한
    server.maxplayers 50
    server.tickrate 30
    server.stability false
    server.encryption 0
    
    • server.tickrate를 낮추면 서버 부하 감소
    • server.stability false로 건물 안정화 체크 비활성화
    • server.encryption 0으로 암호화된 네트워크 패킷 비활성화 (공격 가능성 낮출 수 있음)

🔸 (2) 리눅스 서버 네트워크 튜닝

  • sysctl.conf 설정 변경:
    net.core.somaxconn = 1024
    net.ipv4.tcp_max_syn_backlog = 2048
    net.ipv4.tcp_synack_retries = 2
    
    • TCP 연결 요청을 빠르게 처리하도록 변경

🚀 최종 정리

네트워크 과부하 방지 → 업로드 속도 확인 & 공유기 업그레이드
DDoS 방어 설정 → iptables 설정 강화 & Cloudflare Spectrum 적용
서버 최적화 → Rust 설정 변경 & 네트워크 튜닝

위 방법을 하나씩 적용하면서 테스트해보시고, 추가로 궁금한 점 있으면 질문 주세요! 😊

728x90
반응형
LIST