Выполняйте сохранение после каждой модификации конфигурации. Если случится внештатная ситуация и сервер придется перезагружать, то вы обязательно забудете восстановить изменения.
Сохранение цепочек можно сделать автоматическим, но я не советую вам на это надеяться. Лучше сделать все вручную, так будет надежнее.
Восстановить цепочки тоже можно из файла. Для этого необходимо выполнить команду:
ipchain-restore < файл
Это очень удобно. Допустим, что вы хотите протестировать новые правила, но боитесь испортить уже отлаженные цепочки. Сохраните в каком-нибудь файле текущее состояние и изменяйте что угодно и как угодно. В любой момент можно вернуться к исходной точке, выполнив одну команду восстановления.
4.12. iptables
Программа iptables является новой разработкой по управлению фильтрами и обеспечению безопасности, но пока еще не смогла завоевать сердца большинства пользователей. Если вы разобрались с утилитой ipchains, то понять принцип работы с iptables будет не сложнее.
С помощью iptables вы также можете редактировать цепочки правил input, output и forward.
4.12.1. Основные возможности iptables
Сходство между ipchains и iptables прослеживается уже при взгляде на параметры:
□ -A цепочка правило
— добавить правило в конец цепочки. В качестве параметра указывается имя цепочки INPUT
, OUTPUT
или FORWARD
;
□ -D цепочка номер
— удалить правило с указанным номером из заданной цепочки;
□ -R цепочка номер правило
— заменить правило с указанным номером в цепочке;
□ -I цепочка номер правило
— вставить правило в указанную первым аргументом цепочку под номером, заданным во втором параметре. Если номер равен 1, то правило станет первым в цепочке;
□ -L цепочка
— просмотреть содержимое указанной цепочки;
□ -F цепочка
— удалить все правила из цепочки;
□ -р протокол
— определяет протокол, на который воздействует правило;
□ -i интерфейс
— определяет сетевой интерфейс, с которого данные были получены. Здесь можно использовать INPUT
, FORWARD
или PREROUTING
;
□ -o интерфейс
— задает интерфейс, на который направляется пакет. Здесь можно указывать OUTPUT
, FORWARD
или POSTROUTING
;
□ -j действие
— операция, которая должна быть выполнена над пакетом. В качестве аргументов можно указать следующие значения (рассмотрим только основные):
• LOG
— поместить в журнал запись о получении пакета;
• REJECT
— отправителю будет направлено сообщение об ошибке;
• DROP
— удалить пакет;
• BLOCK
— блокировать пакеты;
□ -s адрес
— IP-адрес отправителя пакета. Как и в случае с iptables, после адреса можно задать маску в виде /mask
и знак отрицания "!", что будет соответствовать любым адресам, кроме указанных;
□ -d адрес
— адрес назначения пакета.
Как видите, большинство параметров абсолютно идентичны тем, что мы рассматривали для программы ipchains. Но есть важные и очень мощные отличия. Например, с помощью ключей -о
и -i
очень просто указывать, с какого на какой интерфейс направляется пакет. Из-за сходства конфигурирования сервисов ipchains и iptables в практической части мы не будем тратить драгоценное место книги, и кратко рассмотрим создание правил.
В данном обзоре ключей я затронул только основы, но если вы посмотрите файл документации, то увидите еще много вариантов работы с ключом -j
, т.е. существуют большие возможности по управлению пакетом, если он соответствует правилам.
Настройка цепочек iptables
не сильно отличается от ipchains
. Начать формирование цепочки нужно с очистки всего содержимого. Двигаться необходимо от полного запрета и разрешать только то, что не нанесет вреда серверу. Сервисы, которые могут оказаться опасными, должны быть доступны только тем, кому это необходимо, или тем, кому вы доверяете. Хотя, в нашем деле полагаться ни на кого нельзя. Ваш друг может, не желая того, раскрыть секретную информацию злоумышленнику, или данные могут быть просто украдены, и тогда доверчивость сыграет с вами злую шутку.
Для сохранения изменений в iptables также надо выполнить специализированную команду:
service iptables save
4.12.2. Переадресация
Для разрешения переадресации с помощью iptables нужно выполнить следующую команду:
iptables -A FORWARD -o ppp0 -j MASQUERADE
В данной строке позволяется переадресация на интерфейс ppp0. С помощью параметра -j
мы требуем прятать IP-адрес отправителя, т.е. включаем маскарадинг.
Если вы используете трансляцию сетевых адресов (NAT, Network Address Translation), то команда может выглядеть следующим образом:
iptables -t nat -A FORWARD -o ppp0 -j MASQUERADE
Ключ -t nat
указывает на необходимость загрузить модуль iptable_nat
. Если он не загружен, то это легко сделать вручную с помощью следующей команды:
Вильям Л Саймон , Вильям Саймон , Наталья Владимировна Макеева , Нора Робертс , Юрий Викторович Щербатых
Зарубежная компьютерная, околокомпьютерная литература / ОС и Сети, интернет / Короткие любовные романы / Психология / Прочая справочная литература / Образование и наука / Книги по IT / Словари и Энциклопедии