On 14.02.2018 09:35, wishmaster wrote:
> The issue is with the second remote server. When I transmit a very big file, 
> the control channel does not "recreated" and transmitting this file and all 
> the next is always fails.
> 
> root@xxx: ipfw -d show|grep '111.222.0.7'
> 03200  2985778  2299927348 (300s) STATE tcp 111.222.0.253 63307 <-> 
> 111.222.0.7 44678 :nts
> 03200       59        4622 (6s) STATE tcp 111.222.0.253 63623 <-> 111.222.0.7 
> 21 :nts
> 
> root@xxx: ipfw -d show|grep '111.222.0.7'
> 03200  3137837  2414765852 (300s) STATE tcp 111.222.0.253 63307 <-> 
> 111.222.0.7 44678 :nts
> 
> The main server/router uses IPFW and in most places dynamic rules. Is 
> workaround I have added one rule on external interface:
> 
> $cmd 5153 allow log tcp from any 21 to any 1024-65535 # ipfw - ftp issue
> 
> But I want find the problem.

ipfw starts send keep-alive TCP segments when dynamic state's lifetime
is below than 20 seconds. If foreign host replies to keep-alive segment,
the state's lifetime will be bumped up to 300 seconds (by default).
Otherwise the state will be expired.

In your case I guess the foreign host doesn't reply to keep-alive
segments, probably due to it has lower value of state's lifetime. And
when your host starts sending keep-alive requests, the foreign host has
already dropped this state.

You can try to decrease net.inet.ip.fw.dyn_ack_lifetime value and
determine the value that will be enough for this host. For example, set
it to 250, 200, 150, 100.

-- 
WBR, Andrey V. Elsukov

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to