Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Общий по FreeBSD (http://forum.oszone.net/forumdisplay.php?f=10)
-   -   freeBSD 7.1 and ipfw, natd -> redirect_port (http://forum.oszone.net/showthread.php?t=137646)

kirimey 14-04-2009 13:01 1093679

freeBSD 7.1 and ipfw, natd -> redirect_port
 
доброго дня господа!
не поможете кто сталкивался с такой проблемкой
есть шлюз на freeBSD 7.1 (external_if 192.168.1.4 , internal_if 192.168.110.1)
поднят ipfw, natd
Код: Выделить всё • Развернуть
options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMIT=20
options IPDIVERT
options IPFIREWALL_FORWARD
options DUMMYNET

rc.conf
Код: Выделить всё • Развернуть
firewall_enable="YES"
firewall_script="/etc/ipfw-rules"
firewall_logging="YES"
natd_enable="YES"
natd_flags="-f /etc/natd.conf"
natd_interface="em0"

natd.conf
redirect_port 192.168.110.3:25 25


я установил почтовый сервер на exchange2003 (192,168,110,3)

вот мое правило для отправки почты с сервака
Код: Выделить всё • Развернуть
$cmd 125 $skip tcp from 192.168.110.3 to any 25 out via $ex_if setup keep-state


а вот по поводу приема писем нифига не получается
Код: Выделить всё • Развернуть
$cmd 360 allow tcp from any to 192.168.110.3 25 in via $ex_if setup keep-state


помогите пожалуйста, че то не догоню
спасибо!!!

leonty 14-04-2009 14:59 1093766

kirimey, ну а нафига по 1оо тем создавать, ты ж уже аналогичную создал... .

kirimey 14-04-2009 15:09 1093776

во первых не 100 а 2
во вторых я тут более подробно описал
а в третих лучше помогите а не судите и судимы не будите

Telepuzik 15-04-2009 10:21 1094518

kirimey
А есть правило разрешающее прохождение трафика со шлюза на почтовый сервер через внутренний интерфейс??
Типа такого:
${ipfw} add allow tcp from any to 192.168.110.3 25 out via <внутренний интерфейс>
Посмотрите вот эту тему.

kirimey 15-04-2009 11:28 1094577

нет но есть такое
allow all from any to any via $in_if

или такого мало

а скажите правило
$cmd 360 allow tcp from any to 192.168.110.3 25 in via $ex_if setup keep-state

должно быть до входящего ната или после

Telepuzik 15-04-2009 11:49 1094600

Цитата:

Цитата kirimey
есть шлюз на freeBSD 7.1 (external_if 192.168.1.4 , internal_if 192.168.110.1) »

Так, у Вас внешний интерфейс имеет адрес 192.168.110.1 ??? Если да то есть перенаправление почтового трафика с выше стоящего маршрутизатора на Ваш???

Приведите полный список правил ipfw и полную схему сети.

kirimey 15-04-2009 12:22 1094618

внутренний 192.168.110.1 ex_if
внешний xxx.xxx.xxx.xxx in_if

192.168.110.2 dc,dns
192.168.110.3 exchange 2003

ipfw show во вложение

у меня какая то хрень творится, я так подозреваю не происходит чтение при загрузке из /etc/natd.conf

rc.conf

firewall_enable="YES"
firewall_script="/etc/ipfw-rules"
firewall_logging="YES"
natd_enable="YES"
natd_flags="-f /etc/natd.conf"
natd_interface="em0"

natd.conf

same_ports yes
use_sockets yes
redirecr_port tcp 192.168.110.3:25 25

када я добовляю interface em0 в natd.conf, а из rc.conf убираю natd_interface="em0"
то блин нат не работает, чтение не происходит

ipfw show во вложение

Telepuzik 15-04-2009 12:44 1094637

Пропишите в rc.conf:
natd_program="/sbin/natd"
и перезагрузите машину.

Что то нет вложения то.

kirimey 15-04-2009 13:16 1094658

блин!!!!! спасибо ВАМ огромное , теперь читается natd.conf


вот вложение, вроде вложид

если опять не вложилось, отпигите я наберу ручками

Telepuzik 15-04-2009 13:30 1094673

Цитата:

Цитата kirimey
а скажите правило
$cmd 360 allow tcp from any to 192.168.110.3 25 in via $ex_if setup keep-state »

Это правило должно быть вида:
$cmd 360 allow tcp from any to <внешний ip адрес> 25 in via <внешний интерфейс>
Вложения так и не увидел.

kirimey 15-04-2009 14:01 1094696

$cmd 010 allow all from any to any via lo0

$cmd 020 deny ip from any to 127.0.0.0/8
$cmd 030 deny ip from 127.0.0.0/8 to any

$cmd 040 allow all from any to any via $internal_if

$cmd 050 fwd 127.0.0.1,3129 tcp from $lannet to any 21,80,443,5190 out via $external_if

$cmd 060 divert natd ip from any to any in via $external_if

$cmd 070 check-state

$cmd 100 $skip udp from 192.168.110.2 to any 53 out via $external_if keep-state

$cmd 110 $skip icmp from any to any out keep-state

$cmd 120 $skip tcp from 192.168.110.3 to any out via $external_if setupe keep-state

$cmd 200 $skip all from $wanip to any out via $external_if setup keep-state

$cmd 210 deny all from 192.168.0.0/16 to any in via $external_if
$cmd 211 deny all from 172.16.0.0/12 to any in via $external_if
$cmd 212 deny all from 10.0.0.0/8 to any in via $external_if
$cmd 212 deny all from 10.0.0.0/8 to any in via $external_if
$cmd 213 deny all from 127.0.0.0/8 to any in via $external_if
$cmd 214 deny all from 0.0.0.0/8 to any in via $external_if
$cmd 215 deny all from 169.254.0.0/16 to any in $external_if
$cmd 216 deny all from 192.0.2.0/24 to any in via $external_if
$cmd 217 deny all from 204.152.64.0/23 to any in via $external_if
$cmd 218 deny all from 224.0.0.0/3 to any in via $external_if

$cmd 220 deny tcp from any to any 113 in via $external_if

$cmd 225 deny tcp from any to any 137 in via $external_if
$cmd 226 deny tcp from any to any 138 in via $external_if
$cmd 227 deny tcp from any to any 139 in via $external_if
$cmd 228 deny tcp from any to any 81 in via $external_if

$cmd 500 allow tcp from any to $wanip 5555 in via $external_if setup limit src-addr 2
$cmd 510 allow tcp from any to $wanip smtp in via $external_if setup keep-state

$cmd 510 allow all from any to any established


$cmd 550 deny log all from any to any

$cmd 570 divert natd ip from any to any out via $external_if

$cmd 580 allow ip from any to any

$cmd 999 deny log all from any to any

не получается отправить вложение

Telepuzik 15-04-2009 15:20 1094747

Цитата:

Цитата kirimey
$cmd 060 divert natd ip from any to any in via $external_if »

Поменяйте на:
$cmd 060 divert natd ip from any to any via $external_if
И пропишите для проверки:
cmd 520 allow tcp from any to 192.168.110.3 smtp out via $internal_if
Telnet-ом из интернета пробовали подключаться к внешнему ip на 25 порт?
И приведите вывод ipfw show с количеством пакетов прошедшим через каждое правило.

kirimey 15-04-2009 16:01 1094791

а зачем 060 строчку менять на предлогаемою

у меня же 570 строчка для исходящего ната

я сделал как Вы сказали и все равно нифига

телнетом не коннектится

я не могу прислать вложение, чето не получается

Telepuzik 15-04-2009 16:10 1094802

Цитата:

Цитата kirimey
у меня же 570 строчка для исходящего ната »

До этого правила трафик не доходит т.к. 550 правило блокирует весь трафик. Соетую поставить правило divert такое как я приводил под номером 550 и посмотреть будет работать или нет.

kirimey 15-04-2009 16:18 1094812

060 строчку закоментировал
550 тоже

570 сделал такую как Вы и сказали

и все равно
нифига

теперрь када так сделал телнетом сверху конекчусь и нифига
а вот ipfw show говорит что 510 правило какие то пакеты пропускает, но ниче не получается

admin666 15-04-2009 19:32 1095024

Sorry, что не совсем в тему.
Посоветуйте пожалуйста хорошую статью или книгу по ipfw такую чтобы с примерами, коментами, и тд. ну для ламера короче).... Ищу в инете находится либо не подробно, либо уж очень запутано((

kirimey 15-04-2009 20:04 1095054

http://www.freebsd.org/cgi/man.cgi?q...SE&format=html

admin666 15-04-2009 22:32 1095204

пасиба
Цитата:

Цитата kirimey
http://www.freebsd.org/cgi/man.cgi?q...SE&format=html »

хорошо, а по русски есть что нибудь?

Telepuzik 16-04-2009 10:19 1095517

Цитата:

Цитата kirimey
060 строчку закоментировал
550 тоже
570 сделал такую как Вы и сказали
и все равно
нифига
теперрь када так сделал телнетом сверху конекчусь и нифига
а вот ipfw show говорит что 510 правило какие то пакеты пропускает, но ниче не получается »

Поставьте 570 правило вместо 60 и перезагрузите машину. Попробуйте приконектиться telnet-ом посмотри tcpdump -ом приходят ли пакеты на внешний интерфейс. И выложите все таки ipfw show с количеством прошедших пакетов.

admin666,
Вот статья про настройку ipfw.

dmitryst 17-04-2009 00:20 1096309

Цитата:

Цитата kirimey
$cmd 060 divert natd ip from any to any in via $external_if »

замените на
$cmd 060 divert 8668 ip from any to any in via $external_if
если нат не работает :)

Цитата:

Цитата kirimey
а скажите правило
...
должно быть до входящего ната или после »

нат стоит после всего - иначе он не узнает, что пакет из вашей внутренней сети (а вообще, логичнее разбить правила на 2 части - сначала на исходящие- нат последний, а потом на входящие - тут нат первым должен быть. В общем, как в хендбуке :) )

hidekiUA 23-04-2009 14:31 1102069

Подскажите пожалуйста как правильно написать конфиг fw чтоб он розбивал инет скорость по диапазону IP-адресов в freeBSD 7.1

dmitryst 23-04-2009 15:25 1102134

Пример 1
Пример 2
Use Google! :)


Время: 20:15.

Время: 20:15.
© OSzone.net 2001-