FreeBSD 6.0
nat через PF:#/etc/pf.conf
...
nat on $ext_if from <users> to any -> ($ext_if)
...внутри сети есть почтовый сервер.. задача тривиальная, вывести этот сервак(а именно 25 порт) в инет из-за ната..
поставил из портов portfwd, все отлично перебрасывается, но.. к мылсерверу пакеты доходят с source ip шлюза.. соотв грейлистинг не работает..
убрал portfwd и добавил правило в PF:
#/etc/pf.conf
...
rdr on $ext_if inet proto tcp from any to ($ext_if) port 25 -> 192.168.0.29 port 25
...и вроде все работает перекидывается, но из 10 попыток соедениться извне на сервак подвисают примерно 4..
при удачном коннекте телнетом на 25 порт видим примерно следующее:
debian:/# telnet myhost.ru 25
Trying 88.88.888.8...
Connected to myhost.ru.
Escape character is '^]'.
220 myhost.ru ESMTP MDaemon 9.0.0; Mon, 25 Sep 2006 10:39:38 +0400
..при неудачном все зависает после строки "Escape character is '^]'."
причем мылсервак видит соединение.. а клиенту приглашение не доходит..
в чем косяк? я что-то криво настроил? или кривость PF?
чем можно ещё сделать человеческий переброс?
>FreeBSD 6.0
>nat через PF:
>
>#/etc/pf.conf
>...
>nat on $ext_if from <users> to any -> ($ext_if)
>...
>
>внутри сети есть почтовый сервер.. задача тривиальная, вывести этот сервак(а именно 25
>порт) в инет из-за ната..
>
>поставил из портов portfwd, все отлично перебрасывается, но.. к мылсерверу пакеты доходят
>с source ip шлюза.. соотв грейлистинг не работает..
>
>убрал portfwd и добавил правило в PF:
>
>#/etc/pf.conf
>...
>rdr on $ext_if inet proto tcp from any to ($ext_if) port 25 -> 192.168.0.29 port 25
>...
>
>и вроде все работает перекидывается, но из 10 попыток соедениться извне на
>сервак подвисают примерно 4..
>
>при удачном коннекте телнетом на 25 порт видим примерно следующее:
>debian:/# telnet myhost.ru 25
>Trying 88.88.888.8...
>Connected to myhost.ru.
>Escape character is '^]'.
>220 myhost.ru ESMTP MDaemon 9.0.0; Mon, 25 Sep 2006 10:39:38 +0400
>..
>
>при неудачном все зависает после строки "Escape character is '^]'."
>причем мылсервак видит соединение.. а клиенту приглашение не доходит..
>в чем косяк? я что-то криво настроил? или кривость PF?
>чем можно ещё сделать человеческий переброс?В ipfw проблем нет
${fwcmd} add 7 fwd x.x.x.x/x all from y.y.y.y/y to any via dc0 in+ как собрано ядро ? options HZ=1000 ? по умолчанию проходят пакеты через PF? Нет ли кривизны в /etc/pf.conf?
>>FreeBSD 6.0
>>nat через PF:
>>
>>#/etc/pf.conf
>>...
>>nat on $ext_if from <users> to any -> ($ext_if)
>>...
>>
>>внутри сети есть почтовый сервер.. задача тривиальная, вывести этот сервак(а именно 25
>>порт) в инет из-за ната..
>>
>>поставил из портов portfwd, все отлично перебрасывается, но.. к мылсерверу пакеты доходят
>>с source ip шлюза.. соотв грейлистинг не работает..
>>
>>убрал portfwd и добавил правило в PF:
>>
>>#/etc/pf.conf
>>...
>>rdr on $ext_if inet proto tcp from any to ($ext_if) port 25 -> 192.168.0.29 port 25
>>...
>>
>>и вроде все работает перекидывается, но из 10 попыток соедениться извне на
>>сервак подвисают примерно 4..
>>
>>при удачном коннекте телнетом на 25 порт видим примерно следующее:
>>debian:/# telnet myhost.ru 25
>>Trying 88.88.888.8...
>>Connected to myhost.ru.
>>Escape character is '^]'.
>>220 myhost.ru ESMTP MDaemon 9.0.0; Mon, 25 Sep 2006 10:39:38 +0400
>>..
>>
>>при неудачном все зависает после строки "Escape character is '^]'."
>>причем мылсервак видит соединение.. а клиенту приглашение не доходит..
>>в чем косяк? я что-то криво настроил? или кривость PF?
>>чем можно ещё сделать человеческий переброс?
>
>В ipfw проблем нет
>${fwcmd} add 7 fwd x.x.x.x/x all from y.y.y.y/y to any via dc0
>in
>
>+ как собрано ядро ? options HZ=1000 ? по умолчанию
>проходят пакеты через PF? Нет ли кривизны в /etc/pf.conf?в пф все ок
строка форвардящая из пф:
rdr on $ext_if inet proto tcp from any to ($ext_if) port 26 -> 192.168.0.29 port 25собрал ядро с HZ = 1000
не помогло
>>>FreeBSD 6.0
>>>nat через PF:
>>>
>>>#/etc/pf.conf
>>>...
>>>nat on $ext_if from <users> to any -> ($ext_if)
>>>...
>>>
>>>внутри сети есть почтовый сервер.. задача тривиальная, вывести этот сервак(а именно 25
>>>порт) в инет из-за ната..
>>>
>>>поставил из портов portfwd, все отлично перебрасывается, но.. к мылсерверу пакеты доходят
>>>с source ip шлюза.. соотв грейлистинг не работает..
>>>
>>>убрал portfwd и добавил правило в PF:
>>>
>>>#/etc/pf.conf
>>>...
>>>rdr on $ext_if inet proto tcp from any to ($ext_if) port 25 -> 192.168.0.29 port 25
>>>...
>>>
>>>и вроде все работает перекидывается, но из 10 попыток соедениться извне на
>>>сервак подвисают примерно 4..
>>>
>>>при удачном коннекте телнетом на 25 порт видим примерно следующее:
>>>debian:/# telnet myhost.ru 25
>>>Trying 88.88.888.8...
>>>Connected to myhost.ru.
>>>Escape character is '^]'.
>>>220 myhost.ru ESMTP MDaemon 9.0.0; Mon, 25 Sep 2006 10:39:38 +0400
>>>..
>>>
>>>при неудачном все зависает после строки "Escape character is '^]'."
>>>причем мылсервак видит соединение.. а клиенту приглашение не доходит..
>>>в чем косяк? я что-то криво настроил? или кривость PF?
>>>чем можно ещё сделать человеческий переброс?
>>
>>В ipfw проблем нет
>>${fwcmd} add 7 fwd x.x.x.x/x all from y.y.y.y/y to any via dc0
>>in
>>
>>+ как собрано ядро ? options HZ=1000 ? по умолчанию
>>проходят пакеты через PF? Нет ли кривизны в /etc/pf.conf?
>
>в пф все ок
>строка форвардящая из пф:
>rdr on $ext_if inet proto tcp from any to ($ext_if) port 26 -> 192.168.0.29 port 25
>
>собрал ядро с HZ = 1000
>не помоглокосячило правило
scrub on $ext_if all reassemble tcp
откуда оно там появилось - ума не приложу :-)