저는 올해 두 번이나 중국의 만리방화벽(Great Firewall)의 DDos 공격을 받았습니다.
이제 다음에서 영역 파일을 다운로드합니다.http://www.ipdeny.com/ipblocks/.나는 이런 일을 하고 싶습니다:
- 누구든지 내 서버의 특정 포트에 연결하고 싶다면 들어올 수 있습니다.
- 중국에서 온 누군가가 내 서버의 다른 포트에 연결하려는 경우 모든 패킷을 삭제해야 합니다. 다른 나라의 누구든지 내 서버에 올바르게 연결할 수 있습니다.
어떡해?
Cloudflare CDN 무료 요금제를 사용하고 있지만 내 서버에서만 위 작업을 수행하고 싶습니다.
답변1
이를 사용하는 경우 iptables
첫 번째로 일치하는 규칙이 반환됩니다. 예를 들어, http를 허용하고 중국의 다른 포트를 거부하려면 http 허용 규칙이 먼저 와야 합니다.
iptables -A INPUT -d myhost --dport 80 -j ACCEPT
iptables -A INPUT -m set --match-set china src -j DROP
ipset
위 명령문을 사용하여 다음 명령을 사용하여 중국용을 생성 해야 합니다 .
ipset create china hash:net
while read line; do ipset add china $line; done < china.ipblock-file
답변2
Apache 모듈 사용을 방지하려면 다음을 시도해 볼 수도 있습니다.
MaxMindDBEnable On
MaxMindDBFile DB /path/to/GeoIP/GeoLite2-Country.mmdb
MaxMindDBEnv MM_COUNTRY_CODE DB/country/iso_code
SetEnvIf MM_COUNTRY_CODE ^(CN|RU|DE|FR) BlockCountry
Deny from env=BlockCountry