Нужно закрыть определенные порты для всех кроме одного ip, сделал скрипт но порт для нужного ip так и не открывается.
#!/bin/bash
iptables -F
iptables -P INPUT ACCEPT
iptables -A INPUT -p tcp -m multiport --dports 8080,22 -j DROP
iptables -A INPUT -p tcp -s 77.241.41.46 -m multiport --dports 8080,22 -j ACCEPT
Где я ошибся?
Как добавить исключение
- Роман Торопов
- Администратор
- Сообщения: 142
- Зарегистрирован: 24 мар 2008, 10:49
- Откуда: г. Пермь
- Контактная информация:
Re: Как добавить исключение
Правила читаются последовательно, т.е. если сначало правило - закрыть всех, то оно закрывает, ниже стоящее уже не важно.
Т.е. нужно примерно так:
#!/bin/bash
iptables -F
iptables -A INPUT -i eth0 -s 77.241.41.46 -p tcp -m multiport --dports 8080,22 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp -m multiport --dports 8080,22 -j DROP
P.S.: Возмите за привычку указывать интерфейс, иначе правило применяется на все интерфейсы, в данном случии я указал eth0, если соединение виртуальное, то по типу ppp0
Еще можно одной строкой:
iptables -A INPUT -i eth0 -s ! 77.241.41.46 -p tcp -m multiport --dports 8080,22 -j DROP
Восклецательный знак говорит "кроме данного IP"
Т.е. нужно примерно так:
#!/bin/bash
iptables -F
iptables -A INPUT -i eth0 -s 77.241.41.46 -p tcp -m multiport --dports 8080,22 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp -m multiport --dports 8080,22 -j DROP
P.S.: Возмите за привычку указывать интерфейс, иначе правило применяется на все интерфейсы, в данном случии я указал eth0, если соединение виртуальное, то по типу ppp0
Еще можно одной строкой:
iptables -A INPUT -i eth0 -s ! 77.241.41.46 -p tcp -m multiport --dports 8080,22 -j DROP
Восклецательный знак говорит "кроме данного IP"
Re: Как добавить исключение
Спасибо большое, теперь работает. Вот еще вопрос, можно ли как нибудь ограничить входящие пакеты, допустим, не более 500 входящих пакетов в минуту от определенное пользователя
- Роман Торопов
- Администратор
- Сообщения: 142
- Зарегистрирован: 24 мар 2008, 10:49
- Откуда: г. Пермь
- Контактная информация:
Re: Как добавить исключение
Рахим писал(а):Спасибо большое, теперь работает. Вот еще вопрос, можно ли как нибудь ограничить входящие пакеты, допустим, не более 500 входящих пакетов в минуту от определенное пользователя
Пакеты не нужно ограничевать, ограничивать нужно сессии ...
Re: Как добавить исключение
Просто у меня такая ситуация, стоит сервер популярной MMORPG, и особо умные игроки посылают с помощью автокликеров огромное количество запросов ( пример: быстрая смена оружия, быстрое нажаимание скиллов) и сервер виснет
я сделал так
iptables -A INPUT -m hashlimit --hashlimit-above 800/minute -j DROP
я сделал так
iptables -A INPUT -m hashlimit --hashlimit-above 800/minute -j DROP