PHP код:
#!/bin/bash
# Очищаем правила
/sbin/iptables -F
/sbin/iptables -t nat -F
/sbin/iptables -t mangle -F
# Лимит на 30 запросов в секунду для интерфейса eth0
/sbin/iptables --new-chain lim1
/sbin/iptables --insert OUTPUT 1 -p tcp --destination-port 7777 -o eth0 --jump lim1
/sbin/iptables --insert OUTPUT 1 -p tcp --destination-port 2106 -o eth0 --jump lim1
/sbin/iptables --append lim1 -m limit --limit 30/sec --jump RETURN
/sbin/iptables --append lim1 --jump DROP
# Блокируем ICMP траффик
/sbin/iptables -A INPUT -p icmp -j DROP
# Открываем порт логина
/sbin/iptables -A INPUT -p tcp --dport 2106 -j ACCEPT
/sbin/iptables -I INPUT -p tcp --syn --dport 2106 -j DROP -m connlimit --connlimit-above 10
/sbin/iptables -A INPUT -p tcp -m state --state NEW --dport 2106 -m recent --update --seconds 2 -j DROP
/sbin/iptables -A INPUT -p tcp -m state --state NEW --dport 2106 -m recent --set -j ACCEPT
# Открываем порт гейма
/sbin/iptables -A INPUT -p tcp --dport 7777 -j ACCEPT
/sbin/iptables -I INPUT -p tcp --syn --dport 7777 -j DROP -m connlimit --connlimit-above 20
/sbin/iptables -A INPUT -p tcp -m state --state NEW --dport 7777 -m recent --update --seconds 2 -j DROP
/sbin/iptables -A INPUT -p tcp -m state --state NEW --dport 7777 -m recent --set -j ACCEPT
# MySQL
/sbin/iptables -I INPUT -p tcp -s ВАШ_IP --dport 3306 -j ACCEPT
/sbin/iptables -I INPUT -p tcp -s IP_САЙТА --dport 3306 -j ACCEPT
/sbin/iptables -A INPUT -p tcp --dport 3306 -j DROP
# SSH (Рекомендую перенести с 22 порта)
/sbin/iptables -A INPUT -p tcp --dport 22 -s ВАШ_IP -j ACCEPT
/sbin/iptables -A INPUT -p tcp --dport 22 -j DROP
# Все остальное дропим
/sbin/iptables -A INPUT -i eth0 -p tcp -m tcp --tcp-flags FIN,SYN,ACK SYN -j REJECT --reject-with icmp-port-unreachable
/sbin/iptables -A FORWARD -o eth0 -p tcp -j DROP
Добавлено через 6 минут
В идеале было бы переписать логин сервер, который после успешной авторизации будет открывать порт гейма. Так же связать его с ipset