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

Исходное сообщение
"Нужна помощь с rc.firewall"

Отправлено alexcandr , 05-Май-09 17:01 
Всем привет, нужна помощь не могу никак разобраться с фаэрволом в CentOS 5.2..
есть сервак с выделеным каналом, инетом, почтой,,,
Что нужно сделать:
Что бы пользователи могли пользоваться своей внешней почтой типа mail.ru yandex.ru
и получать/отправлять письма, я так понимаю что у меня на серваке заблокированы порты,,,
Для этого в rc.firewall прописал правила

$ipt -t nat -A PREROUTING -p tcp -d 192.9.100.254 --dport 25 -j DNAT --to-destination 194.67.57.226:25
$ipt -t nat -A PREROUTING -p tcp -d 192.9.100.254 --dport 110 -j DNAT --to-destination 194.67.57.226:110

Где 192,9,100,254 - это моя прокся
    194.67.57.226 - это Mail.ru

Ничего не помогло, не соединяется с сервером,,,
Прощу помощи, уже второй день ковыряюсь и все безтолку,
Заранее всем спасибо


Содержание

Сообщения в этом обсуждении
"Нужна помощь с rc.firewall"
Отправлено Zz , 05-Май-09 17:02 
use -j SNAT --to-source=your.real.ip instead.

"Нужна помощь с rc.firewall"
Отправлено alexcandr , 05-Май-09 17:38 
>use -j SNAT --to-source=your.real.ip instead.

Я так понимаю прописать правило нужно так
$ipt -t nat -A POSTROUTING -p tcp -o eth0 -j SNAT --to-source=my ip


"Нужна помощь с rc.firewall"
Отправлено alexcandr , 06-Май-09 10:57 
Народ помогите с почтой,,,,

"Нужна помощь с rc.firewall"
Отправлено Kli , 06-Май-09 12:15 
>>use -j SNAT --to-source=your.real.ip instead.
>
>Я так понимаю прописать правило нужно так
>$ipt -t nat -A POSTROUTING -p tcp -o eth0 -j SNAT --to-source=my
>ip

да, причем eth0 это внешний интерфейс
кроме того пропиши
iptables -A FORWARD -p tcp --dport 25 -s $localnet -j ACCEPT
iptables -A FORWARD -p tcp --dport 110 -s $localnet -j ACCEPT


"Нужна помощь с rc.firewall"
Отправлено alexcandr , 06-Май-09 12:36 
$ipt -t nat -A PREROUTING -p tcp -d 192.9.100.254 --dport 25 -j DNAT --to-destination 194.67.57.226:25
$ipt -t nat -A PREROUTING -p tcp -d 192.9.100.254 --dport 110 -j DNAT --to-destination 194.67.57.226:110
$ipt -A FORWARD -p tcp --dport 25 -s $localnet -j ACCEPT
$ipt  -A FORWARD -p tcp --dport 110 -s $localnet -j ACCEPT

Ничего не получилось, Честно говорю с фаэрволом столкнулся в первый раз, поэтому все что вы пишите для меня дико, пытался доки читать но чувствую уйдет минимум неделя что б разобраться))))
Так что прошу если не сложно приведите пример, очень нужно срочно,,,,
Заранее спасибо


"Нужна помощь с rc.firewall"
Отправлено Kli , 06-Май-09 12:45 
>[оверквотинг удален]
>DNAT --to-destination 194.67.57.226:110
>$ipt -A FORWARD -p tcp --dport 25 -s $localnet -j ACCEPT
>$ipt  -A FORWARD -p tcp --dport 110 -s $localnet -j ACCEPT
>
>
>Ничего не получилось, Честно говорю с фаэрволом столкнулся в первый раз, поэтому
>все что вы пишите для меня дико, пытался доки читать но
>чувствую уйдет минимум неделя что б разобраться))))
>Так что прошу если не сложно приведите пример, очень нужно срочно,,,,
>Заранее спасибо

Все примеры уже написали. Если нужно больше приведи исходные данные, интерфейсы, адреса, текущие настройки фаервола


"Нужна помощь с rc.firewall"
Отправлено alexcandr , 06-Май-09 13:00 
>Все примеры уже написали. Если нужно больше приведи исходные данные, интерфейсы, адреса,
>текущие настройки фаервола

192.9.100.254-прокси
62,16,108,188- ip внешний
Вот мой конфиг rc.firewall

ipt="/sbin/iptables"
EXTIF="eth0"
INTIF="eth1"

$ipt -A INPUT -s mail.npt.ru -j DROP


$ipt -A INPUT -i $EXTIF -p tcp --dport 4550 -j ACCEPT
$ipt -A INPUT -i $EXTIF -p tcp --dport 80 -j ACCEPT
$ipt -A INPUT -i $EXTIF -p tcp --dport 25 -j ACCEPT
$ipt -A INPUT -i $EXTIF -p tcp --dport 110 -j ACCEPT
$ipt -A INPUT -i $EXTIF -p tcp --dport 443 -j ACCEPT
$ipt -A INPUT -i $EXTIF -p tcp --dport 1723 -j ACCEPT
$ipt -A INPUT -i $EXTIF -p tcp --dport 64000:65500 -j ACCEPT
$ipt -A INPUT -i $EXTIF -p tcp --dport 20:21 -j ACCEPT

$ipt -t nat -A POSTROUTING -s 192.9.100.0/24 -o $EXTIF -j SNAT --to 62.16.108.188
$ipt -t nat -A PREROUTING -p tcp -d 192.9.100.254 --dport 8025 -j DNAT --to-destination 80.247.184.198:25
$ipt -t nat -A PREROUTING -p tcp -d 192.9.100.254 --dport 8110 -j DNAT --to-destination 80.247.184.198:110
$ipt -A FORWARD -i $INTIF -p tcp -s 192.9.100.84 -d 80.247.184.198 --dport 110 -j ACCEPT
$ipt -A FORWARD -i $INTIF -p tcp -s 192.9.100.84 -d 80.247.184.198 --dport 25 -j ACCEPT
$ipt -A FORWARD -i $INTIF -o $EXTIF -j REJECT

#####ICMP SECURITY OPTION###################
$ipt -A INPUT -i $EXTIF -p icmp --icmp-type 0 -j ACCEPT
$ipt -A INPUT -i $EXTIF -p icmp --icmp-type 3 -j ACCEPT
$ipt -A INPUT -i $EXTIF -p icmp --icmp-type 4 -j ACCEPT
$ipt -A INPUT -i $EXTIF -p icmp --icmp-type 11 -j ACCEPT
$ipt -A INPUT -i $EXTIF -p icmp --icmp-type 12 -j ACCEPT
$ipt -A INPUT -i $EXTIF -p icmp --icmp-type 14 -j ACCEPT
$ipt -A INPUT -i $EXTIF -p icmp --icmp-type 16 -j ACCEPT
$ipt -A INPUT -i $EXTIF -p icmp --icmp-type 18 -j ACCEPT
$ipt -A INPUT -i $EXTIF -p icmp -j LOG -m limit --log-prefix "FILTER ICMP-BAD-TYPE-IN:"
$ipt -A INPUT -i $EXTIF -p icmp -j DROP
$ipt -A INPUT -i $EXTIF -m state --state ESTABLISHED,RELATED -j ACCEPT


"Нужна помощь с rc.firewall"
Отправлено Kliver , 06-Май-09 13:33 
>>Все примеры уже написали. Если нужно больше приведи исходные данные, интерфейсы, адреса,
>>текущие настройки фаервола
>
>192.9.100.254-прокси
>62,16,108,188- ip внешний
>Вот мой конфиг rc.firewall
>
>ipt="/sbin/iptables"
>EXTIF="eth0"
>INTIF="eth1"

Если в другом скрипте нет сброса фаервола в исходное состояние, то добавить
# разрешить форвардинг
echo 1 > /proc/sys/net/ipv4/ip_forward
# Очистка всех правил
$ipt -F
$ipt -t nat -F
# политики по умолчанию
$ipt -P INPUT DROP
$ipt -P OUTPUT ACCEPT
$ipt -P FORWARD DROP
# Разрешить входящие из докальной сети

$ipt -A INPUT -i $INTIF -s 192.9.100.0/24 -j ACCEPT


>[оверквотинг удален]
>$ipt -A INPUT -i $EXTIF -p tcp --dport 110 -j ACCEPT
>$ipt -A INPUT -i $EXTIF -p tcp --dport 443 -j ACCEPT
>$ipt -A INPUT -i $EXTIF -p tcp --dport 1723 -j ACCEPT
>$ipt -A INPUT -i $EXTIF -p tcp --dport 64000:65500 -j ACCEPT
>$ipt -A INPUT -i $EXTIF -p tcp --dport 20:21 -j ACCEPT
>
>
>
>$ipt -t nat -A POSTROUTING -s 192.9.100.0/24 -o $EXTIF -j SNAT --to
>62.16.108.188

--------
В этих правилах нет смыла IMHO:

>$ipt -t nat -A PREROUTING -p tcp -d 192.9.100.254 --dport 8025 -j
>DNAT --to-destination 80.247.184.198:25
>$ipt -t nat -A PREROUTING -p tcp -d 192.9.100.254 --dport 8110 -j
>DNAT --to-destination 80.247.184.198:110

-------

>$ipt -A FORWARD -i $INTIF -p tcp -s 192.9.100.84 -d 80.247.184.198 --dport
>110 -j ACCEPT
>$ipt -A FORWARD -i $INTIF -p tcp -s 192.9.100.84 -d 80.247.184.198 --dport
>25 -j ACCEPT

Здесь добавить

$ipt -A FORWARD -i $INTIF -o $EXTIF -p tcp -s 192.9.100.0/24 --dport 25 -j ACCEPT
$ipt -A FORWARD -i $INTIF -o $EXTIF -p tcp -s 192.9.100.0/24 --dport 110 -j ACCEPT
$ipt -A FORWARD  -m state --state ESTABLISHED,RELATED -j ACCEPT


>[оверквотинг удален]
>$ipt -A INPUT -i $EXTIF -p icmp --icmp-type 4 -j ACCEPT
>$ipt -A INPUT -i $EXTIF -p icmp --icmp-type 11 -j ACCEPT
>$ipt -A INPUT -i $EXTIF -p icmp --icmp-type 12 -j ACCEPT
>$ipt -A INPUT -i $EXTIF -p icmp --icmp-type 14 -j ACCEPT
>$ipt -A INPUT -i $EXTIF -p icmp --icmp-type 16 -j ACCEPT
>$ipt -A INPUT -i $EXTIF -p icmp --icmp-type 18 -j ACCEPT
>$ipt -A INPUT -i $EXTIF -p icmp -j LOG -m limit --log-prefix
>"FILTER ICMP-BAD-TYPE-IN:"
>$ipt -A INPUT -i $EXTIF -p icmp -j DROP
>$ipt -A INPUT -i $EXTIF -m state --state ESTABLISHED,RELATED -j ACCEPT

На клиентских машинах обязательно настроить адрес шлюза 192.9.100.254


"Нужна помощь с rc.firewall"
Отправлено alexcandr , 06-Май-09 13:41 
В этих правилах нет смыла IMHO:

>$ipt -t nat -A PREROUTING -p tcp -d 192.9.100.254 --dport 8025 -j
>DNAT --to-destination 80.247.184.198:25
>$ipt -t nat -A PREROUTING -p tcp -d 192.9.100.254 --dport 8110 -j
>DNAT --to-destination 80.247.184.198:110
>$ipt -A FORWARD -i $INTIF -p tcp -s 192.9.100.84 -d 80.247.184.198 --dport
>110 -j ACCEPT
>$ipt -A FORWARD -i $INTIF -p tcp -s 192.9.100.84 -d 80.247.184.198 --dport
>25 -j ACCEPT

Почему нет,,, без этих правил у меня прога для бухгалтеров не работает...
конечно может и по другому можно прописать,,,


"Нужна помощь с rc.firewall"
Отправлено sonkilla , 06-Май-09 14:27 
читаю читаю и все больше понемаю что автор пишет о том о чем понятия неимеит.
Есть замечательная руская дока вот http://www.opennet.me/docs/RUS/iptables/ обезательно прочитайте это первое.
второе как уже сдесь писали создайте скрипт назавите его rc.firewall поместим его в /etc/rc.d/ напиши туда

!/bin/sh                                              

#это значение можно один рза поставить в /etc/sysctl.conf в директиве net.ipv4.ip_forward = 1 так будет проще или используй вот так

echo 1 > /proc/sys/net/ipv4/ip_forward


#тут подгружаем модули каторые нужны замечу что ip_nat_pptp нужен для впн связи через #тебя остальные можеш убирать или дабавлять по вкусу.


/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 ipt_REJECT    
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe ip_conntrack_irc
/sbin/modprobe ip_nat_ftp      
/sbin/modprobe ip_nat_pptp

iptables -F INPUT
iptables -F OUTPUT                                                              
iptables -F FORWARD                                                    
                                                                                                                                              
iptables -P INPUT DROP                                                              
iptables -P OUTPUT DROP                                                            
iptables -P FORWARD DROP                                                            


#цепочка INPUT

#разрешаем для сети 192.168.0.0/24 все пакеты
iptables -A INPUT -s 192.168.0.0/24 -j ACCEPT

iptables -A INPUT -s 127.0.0.1 -j ACCEPT              
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

#цепочка FORWARD
#разрешаем проход всех пакетов от всей сети 192.168.0.0/24 через тебя
iptables -A FORWARD -s 192.168.0.0/24 -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

#Цепочка OUTPUT
iptables -A OUTPUT -p ALL -s 127.0.0.1 -j ACCEPT
#тут внутренний айпи твоего сервера 192.168.0.254
iptables -A OUTPUT -p ALL -s 192.168.0.254 -j ACCEPT
iptables -A OUTPUT -p ALL -s внешнийip -j ACCEPT

теперь создаём еще один скрипт называем его rc.nat кладем тудаже его код ниже
#!/bin/sh
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to внешнийip

вуаля работает)
сразу оговарюсь вы должны все подстроить для себя тоесть прописать ваши подсети и ваш внешний айпи,также следует закрыть ssh и открыть только с определёных адресов кароче это грубы пример а доку всеже прочитайте.


"Нужна помощь с rc.firewall"
Отправлено alexcandr , 06-Май-09 14:33 
>читаю читаю и все больше понемаю что автор пишет о том о
>чем понятия неимеит.
>Есть замечательная руская дока вот http://www.opennet.me/docs/RUS/iptables/ обезательно прочитайте это первое.

Обязательно прочитаю

>второе как уже сдесь писали создайте скрипт назавите его rc.firewall поместим его
>в /etc/rc.d/ напиши туда

Есть такой файл

Спасибо! будем изучать


"Нужна помощь с rc.firewall"
Отправлено alexcandr , 06-Май-09 16:30 
Нужно было дописать к моему конфигу это

$ipt -A FORWARD -p tcp -s 192.9.100.0/24 --dport 110 -j ACCEPT
$ipt -A FORWARD -p udp -s 192.9.100.0/24 --dport 53 -j ACCEPT

Всем спасибо за помощь