LINUX.ORG.RU

Помогите понять


0

1

Всю ночь читал туториал по иптаблес уже голова не варит.

Задача 1. мне необходимо закрыть 80 порт снаружи и открыть для 15 подсети 80 порт изнутри.

$IPT -A INPUT -i $WAN_ADAPTER -p tcp --dport 80 -j DROP

открываю

$IPT -A OUTPUT -o $WAN_ADAPTER -p tcp -m tcp -s $15NET --dport 80 -j ACCEPT

Это правильно с точи зрения логики? На тестовом сервере вроде как работает.

Дропнувшись на первом правиле, пакет дальше уже не пойдет. Так что второе правило надо разместить в начале.

YAR ★★★★★
()
Ответ на: комментарий от YAR

Спасибо за ваш ответ.

А как же тогда работают правил по умолчанию?

Вот этого я пока не могу понять.

ведь в начале я ставлю

ipt -p input drop 

а уже потом открываю. так же работает. объясните пожалуйста. спасибо

user2014
() автор топика
Ответ на: комментарий от YAR

Дропнувшись на первом правиле, пакет дальше уже не пойдет.

С чего бы это? Правила в разных цепочках.

dexpl ★★★★★
()
Ответ на: комментарий от user2014

ipt -p input drop

Наверное, все-таки iptables -P INPUT DROP? Если да, то таким образом задается действие, применяемое к пакетам, не подходящим ни под какие явно указанные правила. И при такой политике что-либо DROP'ать в INPUT смысла нет.

dexpl ★★★★★
()
Ответ на: комментарий от dexpl

Тьфу, черт, не обратил внимание. Верно.

YAR ★★★★★
()
Ответ на: комментарий от user2014

Смотри поправку выше.

Насчет политики по умолчанию - это то, куда пойдет пакет, если он не попал ни на одно из правил (либо если правило вернуло его потом обратно). Так что объявление политики может быть где угодно.

YAR ★★★★★
()
Ответ на: комментарий от dexpl

Спасибо за ваш ответ.

Получается. если у меня по умолчанию ipt -p output drop то и что канкретное дропать не имеет смыла? Так как уже цепочка закрытая, правильно? если только открывать.

user2014
() автор топика
Ответ на: комментарий от user2014

Только в правилах выше ты собрался дропать в INPUT'е, а политику ставишь на OUTPUT. Но в целом мысль правильная. Только не стоит забывать, что соединение - это не только поток пакетов в одну сторону, а еще и ответы на них. Поэтому просто поставить запретную политику на цепочку и больше ничего не делать не получится.

YAR ★★★★★
()
Ответ на: комментарий от YAR

Спасибо за ваш ответ.

В принципе я понял. Да, в правилах выше я просто свою мысль понимал немного не правильно. Теперь я сделаю так:

$IPT -P INPUT DROP
$IPT -P OUTPUT DROP
$IPT -P FORWARD DROP

$IPT -A INPUT -p tcp --dport 22 -j ACCEPT

$IPT -A OUTPUT -o $WAN_ADAPTER -p udp -m udp -s $SIPNET --dport 5060 -j ACCEPT

$IPT новые правила.
user2014
() автор топика
Ответ на: комментарий от user2014

Теперь я сделаю так:

OK, только учти замечание чуть выше и добавь первым правилом в INPUT и в OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT, а то пакеты в одну сторону пойдут, а ответы на них будут DROP'аться.

dexpl ★★★★★
()

Почитайте про таргеты с терминированием и без.

ktulhu666 ☆☆☆
()
Ответ на: комментарий от user2014

Цепочка OUTPUT - для пакетов, созданных на этой же машине. Транзитные пакеты с других компов проходят цепочку FORWARD.

redgremlin ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.