iptablesКраткое руководство для управления брандмауэром на базе командной строки Linux.
Основные команды
1. Просмотр правил:
sudo iptables -L
Показать текущие правила для всех цепочек (INPUT, OUTPUT, FORWARD).
sudo iptables -L -v -n
Показать правила с дополнительной информацией (количество пакетов, байты) и без разрешения DNS-имен (использует IP-адреса).
2. Добавление правила:
sudo iptables -A [CHAIN] -p [PROTOCOL] --dport [PORT] -j [ACTION]
Пример: Разрешить входящие соединения на 22 порт (SSH):
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
3. Удаление правила:
Чтобы удалить правило, необходимо сначала узнать его номер. Сначала выведите правила с номерами:
sudo iptables -L --line-numbers
После этого удалите правило по его номеру:
sudo iptables -D [CHAIN] [NUMBER]
Пример: Удалить правило номер 3 из цепочки INPUT:
sudo iptables -D INPUT 3
4. Сброс всех правил:
Чтобы очистить все правила:
sudo iptables -F
5. Сохранение правил:
После настройки правил сохраните их:
sudo iptables-save > /etc/iptables/rules.v4
6. Загрузка сохраненных правил:
sudo iptables-restore < /etc/iptables/rules.v4
Основные цепочки
- INPUT: Правила для входящих пакетов.
- OUTPUT: Правила для исходящих пакетов.
- FORWARD: Правила для пересылаемых пакетов (маршрутизация).
Основные действия (таргеты)
- ACCEPT: Пропустить пакет.
- DROP: Отклонить пакет (без уведомления отправителя).
- REJECT: Отклонить пакет с отправкой уведомления.
- LOG: Записать пакет в системный журнал.
Примеры использования
1. Запретить все входящие пакеты, кроме тех, которые разрешены:
sudo iptables -P INPUT DROP
sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
2. Разрешить входящие пакеты только с конкретного IP:
sudo iptables -A INPUT -s 192.168.1.100 -j ACCEPT
3. Блокировка конкретного IP:
sudo iptables -A INPUT -s 192.168.1.100 -j DROP
4. Ограничение скорости на определенный порт:
sudo iptables -A INPUT -p tcp --dport 22 -m limit --limit 10/min -j ACCEPT
5. Проброс портов (NAT):
Для проброса порта с внешнего интерфейса на внутренний IP:
sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 192.168.1.2:80
6. Постоянное логирование дропнутых пакетов:
sudo iptables -A INPUT -j LOG --log-prefix "iptables DROP: " --log-level 4
Полезные опции
- -A: Добавить правило в конец цепочки.
- -I: Вставить правило в указанную позицию.
- -D: Удалить правило.
- -F: Очистить все правила.
- -P: Установить политику для цепочки.
- -t [table]: Выбрать таблицу (например, nat, filter).
📲 Мы в Max
👉 @i_odmin_book