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

Проброс почты в локальной сети.

Добавлено: 2007-05-17 8:14:14
klimov
Добрый день. Стоит freebsd 6.2, ipfw,natd, squid. Все это прекрасно работает, поставил почтовый сервер на машине внутри локальной сети. Подскажите каким правилом в ipfw можно пробросить почту которая приходит на этот сервер, а то у меня на данный момент почта прекрасно уходит, а приходить не приходит. Правила в ipfw прописаны как в статье у лисяры.

Добавлено: 2007-05-17 8:24:07
Alex Keda
лучше настрой его как релей, чтобы он почту бросал на внутренний сервер локалки

Добавлено: 2007-05-17 8:39:05
klimov
Для этого нужно на фрюхе поднимать почтовый сервер?

Добавлено: 2007-05-18 10:52:16
Гость
а куда делись другие ответы? Или что то с сервером было?

Добавлено: 2007-05-18 11:47:02
Alex Keda
ушли в страну мальборо...
оттуда не возвращаются...
потери стсоавили с 9 утра и до полудня - когда лёг старый сервер...

Добавлено: 2007-05-18 13:17:37
klimov
А по теме топика не подскажешь, а то я уже забодался, порт не могу пробросить и все тут, уже с помощью rinetd пытался, не выходит каменный цветок, с наружи порт не видно telnet-ом.
Вот мои файлы
/usr/local/etc/rinetd.conf
# разрешить доступ из внешнего IP
allow 195.189.218.227
# разрешить доступ на внутренние IP
allow 192.168.0.*
# тип логфайла (можна и без него, я пробовал)
logcommon
# путь л Лог файлу
logfile /var/log/rinetd.log
# правила для редиректа портов
195.189.218.227 25 192.168.0.208 25
195.189.218.227 110 192.168.0.208 110

/etc/rc.conf
rinetd_enable="YES"
rinetd_flags="/usr/local/etc/rinetd.conf"

/etc/rc.firewall
#!/bin/sh
FwCMD="/sbin/ipfw"
LanOut="vr0"
LanIn="em0"
IpOut="195.189.218.227"
IpIn="192.168.0.209"
NetMask="24"
NetIn="192.168.0.0"

${FwCMD} -f flush
${FwCMD} add check-state




# Разрешаем весь траффик по внутреннему интерфейсу (петле)
# Вообще я во многих местах читал что без него может ничё не заработать вообще
# и прочие страшилки. Работает - почта, апач, .... А вот squid - не работает :)
# так что без него и правда - никуда.
${FwCMD} add allow ip from any to any via lo0

#${FwCMD} add fwd 192.168.0.209,21 tcp from ${NetIn}/24 to any 21 via vr0

${FwCMD} add fwd 192.168.0.209,3128 tcp from ${NetIn}/24 to any 80 via vr0

${FwCMD} add deny ip from 192.168.0.12 to any 5190 via vr0


${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}

# пропускаем траффик через трансляцию сетевых адресов (NAT)
${FwCMD} add divert natd ip from ${NetIn}/${NetMask} to any out via ${LanOut}
${FwCMD} add divert natd ip from any to ${IpOut} in via ${LanOut}

# рубим траффик к частным сетям через внешний интерфейс
# заметтьте - эти правила отличаются от тех что были выше!
${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 снаружи (нам же надо узнавать IP по именам машин?)
${FwCMD} add allow udp from any 53 to any via ${LanOut}

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

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


${FwCMD} add allow tcp from any to any via ${LanIn}
${FwCMD} add allow udp from any to any via ${LanIn}
${FwCMD} add allow icmp from any to any via ${LanIn}



${FwCMD} add deny ip from any to any

Re: Проброс почты в локальной сети.

Добавлено: 2007-05-18 13:32:46
dikens3
klimov писал(а):Добрый день. Стоит freebsd 6.2, ipfw,natd, squid. Все это прекрасно работает, поставил почтовый сервер на машине внутри локальной сети. Подскажите каким правилом в ipfw можно пробросить почту которая приходит на этот сервер, а то у меня на данный момент почта прекрасно уходит, а приходить не приходит. Правила в ipfw прописаны как в статье у лисяры.
Конфиг natd покажи.

P.S. Разрешить в nat входящие соединения и сделать redirect_port на локальный IP.

Добавлено: 2007-05-18 13:35:20
dikens3

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

${FwCMD} add deny ip from 192.168.0.12 to any 5190 via vr0 
Это бред. ICQ работает на любом порту.

Добавлено: 2007-05-18 13:37:30
dikens3

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

${FwCMD} add deny ip from any to any
Включить VERBOSE и добавить перед этой строкой такую же, только с логом.

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

${FwCMD} add deny log ip from any to any
После чего ковырять /var/log/security

Добавлено: 2007-05-18 13:49:32
klimov
Разрешить таким правилом?
${FwCMD} add allow tcp from any to ${IpOut} 25 via ${LanOut}
${FwCMD} add allow tcp from any to ${IpOut} 110 via ${LanOut}
А по icq может и по всем, но у меня для этого ip не работает -)))) я ему icq закрыл.
Через natd и редирект пробовал не получилось.
Не можешь разжевать а то вроде и маны все прочитал а не выходит каменный цветок.
/etc/rc.conf
natd_enable="YES"
natd_program="/sbin/natd"
natd_interface="vr0"
natd_config="-f /etc/natd.conf"

/etc/natd.conf

same_ports yes
use_sockets yes
unregistered_only yes
interface vr0


redirect_port tcp 192.168.0.208:25 25
redirect_port tcp 192.168.0.208:110 110

Добавлено: 2007-05-18 14:17:23
klimov
После включения логирования про 25 и 110 порт ни слова нет.

Добавлено: 2007-05-18 14:49:30
dikens3
/etc/natd.conf
deny_incoming no
same_ports yes
use_sockets yes
unregistered_only yes
interface vr0

redirect_port tcp 192.168.0.208:25 25
redirect_port tcp 192.168.0.208:110 110
Добавь разрешение входящих соединений.

Добавлено: 2007-05-18 15:03:22
klimov
А разрешение добавить какой командой в мане я что то не нашел про это, типа так?
allow 195.189.218.227

Добавлено: 2007-05-18 15:17:47
klimov
deny_incoming no добавил, все осталось по прежнему-(((

Добавлено: 2007-05-18 16:43:53
dikens3
Перед ${FwCMD} add deny ip from any to any
Поставить аналогичную, только с логами в /var/log/security

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

${FwCMD} add deny log ip from any to any
И смотреть в /var/log/security

Добавлено: 2007-05-20 12:24:55
klimov
Все заработало, спасибо лисяра за сайт и статьи о freebsd. В моем случае не хватало правила в фаере ${FwCMD} add allow tcp from any to 192.168.20.251 80 via ${LanOut}. Поздно статью увидел http://www.lissyara.su/?id=1159.

Добавлено: 2007-05-20 12:27:20
dikens3
${FwCMD} add allow tcp from any to 192.168.20.251 80 via ${LanOut}.
Заработало - это круто. Только вот эта строка никак к почте не относится. :-)

Добавлено: 2007-05-20 12:34:20
klimov
Это строка из статьи лисяры, в моем частном случае она выглядит так ${FwCMD} add allow tcp from any to 192.168.0.208 25 via ${LanOut}.