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

Managing iptables drop lists


Some material is very old and may be incorrect today

© May 2015 Anthony Lawrence

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?


If you found something useful today, please consider a small donation.



Got something to add? Send me email.





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

Printer Friendly Version

->
-> Managing iptables drop lists


Inexpensive and informative Apple related e-books:

Take control of Apple TV, Second Edition

Take Control of High Sierra

Take Control of Parallels Desktop 12

Photos: A Take Control Crash Course

Digital Sharing Crash Course





More Articles by © Anthony Lawrence





Printer Friendly Version

Have you tried Searching this site?

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


Printer Friendly Version





It all sounds good from the pulpit,but come Monday morning all the sinners are back to business as usual writing crappy code. (Tony Lawrence)




Linux posts

Troubleshooting posts


This post tagged:

Bash

Scripting

Security

Troubleshooting



Unix/Linux Consultants

Skills Tests

Unix/Linux Book Reviews

My Unix/Linux Troubleshooting Book

This site runs on Linode