I'm running Apache 2 and after analysing the access_log I discovered that my website is visited more than 800 times a day (today 924) from majestic.co.uk bot.
The bot use this range of IP addresses:
46.4.123.172
220.241.45.142
94.22.46.23
88.198.16.153
178.137.88.101
91.194.84.106
144.76.8.132
46.4.120.3
176.9.10.227
208.107.12.128
46.4.89.35
91.230.202.131
62.210.90.118
62.16.252.183
46.4.32.75
46.4.116.197
198.27.66.194
199.58.86.206
46.165.197.142
195.154.187.115
144.76.7.107
91.121.221.15
51.254.97.22
195.154.156.209
98.218.34.60
195.154.157.47
198.27.82.146
178.202.133.84
91.179.245.81
From the range I have seen that the IP continue to change, a first thought was for me (correct if I'm wrong) to setup a rule like this on the example of the first IP address:
route add -net 46.4.123.0/24 gw 127.0.0.1 lo
This way I would block 46.4.123.1 to 46.4.123.255, but I would not work for me since every time change the IP so I need to track down and block each one.
My question is, there is a way instead of null-route the request to redirect the traffic to a domain like blocked.xxx.com where the user see "Hey you IP is blocked you cannot visit the website please if you think this is an error contact me".