Hi Brian: First very sorry for confusion, I will explain it in details. My question is: " Is it possible to configure iptables to monitor activity on socket connections, then close or block connections that haven't had any activity for a specified amount of time?" As to the individual terms, I define them as follows: Connection: Socket tcp connection Idle:socket connections haven't had any activity for a specified amount of time, for example after connection established, data is transmitted through connection in big time intervals. Drop: block and discarded the packets between two endpoints of a connection or just close the connection At least, I hope iptables can confirm whether a connection is idle or not by its rules, this is the key point of my problem. I have used conntrack of iptables, it seems not work. My rules for conntrack to trace and drop idle connection is: iptables -AINPUT -p tcp -m state --stateESTABLISHED-j ACCEPT iptables -AOUTPUT-p tcp -m state --stateNEW,ESTABLISHED-j ACCEPT iptables -AINPUT-p tcp ! --syn -m state --stateNEW-j DROP I think from conntrack's perspective, a connection is idle once the ESTABLISHED typed item in //proc/net/ip_conntrack///is removed after the timeout interval of the item. The timeout is defined in //proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_established/ , which is defaulted to 5 days, I change it to a short value for testing, such as 1 min. the linux shell command is: echo "60" > //proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_established/ The timeout for ESTABLISHED type item does works, and the item is removed after timeout, however the connection is not blocked or dropped at all. I used a simple echo alike client-server program to test. The client sends a text message to the server, the server echo the message back to the client. The socket channel between two sides is kept alive. The listening port for server is 9999. My environment is: OS: Redhat enterprise linux 5.2, kernel version 2.6.18 Iptables: v1.3.5 I attached my rules in /etc/sysconfig/iptables for reference, hope it can help. Thanks for your continuous help. On 2011-11-23 20:37, Brian J. Murrell wrote: > On 11-11-23 05:48 AM, lu zhongda wrote: >> I felt the scenario you described is not really what I want to know. > Probably because your request was unclear. > >> I want to know if there is any way to set up iptables so >> that it will drop a connection after that connection has been idle >> for a specified period of time? > Define "drop", "connection" and "idle". And why do you feel you need to > "drop" them? > >> I have tried connection tracking function of iptables, however it >> seems not work for my case. > Please explain why it doesn't. What are you trying to achieve exactly? > Perhaps a real-world use-case might help us understand. > > b. >