Здравствуйте! У меня есть игровой сервер и на нем необходимо закрыть в iptables абсолютно все порты кроме 25565.
Порт 25565 нужен для подключения игроков к серверу. Как это сделать?
iptables -A INPUT -p tcp -m tcp -m multiport ! --dports 25565 -j DROP
перед тем как добавите это правило, вспомните что вы подключены к серверу по ssh через 22 порт.
Сайт возможно работает на 80/443.
А фтп для доступа к сайту на 21, если он есть.
А если так прописать, то это тоже самое получается?
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -A INPUT --dport 25565 -j ACCEPT
iptables -A INPUT --dport 21 -j ACCEPT
iptables -A INPUT --dport 22 -j ACCEPT
Сергей, от этого спасает yum install iptables-service и периодическое выполнение service iptables save (хотя и костыль немного, вызывает iptables-save в /etc/sysconfig/iptables, откуда он его восстанавливает при перезагрузке). Alexander777xx, убрать -P OUTPUT DROP, иначе с сервера ничего нельзя будет открыть (в том числе обновить систему!), ну или добавлять отдельно какие-то правила в OUTPUT тоже. Да, если policy стоит DROP, можно в открытом виде не задавать запрещающих правил, все равно по умолчанию подропается.
Вообще, дроп по умолчанию - едва ли не обязательный пункт в настройках файрволла в продакшн. Для отладки можно REJECT-правило писать в конце цепочки для региона локальной сети.