Страница 1 из 1

NAT POP3, SMTP

Добавлено: 2011-09-25 15:15:57
veseldzr
Доброго времени суток!
Необходимо пускать через нат только по 25 и 110 портам. ВСе остальное должно быть закрыто. Привожу часть конфига:

Код: Выделить всё

${FwCMD} add divert natd ip from ${NetIn} to any 25,110 out via ${LanOut}
${FwCMD} add divert natd ip from any to ${IpOut} 25,110 in via ${LanOut}
${FwCMD} add allow tcp from ${NetIn} to any 25 out via ${LanOut} setup keep-state
${FwCMD} add allow tcp from ${NetIn} to any 110 out via ${LanOut} setup keep-state
В чем может быть проблема и куда копать?

Re: NAT POP3, SMTP

Добавлено: 2011-09-25 19:41:33
bagas
а что не так?
помоему keep-state лишнее.

Re: NAT POP3, SMTP

Добавлено: 2011-09-25 20:31:02
veseldzr
Пробовал без keep-state, ничего не изменилось. Не так то, что с машины в локальной сети не могу ни получить ни отправить почту по POP3, SMTP.

Re: NAT POP3, SMTP

Добавлено: 2011-09-25 20:49:11
bagas
покажите ipfw show

Re: NAT POP3, SMTP

Добавлено: 2011-09-25 22:35:22
veseldzr
привожу полностью конфиг и ipfw show

rc.firewall

Код: Выделить всё

#!/bin/sh

FwCMD="/sbin/ipfw"      # собственно где лежит бинарник ipfw
LanOut="ng0"           # внешний интерфейс
LanIn="rl1"             # внутренний интерфейс
IpOut=`ifconfig ng0 | grep inet | awk '{print $2}'`
IpIn="192.168.1.1"    # внутренний IP машины
NetIn="192.168.1.0/24"  # Внутренняя сеть

# сбрасываем все правила
${FwCMD} -f flush
# сбрасываем все pipe
${FwCMD} -f pipe flush
# сбрасываем очереди
${FwCMD} -f queue flush

# Проверяем - соответствует ли пакет динамическим правилам:
${FwCMD} add check-state

# Разрешаем весь траффик по внутреннему интерфейсу (петле)
${FwCMD} add allow ip from any to any via lo0

# Вводим запреты:

# рубим попытки lo0 куда-то лезть и откуда-то лезть на lo0
${FwCMD} add deny ip from any to 127.0.0.0/8
${FwCMD} add deny ip from 127.0.0.0/8 to any

# режем частные сети на внешнем интерфейсе
#${FwCMD} add deny ip from any to 10.0.0.0/8 in via ${LanOut}
${FwCMD} add deny ip from any to 172.16.0.0/12 in via ${LanOut}
${FwCMD} add deny ip from any to 192.168.0.0/16 in via ${LanOut}
${FwCMD} add deny ip from any to 0.0.0.0/8 in via ${LanOut}
# рубим автоконфигуреную частную сеть
${FwCMD} add deny ip from any to 169.254.0.0/16 in via ${LanOut}
# рубаем мультикастовые рассылки
${FwCMD} add deny ip from any to 240.0.0.0/4 in via ${LanOut}
# рубим фрагментированные icmp
${FwCMD} add deny icmp from any to any frag
# рубим широковещательные icmp на внешнем интерфейсе
${FwCMD} add deny log icmp from any to 255.255.255.255 in via ${LanOut}
${FwCMD} add deny log icmp from any to 255.255.255.255 out via ${LanOut}

# POP3,SMTP
${FwCMD} add divert natd ip from ${NetIn} to any 25,110 out via ${LanOut}
${FwCMD} add divert natd ip from any 25,110  to ${IpOut} in via ${LanOut}
${FwCMD} add allow tcp from ${NetIn} to any 25 out via ${LanOut} setup
${FwCMD} add allow tcp from ${NetIn} to any 110 out via ${LanOut} setup
# рубим траффик к частным сетям через внешний интерфейс
${FwCMD} add deny ip from 10.0.0.0/8 to any out via ${LanOut}
${FwCMD} add deny ip from 172.16.0.0/12 to any out via ${LanOut}
${FwCMD} add deny ip from 192.168.0.0/16 to any out via ${LanOut}
${FwCMD} add deny ip from 0.0.0.0/8 to any out via ${LanOut}
# рубим автоконфигуреную частную сеть
${FwCMD} add deny ip from 169.254.0.0/16 to any out via ${LanOut}
# рубаем мультикастовые рассылки
${FwCMD} add deny ip from 224.0.0.0/4 to any out via ${LanOut}
# рубаем мультикастовые рассылки
${FwCMD} add deny ip from 240.0.0.0/4 to any out via ${LanOut}

# разрешаем все установленные соединения
${FwCMD} add allow tcp from any to any established
# разрешаем весь исходящий траффик серверу
${FwCMD} add allow ip from ${IpOut} to any out xmit ${LanOut}

# DNS
${FwCMD} add allow udp from any to any

# NTP
${FwCMD} add allow udp from any to any 123 via ${LanOut}

# ICMP - эхо-запрос, эхо-ответ и время жизни пакета истекло
${FwCMD} add allow icmp from any to any icmptypes 0,8,11

# SSH снаружи
${FwCMD} add allow tcp from any to ${IpOut} 22 via ${LanOut}

# разрешаем весь tcp траффик внутри локалки (на внутреннем интерфейсе)
${FwCMD} add allow tcp from any to any via ${LanIn}
# разрешаем весь udp траффик внутри локалки (на внутреннем интерфейсе)
${FwCMD} add allow udp from any to any via ${LanIn}
# разрешаем весь icmp траффик внутри локалки (на внутреннем интерфейсе)
${FwCMD} add allow icmp from any to any via ${LanIn}

# Блокируем все остальные попытки соединения с занесением в логи
${FwCMD} add deny log tcp from any to ${IpOut} in via ${LanOut} setup

#запрещаем всё и всем
${FwCMD} add deny ip from any to any
ipfw show

Код: Выделить всё

00100    0      0 check-state
00200    0      0 allow ip from any to any via lo0
00300    0      0 deny ip from any to 127.0.0.0/8
00400    0      0 deny ip from 127.0.0.0/8 to any
00500    0      0 deny ip from any to 172.16.0.0/12 in via ng0
00600    0      0 deny ip from any to 0.0.0.0/8 in via ng0
00700    0      0 deny ip from any to 169.254.0.0/16 in via ng0
00800    0      0 deny ip from any to 240.0.0.0/4 in via ng0
00900    0      0 deny icmp from any to any frag
01000    0      0 deny log icmp from any to 255.255.255.255 in via ng0
01100    0      0 deny log icmp from any to 255.255.255.255 out via ng0
01200  148   7204 divert 8668 ip from 192.168.1.0/24 to any dst-port 25,110 out via ng0
01300   85   6254 divert 8668 ip from any 25,110 to 88.81.57.139 in via ng0
01400    0      0 allow tcp from 192.168.1.0/24 to any dst-port 25 out via ng0 setup
01500    0      0 allow tcp from 192.168.1.0/24 to any dst-port 110 out via ng0 setup
01600    0      0 deny ip from 10.0.0.0/8 to any out via ng0
01700    0      0 deny ip from 172.16.0.0/12 to any out via ng0
01800    0      0 deny ip from 0.0.0.0/8 to any out via ng0
01900    0      0 deny ip from 169.254.0.0/16 to any out via ng0
02000    0      0 deny ip from 224.0.0.0/4 to any out via ng0
02100    0      0 deny ip from 240.0.0.0/4 to any out via ng0
02200 1035 186814 allow tcp from any to any established
02300  114   6152 allow ip from 88.81.57.139 to any out xmit ng0
02400  633  84299 allow udp from any to any
02500    0      0 allow udp from any to any dst-port 123 via ng0
02600    0      0 allow icmp from any to any icmptypes 0,8,11
02700    1     48 allow tcp from any to 88.81.57.139 dst-port 22 via ng0
02800   89   4604 allow tcp from any to any via rl1
02900    0      0 allow udp from any to any via rl1
03000    0      0 allow icmp from any to any via rl1
03100    6    296 deny log tcp from any to 88.81.57.139 in via ng0 setup
03200    9    448 deny ip from any to any
65535  342  30038 deny ip from any to any

Re: NAT POP3, SMTP

Добавлено: 2011-09-26 12:50:32
veseldzr
В общем все решилось после добавления таких правил

Код: Выделить всё

${FwCMD} add divert natd tcp from ${NetIn} to any 25,110 out xmit ${LanOut}
${FwCMD} add divert natd all from any 25,110 to ${IpOut} in via ${LanOut}
Всем спасибо за помощь, тему можно закрывать.