7.2.11. Запуск SNAT и цепочка POSTROUTING
7.2.11. Запуск SNAT и цепочка POSTROUTING
И заключительный раздел – настройка SNAT. По крайней мере для меня. Прежде всего мы добавляем правило в таблицу nat, в цепочку POSTROUTING, которое производит преобразование исходных адресов всех пакетов, исходящих с интерфейса, подключенного к Internet. В сценарии определен ряд переменных, с помощью которых можно использовать для автоматической настройки сценария. Кроме того, использование переменных повышает удобочитаемость скриптов. Ключом -t задается имя таблицы, в данном случае nat. Команда -A добавляет (Add) новое правило в цепочку POSTROUTING, критерий -o $INET_IFACE задает исходящий интерфейс, и в конце правила задаем действие над пакетом – SNAT. Таким образом, все пакеты, подошедшие под заданный критерий будут «замаскированы», т.е. будут выглядеть так, как будто они отправлены с нашего узла. Не забудьте указать ключ –to-source с соответствующим IP адресом для исходящих пакетов
В этом сценарие я использую SNAT вместо MASQUERADE по ряду причин. Первая – предполагается, что этот сценарий должен работать на сетевом узле, который имеет постоянный IP адрес. Следующая состоит в том, что SNAT работает быстрее и более эффективно. Конечно, если вы не имеете постоянного IP адреса, то вы должны использовать действие MASQUERADE, которое предоставляет более простой способ трансляции адресов, поскольку оно автоматически определяет IP адрес, присвоенный заданному интерфейсу. Однако, по сравнению с SNAT это действие требует несколько больших вычислительных ресурсов, хотя и не значительно. Пример работы с MASQUERADE, вы найдете в сценарии rc.DHCP.firewall.txt.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
6.5.12. Действие SNAT
6.5.12. Действие SNAT SNAT используется для преобразования сетевых адресов (Source Network Address Translation), т.е. изменение исходящего IP адреса в IP заголовке пакета. Например, это действие можно использовать для предоставления выхода в Интернет другим компьютерам из локальной сети, имея
7.2.6.1. Цепочка bad_tcp_packets
7.2.6.1. Цепочка bad_tcp_packets Эта цепочка предназначена для отфильтровывания пакетов с «неправильными» заголовками и решения ряда других проблем. Здесь отфильтровываются все пакеты, которые распознаются как NEW, но не являются SYN пакетами, а так же обрабатываются
7.2.6.2. Цепочка allowed
7.2.6.2. Цепочка allowed TCP пакет, следуя с интерфейса $INET_IFACE, попадает в цепочку tcp_packets, если пакет следует на разрешенный порт, то после этого проводится дополнительная проверка в цепочке allowed.Первое правило проверяет, является ли пакет SYN пакетом, т.е. запросом на соединение.
7.2.6.3. Цепочка для TCP
7.2.6.3. Цепочка для TCP Итак, мы подошли к TCP соединениям. Здесь мы указываем, какие порты могут быть доступны из Internet. Несмотря на то, что даже если пакет прошел проверку здесь, мы все равно все пакеты передаем в цепочку allowed для дополнительной проверки.Я открыл TCP порт с номером
7.2.6.4. Цепочка для UDP
7.2.6.4. Цепочка для UDP Пакеты UDP из цепочки INPUT следуют в цепочку udp_packets Как и в случае с TCP пакетами, здесь они проверяются на допустимость по номеру порта назначения. Обратите внимание – мы не проверяем исходящий порт пакета, поскольку об этом заботится механизм определения
7.2.6.5. Цепочка для ICMP
7.2.6.5. Цепочка для ICMP Здесь принимается решение о пропуске ICMP пакетов. Если пакет приходит с eth0 в цепочку INPUT, то далее он перенаправляется в цепочку icmp_packets. В этой цепочке проверяется тип ICMP сообщения. Пропускаются только ICMP Echo Request, TTL equals 0 during transit и TTL equals 0 during reassembly. Все
7.2.7. Цепочка INPUT
7.2.7. Цепочка INPUT Цепочка INPUT, как я уже писал, для выполнения основной работы использует другие цепочки, за счет чего снижая нагрузку на сетевой фильтр. Эффект применения такого варианта организации правил лучше заметен на медленных машинах, которые в другом случае
7.2.8. Цепочка FORWARD
7.2.8. Цепочка FORWARD Цепочка FORWARD содержит очень небольшое количество правил. Первое правило напрвляет все TCP пакеты на проверку в цепочку bad_tcp_packets, которая используется так же и в цепочке INPUT. Цепочка bad_tcp_packets сконструирована таким образом, что может вызываться из других
7.2.9. Цепочка OUTPUT
7.2.9. Цепочка OUTPUT Как я уже упоминал ранее, в моем случае компьютер используется как брандмауэр и одновременно как рабочая станция. Поэтому я позволяю покидать мой хост всему, что имеет исходный адрес $LOCALHOST_IP, $LAN_IP или $STATIC_IP. Сделано это для защиты от трафика, который может
7.2.10. Цепочка PREROUTING таблицы nat
7.2.10. Цепочка PREROUTING таблицы nat В данном сценарии эта цепочка не имеет ни одного правила и единственно, почему я привожу ее описание здесь, это еще раз напомнить, что в данной цепочке выполняется преобразование сетевых адресов (DNAT) перед тем как пакеты попадут в цепочку INPUT
Последовательная RL -цепочка на переменном токе
Последовательная RL-цепочка на переменном токе Последовательная цепь на рис. 2.1 содержит источник напряжения в 1 В, включенный последовательно с резистором R и катушкой индуктивности L. Последовательная RL-цепочка может служить, например, схемой замещения для реального
Последовательная RC- цепочка на переменном токе
Последовательная RC-цепочка на переменном токе Заменив в схеме на рис. 2.1 катушку индуктивности конденсатором С, получим следующую схему (рис. 2.3).Значения компонентов в этой схеме: R=5 Ом; С=100 мкФ и f=318 Гц. Рис. 2.3. Схема с последовательной RC-цепочкойВходной файл будет
Цепочка наследования типа Page
Цепочка наследования типа Page Как вы только что убедились, готовый генерируемый класс, представляющий файл *.aspx, получается из System.Web.UI.Page. Подобно любому базовому классу, этот тип обеспечивает полиморфный интерфейс всем производным типам. Однако тип Page является не
Дмитрий Шабанов: Цепочка следов антилопы Дмитрий Шабанов
Дмитрий Шабанов: Цепочка следов антилопы Дмитрий Шабанов Опубликовано 21 декабря 2011 года Я хочу начать с того, что некоторые задачи, которые могли бы показаться простыми, решаются чрезвычайно сложно или не решаются вообще. Для примера возьмём
Цепочка вызовов
Цепочка вызовов Обсуждая механизм обработки исключений, полезно иметь ясную картину последовательности вызовов, приведших в итоге к исключению. Это понятие уже появлялось при рассмотрении механизма языка Ada. Рис. 12.1. Цепочка вызововПусть r0 будет корневой процедурой