connect() failed (1: Operation not permitted) while connecting to upstream

Igor Sysoev is at rambler-co.ru
Sun Jul 27 10:26:45 MSD 2008


On Sun, Jul 27, 2008 at 09:19:52AM +0300, andrey at mail.anti-aging-drugs.com wrote:

> Актуальный конфиг pf. Проблема воспроизводится.
> 
> pass  in  proto tcp from any to any port 80 keep state
> pass  in  proto tcp from 127.0.0.1 to port 9000
> pass  out  proto tcp from 127.0.0.1 to port 9000
> pass  in  proto tcp from 127.0.0.1 to port 25 keep state
> pass  in  proto tcp from 127.0.0.1 to port 3306 keep state
> pass  in  proto icmp from 213.186.114.123 to any keep state
> pass in proto {tcp, udp} from ****  to any port 22 keep state
> pass in proto {tcp, udp} from ****  to any port 22 keep state
> pass out all keep state

В pf из OpenBSD 4.1, keep state делается по умолчанию.
Соответственно, нужно либо явно выключать его - "no state", либо
увеличивать число states - set limit { states XXXXX }.

Для 127.0.0.1 я бы без сомнений выключил:

 pass  in  proto tcp from 127.0.0.1 to port 9000 no state
 pass  out  proto tcp from 127.0.0.1 to port 9000 no state

> Вы писали Friday, May 16, 2008, 3:56:20 PM:
> 
> > On Fri, May 16, 2008 at 03:05:33PM +0300, Vladimir Rekshta wrote:
> 
> >> используется pf с такими правилами:
> >> 
> >> pass in quick on $ext_if proto tcp from < > to { }  port  {  } flags S/SA
> >> modulate state
> 
> > Нужно убрать modulate и keepstate между nginx'ом и бэкендами.


-- 
Игорь Сысоев
http://sysoev.ru





More information about the nginx-ru mailing list