Привет всем :) Мне нужно немного помочь с созданием правил. Я начинаю изучать iptables и брандмауэры, но у меня есть несколько вопросов. Мне нужно разрешить HTTP-связь только от PcA к PcB./ Мой код:

iptables  -A INPUT -s PcA's_IP -d PcB's_IP --sport 80 -j ACCEPT

iptables     -A INPUT -d PcB's_IP --dport 80 -jDROP

Мой вопрос здесь заключается в том, должен ли я использовать INPUT или FORWARD.

Тогда, если я хочу разрешить остальной трафик, что я должен написать? Может быть:

iptables -A INPUT -P ACCEPT

Я пишу в файл INPUT PcB. Я был бы очень рад, если бы кто-нибудь помог мне. Я много читал, но есть только сложные примеры, которые мне трудно понять.

2 ответа2

0

Возможно, вы захотите взглянуть на инструмент, который создает правила для вас, а затем изучить правила, чтобы понять, что они делают. Есть несколько стандартных правил, которые должны быть включены, чтобы разрешить. Я предпочитаю Shorewall, который хорошо документирован, и я нахожу легким в использовании для простых и сложных установок. Он также имеет хороший пример конфигурации для использования в качестве отправной точки.

0

С iptables важно понять, что он будет проходить через правила в последовательном порядке, поэтому на ваш вопрос невозможно ответить, не зная, каковы все остальные существующие правила в вашей конфигурации iptables. Это можно увидеть для отдельных цепочек с «iptables -vL chain» (например, iptables -vL INPUT) или для всех цепочек с «iptables-save».

Существует также одно неявное правило в трех цепочках по умолчанию (INPUT, OUTPUT и FORWARD); это политика цепочки, которая определяет, что происходит с пакетами, которые не соответствуют критериям ни одного из существующих правил в этой цепочке. Из вашего примера, кажется, вы уже поняли это.

Что касается использования INPUT, а не FORWARD, используйте INPUT. FORWARD предназначен только для пересылки пакетов на другие машины (т. Е. Когда машина с iptables выступает в качестве межсетевого экрана для других машин).

Чтобы подвести итог и вернуться к исходному вопросу, написанные вами правила кажутся почти нормальными (я думаю, что внутри флагов должен быть "-p tcp", чтобы указать, что правила касаются протокола tcp. И, конечно, если есть другие правила, о которых мы не знаем, то они вполне могут заблокировать http-трафик до того, как он достигнет этих правил. Таким образом, в iptables первое терминальное правило (то есть правило с ACCEPT, REJECT или DROP), которое имеет критерии, соответствующие пакету, будет обрабатывать этот пакет, и никакие другие правила после него в той же цепочке не влияют на обработку.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .