APLawrence.com -  Resources for Unix and Linux Systems, Bloggers and the self-employed

Managing iptables drop lists

I've talked about my Logdropper script before. While making some changes to that script, I screwed up and accidentally blocked far more addresses than I wanted to. I could have just reset iptables entirely or rebooted, but I only wanted to get rid of the ones I just added.

Bash brace expansion helped me out (see Bash 3.00 brace expansion and Bash Brace Expansion). I can get a list of DROPS easily:


# /sbin/iptables --list -n --line-numbers | grep DROP 
5    DROP       all  --  209.51.197.0/24      0.0.0.0/0           
6    DROP       all  --  103.6.213.150        0.0.0.0/0           
7    DROP       all  --  148.251.184.96       0.0.0.0/0           
8    DROP       all  --  148.251.187.69       0.0.0.0/0           
9    DROP       all  --  173.209.49.90        0.0.0.0/0           
10   DROP       all  --  173.45.125.154       0.0.0.0/0           
11   DROP       all  --  209.190.6.194        0.0.0.0/0           
12   DROP       all  --  213.241.67.51        0.0.0.0/0           
13   DROP       all  --  49.50.69.30          0.0.0.0/0           
14   DROP       all  --  5.101.146.50         0.0.0.0/0           
15   DROP       all  --  62.210.245.47        0.0.0.0/0           
16   DROP       all  --  62.212.73.131        0.0.0.0/0           
17   DROP       all  --  68.168.114.42        0.0.0.0/0           
18   DROP       all  --  88.150.131.58        0.0.0.0/0           
19   DROP       all  --  94.229.76.218        0.0.0.0/0           
20   DROP       all  --  95.141.32.156        0.0.0.0/0     
 

I knew that the new rules started at line 8. You delete rules with "iptables -D INPUT linenumber" (assuming your DROPS are in the INPUT chain, see Understanding IPTABLES). Obviously it would be tedious to do that manually, so we will use brace expansion. However, we can't say "for i in {8..20}" because the lines will renumber after each command. Fortunately, Bash doesn't object to counting down:

for i in {20..8}; 
do iptables -D INPUT $i
done
 

Simple, right?



Got something to add? Send me email.





(OLDER)    <- More Stuff -> (NEWER)    (NEWEST)   

Printer Friendly Version

-> -> Managing iptables drop lists




Increase ad revenue 50-250% with Ezoic


More Articles by

Find me on Google+

© Anthony Lawrence



Kerio Connect Mailserver

Kerio Samepage

Kerio Control Firewall

Have you tried Searching this site?

Unix/Linux/Mac OS X support by phone, email or on-site: Support Rates

This is a Unix/Linux resource website. It contains technical articles about Unix, Linux and general computing related subjects, opinion, news, help files, how-to's, tutorials and more.

Contact us





In C++ it's harder to shoot yourself in the foot, but when you do, you blow off your whole leg. (Bjarne Stroustrup)

Once you eliminate the impossible, whatever remains, no matter how improbable, must be the truth. (Arthur Conan Doyle)







This post tagged: