서버 방화벽 설정

게임 서버를 방화벽으로 보호할 경우 ProudNet의 정상 수행을 위해서는 다음 사항을 고려해야 합니다.

  • 서버 실행 시(Proud.CNetServer.Start) Proud.CStartServerParameter.m_tcpPort 에서 지정한 UDP port들(Proud.CStartServerParameter.m_udpPorts)은 송수신 모두 열려 있어야 합니다.

  • 꼭 필요한 경우가 아니라면 ICMP 타입 IP 패킷의 송수신을 허용해야 간혹 발생하는 네트워크 장애를 방지할 수 있습니다.

DDOS 공격에 대비한 방화벽 설정

ProudNet에서는 클라이언트와 연결되면 서버는 UDP 통신 하기 이전에 먼저 그 클라이언트에게 임의 패킷 1개를 던집니다. 그리고 그 클라이언트는 그 패킷을 받아서 그냥 버립니다.

어떤 서버용 방화벽들은 인터넷 주소가 A인 클라이언트에게 먼저 UDP 패킷을 쏜 후부터 A에 한해 A가 서버에 UDP 패킷을 보내는 것을 일정 시간동안은 받을 수 있게 허락하는 기능을 갖고 있습니다. 이 기능을 켜 둘 경우, ProudNet의 위 특징 덕에 UDP를 열어두면서도 DDOS 공격에 안전한 방화벽 설정이 가능합니다.

이러한 기능이 가능한 방화벽이면 Proud.ServerUdpAssignMode_PerClient 와 비어있는 Proud.CStartServerParameter.m_udpPorts 설정으로만 서버를 실행시킬 수 있으며, 동시접속자 제한을 최소화하여 서버를 실행할 수 있는 장점도 있습니다.

ICMP 방화벽 설정

서버 시작 옵션에서 Proud.ServerUdpAssignMode.ServerUdpAssignMode_Static를 사용하는 경우 ICMP host unreachable 패킷 수신을 차단하는 것을 권장합니다.

다음은 Windows 방화벽 사용 시 설정 방법에 대한 예시입니다.

이 후부터는 '마침'이 나올 때까지 계속 '다음' 버튼을 누르시면 됩니다.

Last updated