The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"после ipfw в iptables есть непонятка в правилах"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Информационная безопасность (Public)
Изначальное сообщение [Проследить за развитием треда]

"после ipfw в iptables есть непонятка в правилах"  
Сообщение от billybons2006 email(ok) on 02-Апр-07, 14:42 
Всем привет. После правил ipfw (FreeBSD) есть вопрос по iptables.

Например, если во FreeBSD делать нат, то схема простая:
1. включаем нат (диверт нат через внешний интерфейс)
2. ставим правила (одним правилом разрешаю www, например).

А в iptables я что-то не совсем догоняю. Вот мой конфиг:

# script vars
ext_if="eth1"
ext_ip="мой внешний ip"
local_if="eth0"
local_net="моя локальная сеть"
iptbls="/sbin/iptables"

# Delete and flush
$iptbls --flush
$iptbls --table nat --flush
$iptbls --delete-chain
$iptbls --table nat --delete-chain

# deny by default
$iptbls -P INPUT DROP
$iptbls -P OUTPUT DROP
$iptbls -P FORWARD DROP

# Loopback
$iptbls -A INPUT -i lo -j ACCEPT
$iptbls -A OUTPUT -o lo -j ACCEPT

# Local network
$iptbls -A INPUT -i $local_if -j ACCEPT
$iptbls -A OUTPUT -o $local_if -j ACCEPT

# Anti spoofing
$iptbls -A INPUT -i $ext_if -s 192.168.0.0/16 -j DROP
$iptbls -A INPUT -i $ext_if -s 172.16.0.0/12 -j DROP
$iptbls -A INPUT -i $ext_if -s 10.0.0.0/8 -j DROP
$iptbls -A INPUT -i $ext_if -s 127.0.0.0/8 -j DROP
$iptbls -A INPUT -i $ext_if -s 0.0.0.0/8 -j DROP
$iptbls -A INPUT -i $ext_if -s 169.254.0.0/16 -j DROP
$iptbls -A INPUT -i $ext_if -s 192.0.2.0/24 -j DROP
$iptbls -A INPUT -i $ext_if -s 204.152.64.0/16 -j DROP
$iptbls -A INPUT -i $ext_if -s 224.0.0.0/3 -j DROP

# DNS
$iptbls -A INPUT -p UDP -s 0/0 --sport 53 -i $ext_if -m state --state ESTABLISHED -j ACCEPT
$iptbls -A OUTPUT -p UDP -d 0/0 --dport 53 -o $ext_if -m state --state NEW,ESTABLISHED -j ACCEPT

# Forward traffic from local net
$iptbls -A FORWARD -p TCP -s $local_net -o $ext_if --dport 25 -i $local_if -j ACCEPT
$iptbls -A FORWARD -p TCP -s $local_net -o $ext_if --dport 110 -i $local_if -j ACCEPT
$iptbls -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

# NAT
$iptbls -t nat -A POSTROUTING -s $local_net -o $ext_if -j SNAT --to $ext_ip

Маршрутизация включена.
Вот такой конфиг позволяет из локалки получать/отправлять почту.

Меня собственно интересует - а почему, собственно, цепочки INPUT и OUTPUT в данном случае для получения только почты не нужны?

Я, собственно, понимаю, rtfm, man и все такое. Но может кто просто мне сможет объяснить схему? Или ХОРОШИЙ материал для изучения подскажет? Мне же не только конкретную задачу решать, но и дальше жить надо.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени, UBB]


1. "после ipfw в iptables есть непонятка в правилах"  
Сообщение от Kliver on 06-Апр-07, 17:45 
>Всем привет. После правил ipfw (FreeBSD) есть вопрос по iptables.
>
>Например, если во FreeBSD делать нат, то схема простая:
>1. включаем нат (диверт нат через внешний интерфейс)
>2. ставим правила (одним правилом разрешаю www, например).
>
>А в iptables я что-то не совсем догоняю. Вот мой конфиг:
>
># script vars
>ext_if="eth1"
>ext_ip="мой внешний ip"
>local_if="eth0"
>local_net="моя локальная сеть"
>iptbls="/sbin/iptables"
>
># Delete and flush
>$iptbls --flush
>$iptbls --table nat --flush
>$iptbls --delete-chain
>$iptbls --table nat --delete-chain
>
># deny by default
>$iptbls -P INPUT DROP
>$iptbls -P OUTPUT DROP
>$iptbls -P FORWARD DROP
>
># Loopback
>$iptbls -A INPUT -i lo -j ACCEPT
>$iptbls -A OUTPUT -o lo -j ACCEPT
>
># Local network
>$iptbls -A INPUT -i $local_if -j ACCEPT
>$iptbls -A OUTPUT -o $local_if -j ACCEPT
>
># Anti spoofing
>$iptbls -A INPUT -i $ext_if -s 192.168.0.0/16 -j DROP
>$iptbls -A INPUT -i $ext_if -s 172.16.0.0/12 -j DROP
>$iptbls -A INPUT -i $ext_if -s 10.0.0.0/8 -j DROP
>$iptbls -A INPUT -i $ext_if -s 127.0.0.0/8 -j DROP
>$iptbls -A INPUT -i $ext_if -s 0.0.0.0/8 -j DROP
>$iptbls -A INPUT -i $ext_if -s 169.254.0.0/16 -j DROP
>$iptbls -A INPUT -i $ext_if -s 192.0.2.0/24 -j DROP
>$iptbls -A INPUT -i $ext_if -s 204.152.64.0/16 -j DROP
>$iptbls -A INPUT -i $ext_if -s 224.0.0.0/3 -j DROP
>
># DNS
>$iptbls -A INPUT -p UDP -s 0/0 --sport 53 -i $ext_if -m
>state --state ESTABLISHED -j ACCEPT
>$iptbls -A OUTPUT -p UDP -d 0/0 --dport 53 -o $ext_if -m
>state --state NEW,ESTABLISHED -j ACCEPT
>
># Forward traffic from local net
>$iptbls -A FORWARD -p TCP -s $local_net -o $ext_if --dport 25 -i
>$local_if -j ACCEPT
>$iptbls -A FORWARD -p TCP -s $local_net -o $ext_if --dport 110 -i
>$local_if -j ACCEPT
>$iptbls -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
>
># NAT
>$iptbls -t nat -A POSTROUTING -s $local_net -o $ext_if -j SNAT --to
>$ext_ip
>
>Маршрутизация включена.
>Вот такой конфиг позволяет из локалки получать/отправлять почту.
>
>Меня собственно интересует - а почему, собственно, цепочки INPUT и OUTPUT в
>данном случае для получения только почты не нужны?

Потому что, транзитные пакеты не попадают в цепочки INPUT и OUTPUT таблицы filter. Они попадают только в FORWARD
см.
http://www.opennet.me/docs/RUS/iptables/

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "после ipfw в iptables есть непонятка в правилах"  
Сообщение от billybons2006 (ok) on 06-Апр-07, 22:48 
>Потому что, транзитные пакеты не попадают в цепочки INPUT и OUTPUT таблицы
>filter. Они попадают только в FORWARD

угу. Сенкс :) Вроде разобрался. Спасибо за ответ! Я просто поначалу слово FORWARD с натом связывал, поэтому и понять не мог разницу. Сейчас уже разобрался.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру