I have a packet rate limit (max. 10 per seconds) which is set by my internet provider. This is a problem if I want to use the AceStream player, because if I exceed the limit I get disconnected.
How can I restrict the internet access of this program?
I tried the suggested command:
iptables -A OUTPUT -m limit --limit 10/s -j ACCEPT
but I get a fatal error message:
FATAL: Error inserting ip_tables (/lib/modules/3.2.0-67-generic/kernel/net/ipv4/netfilter/ip_tables.ko): Operation not permitted
iptables v1.4.12: can't initialize iptables table `filter': Table does not exist (do you need to insmod?)
Perhaps iptables or your kernel needs to be upgraded.
With administor rights:
sudo iptables -A OUTPUT -m limit --limit 10/s -j ACCEPT
there is no errror message anymore. But it is still not working, I get disconnected.
Is there an error in the command line? Or do I have to use other arguments of iptables?
Below is the actual message that I get, when I exceed the limits of the provider.
Up to now, I tried different approaches, but none of them didn't work.
sudo iptables -A INPUT -p tcp --syn --dport 8621 -m connlimit --connlimit-above 10 --connlimit-mask 32 -j REJECT --reject-with tcp-reset
sudo iptables -A INPUT -m state --state RELATED,ESTABLISHED -m limit --limit 9/second --limit-burst 10 -j ACCEPT
sudo iptables -A INPUT -p tcp --destination-port 8621 --syn -m state --state NEW -m limit --limit 9/s --limit-burst 10 -j ACCEPT
This approach seems not to help in order to still use the application. So, I posted another question: set connection limit via iptables .
tc
to know how to do it with that (although I know it is possible) but there is a means of doing that with cgroupspacket
limit?iptables -A OUTPUT -m limit --limit 100/s -j ACCEPT
, given a default DROP policy? Not sure abouttc
, most qdiscs do bandwidth rather than absolute packet counts. Then again, this would drop rather than delay...