Есть два интерфейса eth0 и eth3.
Один смотрит в локалку, другой внешний.
Для iptables какой из них будет для цепочки INPUT, а какой для OUTPUT?
>Есть два интерфейса eth0 и eth3.
>Один смотрит в локалку, другой внешний.
>Для iptables какой из них будет для цепочки INPUT, а какой для
>OUTPUT?Вот оооочень хороший материал по иптаблес http://www.opennet.me/docs/RUS/iptables/ , когдато по нему настраивал.
А по твоему вопросу, скажу, что цепочки относятся к таблицам, таблиц по умолчанию 3 nat mangle filter, в каждой таблице есть цепочки инпут и оутпут (и еще другие специфичные для каждой таблицы), так вот пакет придя на фаервол считается инпут, когда он обрабатывается он может стать форвард или оутпут или отброситься, если пакет создан локальным приложением то он пройдет через оутпут цепочки таблиц.
И еще вопрос интересно поставлен, какой интерфейс будет input а какой output?, у тебя ведь из локалки тоже будут поступать пакеты, они будут инпут, потому как они пришли на брандмауэр, но и пакеты которые пришли из внешней сети тоже будут инпут потому что пришли.
Сумбурно получилось у меня, читай доку.
>Вот оооочень хороший материал по иптаблес http://www.opennet.me/docs/RUS/iptables/ , когдато по нему настраивал.
>
>А по твоему вопросу, скажу, что цепочки относятся к таблицам, таблиц по
>умолчанию 3 nat mangle filter, в каждой таблице есть цепочки инпут
>и оутпут (и еще другие специфичные для каждой таблицы), так вот
>пакет придя на фаервол считается инпут, когда он обрабатывается он может
>стать форвард или оутпут или отброситься, если пакет создан локальным приложением
>то он пройдет через оутпут цепочки таблиц.
>И еще вопрос интересно поставлен, какой интерфейс будет input а какой output?,
>у тебя ведь из локалки тоже будут поступать пакеты, они будут
>инпут, потому как они пришли на брандмауэр, но и пакеты которые
>пришли из внешней сети тоже будут инпут потому что пришли.
>Сумбурно получилось у меня, читай доку.Окей кто может подкиньте самый простой фаервол
Снаружи (eth3) должно быть закрыто все кроме кроме конекта на 25 и получения ответов на 53,123,1433Из локалки наружу ничего не ходит кроме как на 1433 из нескольких хостов
Все юзеры должны иметь интернет только через сквид.Сам сервак может ходить куда угодно.
Как это сделать? Маскарадинг нужно?iptables -P FORWARD DROP
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
iptables -t nat -P OUTPUT ACCEPT
iptables -t nat -F PREROUTING
iptables -t nat -F POSTROUTING
iptables -t nat -F OUTPUT
iptables -t nat -A POSTROUTING -s $LAN/24 -j MASQUERADE
iptables -A FORWARD -d $LAN/24 -j ACCEPT
iptables -A FORWARD -s $LAN/24 -j ACCEPTсейчас только вот это есть, а дальше что и как резать не очень понятно с двумя интерфейсами.
>>Вот оооочень хороший материал по иптаблес http://www.opennet.me/docs/RUS/iptables/ , когдато по нему настраивал.
>>
>>А по твоему вопросу, скажу, что цепочки относятся к таблицам, таблиц по
>>умолчанию 3 nat mangle filter, в каждой таблице есть цепочки инпут
>>и оутпут (и еще другие специфичные для каждой таблицы), так вот
>>пакет придя на фаервол считается инпут, когда он обрабатывается он может
>>стать форвард или оутпут или отброситься, если пакет создан локальным приложением
>>то он пройдет через оутпут цепочки таблиц.
>>И еще вопрос интересно поставлен, какой интерфейс будет input а какой output?,
>>у тебя ведь из локалки тоже будут поступать пакеты, они будут
>>инпут, потому как они пришли на брандмауэр, но и пакеты которые
>>пришли из внешней сети тоже будут инпут потому что пришли.
>>Сумбурно получилось у меня, читай доку.
>
>Окей кто может подкиньте самый простой фаервол
>Снаружи (eth3) должно быть закрыто все кроме кроме конекта на 25 и
>получения ответов на 53,123,1433
>
>Из локалки наружу ничего не ходит кроме как на 1433 из нескольких
>хостов
>Все юзеры должны иметь интернет только через сквид.
>
>Сам сервак может ходить куда угодно.
>Как это сделать? Маскарадинг нужно?
>
>iptables -P FORWARD DROP
>iptables -t nat -P PREROUTING ACCEPT
>iptables -t nat -P POSTROUTING ACCEPT
>iptables -t nat -P OUTPUT ACCEPT
>iptables -t nat -F PREROUTING
>iptables -t nat -F POSTROUTING
>iptables -t nat -F OUTPUT
>iptables -t nat -A POSTROUTING -s $LAN/24 -j MASQUERADE
>iptables -A FORWARD -d $LAN/24 -j ACCEPT
>iptables -A FORWARD -s $LAN/24 -j ACCEPT
>
>сейчас только вот это есть, а дальше что и как резать не
>очень понятно с двумя интерфейсами.
Ребята вопрос жизни и смерти! Нужен доступ с локалки на внешний сервер на порт 1433
ХЕЕЕЕЛЛЛЛЛЛЛППП!!!!!!
для 1433 nat (MASQUERADE) нужен, и это тоже
echo 1 > /proc/sys/net/ipv4/ip_forwardдля прокси nat не нужен
>для 1433 nat (MASQUERADE) нужен, и это тоже
>echo 1 > /proc/sys/net/ipv4/ip_forward
>
>для прокси nat не нужен
Я это понимаю, но я незнаю правильно ли сейчас сделано, а то доступ имеют все и ко всему.
А нужно исходящий трафик обрезать кроме 1433, и трафика на шлюз.
Как это правильно сделать?Сейчас схема такая
Реальная
адреса 82.x.x.x |CISCO| 10.10.10.1 --- 10.10.10.2 (eth3) |Server| 192.168.x.x (eth0) ----- ЛокалкаВот и нужно все это настроить, кто поможет?
И еще почта наружу ходит, а локально не доставляется, висит в очереди.
Вот рабочий конфиг, подставь свои адреса и интерфейсы
------------------------------
#!/bin/sh
# Настройка firewall на iptables
#
/sbin/depmod -a
#
# Загрузка модулей
#
/sbin/modprobe ip_tables
/sbin/modprobe ip_conntrack
/sbin/modprobe iptable_filter
/sbin/modprobe iptable_mangle
/sbin/modprobe iptable_nat
/sbin/modprobe ipt_LOG
/sbin/modprobe ipt_limit
/sbin/modprobe ipt_state/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe ip_conntrack_irc
/sbin/modprobe ip_nat_ftp
/sbin/modprobe ip_nat_irc# Сбрасываем все цепочки
iptables -F
iptables -t nat -F
iptables -t mangle -F
# Определяем политику по умолчанию
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP
# Сбрасываем цепочку POSTROUTING в таблице nat
iptables -t nat -F POSTROUTING# Настройка интерфейсов и IP
#
# Интернет
INET_IP="xxx.xxx.xxx.xxx" # ИП адрес реальный, на внешней сетевухе
INET_IP2="xxx.xxx.xxx.xxx" # ИП адрес приватной сети провайдера, вида 192.168.х.х
# для доступа из локальной сети провайдера, сделан в виде алиаса для внешней сетевухи
INET_IFACE="eth1" # инетрфейс смотрящий во внешнюю сеть# Локальная сеть
LAN_IP="xxx.xxx.xxx.xxx" # ИП адрес локальной сетевухи
LAN_IFACE="eth0" # интерфейс смотрящий в локальную сеть
LAN_NET="xxx.xxx.xxx.0/255.255.255.0" # Локальная подсеть из частного диапазона (192.168.0.0/255.255.255.0 к примеру)# Настройка iptables
IPTABLES="/usr/sbin/iptables" # команда запуска iptables, можно без пути, или подправить путь под себя# Включаем пересылку пакетов
echo 1 > /proc/sys/net/ipv4/ip_forward# Безусловно разрешаем соединения по локальному интерфейсу (loopback, 127.0.0.1)
$IPTABLES -A INPUT -i lo -j ACCEPT# Делаем доступ из внешней сети (MY)
#$IPTABLES -A INPUT -s xxx.xxx.xxx.xxx -j ACCEPT # полный доступ из сети провайдера или интернета, для доверенных ИП, если нужен# Разрешаем пересылку (FORWARD) всех пакетов с локального интерфейса eth0, этого может и не нужно
$IPTABLES -A FORWARD -i $LAN_IFACE -j ACCEPT
$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT# Принимаем все пакеты, относящиеся к установленным соединениям
$IPTABLES -A INPUT -p ALL -m state --state ESTABLISHED,RELATED -j ACCEPT# Будут отброшены все пакеты tcp имеющие статус NEW, но не имеющие флагов SYN,ACK
# предохраняет от атак, подробности в приложении В4 Iptables Tutorial
$IPTABLES -A INPUT -p tcp --tcp-flags SYN,ACK SYN,ACK -m state --state NEW -j DROP# Редирект порта 80 для прозрачного проксирования
$IPTABLES -t nat -A PREROUTING -i eth0 -s $LAN_NET -p tcp --dport 80 -j REDIRECT --to-port 3128# Настраиваем NAT
$IPTABLES -t nat -A POSTROUTING -o $INET_IFACE -j SNAT --to-source $INET_IP# ping, разрешаем пинг, пожно по неоходимости разрешить другие icmp пакеты, но этого вполне достаточно
$IPTABLES -A INPUT -p ICMP --icmp-type 8 -j ACCEPT#######################################################
##
## Открытие и закрытие портов
##
#######################################################
# Здесь можно открыть некоторые порты, т.к. по умолчанию закрыты все
#######################################################
# TCP
#######################################################
# Порт 21(ftp) открыт только для ИП адресов диапазона 192.168.0.0/24, сеть провайдера
$IPTABLES -A INPUT -p TCP -s 192.168.0.0/255.255.0.0 --dport 20:21 -j ACCEPT
# Доступ к прокси серверу из локалки, порт 3128
$IPTABLES -A INPUT -p TCP -s $LAN_NET --dport 3128 -j ACCEPT
# Это Веб сервер
$IPTABLES -A INPUT -p TCP -s 0/0 --dport 80 -j ACCEPT
# 113 порт для службы ident, нужен для ирк протокола и еще чего то
$IPTABLES -A INPUT -p TCP -s 0/0 --dport 113 -j ACCEPT
# Это для ИРК
$IPTABLES -A INPUT -p TCP -s 0/0 --dport 6667 -j ACCEPT
# Это для почты
$IPTABLES -A INPUT -p TCP -s 0/0 --dport 110 -j ACCEPT # POP3
$IPTABLES -A INPUT -p TCP -s 0/0 --dport 25 -j ACCEPT # SMTP####
$IPTABLES -A INPUT -p TCP -s $LAN_NET --dport 1433 -j ACCEPT # MS-SQL
# если ты цепляешься к серваку из внешней сети (что скорее всего, т.к. MS сервера нету
#под линух :) то оставь $LAN_NET, если доступ по этому порту нужен к твоему серваку со
#всех возможных ИП то поставь 0/0, и подправь в секции UDP########################################################
# UDP
########################################################
# Порт 21(ftp) открыт только для ИП адресов диапазона 192.168.0.0/24
$IPTABLES -A INPUT -p UDP -s 192.168.0.0/255.255.0.0 --dport 20:21 -j ACCEPT
# DNS service, только локальная сеть, если у тебя нет своего
# настроенного ДНС домена, то доступ из вне не нужен
$IPTABLES -A INPUT -p UDP -s $LAN_NET --dport 53 -j ACCEPT
# Точное время порт 123, ntp сервис
$IPTABLES -A INPUT -p UDP -s $LAN_NET --dport 123 -j ACCEPT
# Это для Аськи
$IPTABLES -A INPUT -p UDP -s 0/0 --dport 5190 -j ACCEPT
# Это для почты
$IPTABLES -A INPUT -p UDP -s 0/0 --dport 110 -j ACCEPT # POP3
$IPTABLES -A INPUT -p UDP -s 0/0 --dport 25 -j ACCEPT # SMTP
######
$IPTABLES -A INPUT -p TCP -s $LAN_NET --dport 1433 -j ACCEPT # MS-SQL