URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID10
Нить номер: 3881
[ Назад ]

Исходное сообщение
"iptables и маршрутизация"

Отправлено vehn , 09-Июл-08 22:19 
Правила:
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -s 127.0.0.0/8 -d 127.0.0.0/8 -i lo -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -i ath0 -j ACCEPT
iptables -A INPUT -p icmp -j ACCEPT
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

Или так, кому удобнее:
# iptables-save
# Generated by iptables-save v1.4.0 on Thu Jul 10 00:15:38 2008
*nat
:PREROUTING ACCEPT [108:15604]
:POSTROUTING ACCEPT [28:2106]
:OUTPUT ACCEPT [256:16348]
-A POSTROUTING -o ppp0 -j MASQUERADE
COMMIT
# Completed on Thu Jul 10 00:15:38 2008
# Generated by iptables-save v1.4.0 on Thu Jul 10 00:15:38 2008
*filter
:INPUT DROP [83:14158]
:FORWARD DROP [20:1186]
:OUTPUT ACCEPT [1735:198782]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -s 127.0.0.0/8 -d 127.0.0.0/8 -i lo -j ACCEPT
-A INPUT -i ath0 -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -p icmp -j ACCEPT
COMMIT

Есть локальная сетка 192.168.0.0. Из неё с вышеприведёнными правилами нет доступа в наружу. Где я ошибся?


Содержание

Сообщения в этом обсуждении
"iptables и маршрутизация"
Отправлено angra , 10-Июл-08 04:41 
Здесь:
>iptables -P FORWARD DROP

Транзитные пакеты не проходят через INPUT/OUTPUT, для них FORWARD


"а где про маршрутизацию?? %))"
Отправлено Andrey Mitrofanov , 11-Июл-08 12:03 
>Правила:

... 5 строк, не считая установки политик.

>Или так, кому удобнее:
># iptables-save

Не-е-е, _удобнее_ это - ага! ;) - firehol. :) Кстати, совершенно "случайно" получится ещё и проще, и правльнее. Ну, и заработает ко всему прочему.

---8<--- firehol-ppp0-example
version 5

interface any 2me
  client all accept
  server "ping ssh" accept inface eth0

router 2inet outface ppp0 inface eth0 src 192.168.0.0/24
  masquerade
  server all accept
--->8---

... 5 %) строк, не считая пустых, version и той, "что у тебя нет". Но строки-то _короче_ :-D , читать их (да, когда научишься) проще.

Упражнение: Поставить firehol на любую доступную машину с Lin* (наличие инета и соотв.интерфейсов _не_ обязательно, из зависимостей [если # aptitude install filrehol не...] - _bash_ и "обычные" shell утилиты (coreutils+sed+awk), iptables+iproute). Изучить генерируемые firehol из приведённого выше конфига наборы правил iptables & co.

Hints:
# ( cat ./firehol-ppp0-example; echo quit ) | filrehol explain
# firehol ./firehol-ppp0-example debug
Записи результатов может способствовать ">&file.txt" или запуск команд "под" script.

Упражнение на "пять": что в моей конфигурации "не так", как в твоей? Не считая "последней строчки".

Вопрос на "зачёт автоматом и на занятия можете не ходить" (?курсовик): Опишите практические приёмы %) традиции Unix, использованные в firehol для борьбы со сложностью, и практичекие преимущества этого подхода по сравнению с традиционным "в лоб" решением проблемы, продемонстрированным автором треда - написанием/исправлением скрипта iptables "руками".

>Есть локальная сетка 192.168.0.0. Из неё с вышеприведёнными правилами нет доступа в
>наружу. Где я ошибся?

Последняя строчка (в моём конфиге, в твоём -- этого нет) добавляет энное количество разрешающих правил в чепочку FORWARD.