источник статьи
apt-get install iptables-dev xtables-addons-common libtext-csv-xs-perl pkg-config
установка, на make install правда ругнулся но прокатило зеркало архива на мыле
в теории можно обновлять кроном содержание дабы список был актуальный хотя по линку он обновлялся полгода назад.
далее простой как 3 копецки сиснтаксис iptables
во втором варианте лесом идет только индия и штаты
собвственно для проверки гуглим freevps - поднимаем виртуалочку и тестим из каких нибудь нидерландов
===================================================================
вариант ниже не сработал просто оставлю так как он был найден ранее
может где ошибся но почему то не взлетел, либо неверная база csv файлов или прога не подсасала, не стал разбираться так как нашел способ выше
===================================================================
источник статьи
csv шки брал от сюда
apt-get install iptables-dev xtables-addons-common libtext-csv-xs-perl pkg-config
установка, на make install правда ругнулся но прокатило зеркало архива на мыле
# wget http://downloads.sourceforge.net/project/xtables-addons/Xtables-addons/xtables-addons-2.13.tar.xzдалее создаем базу Geoip и копируем ее
# tar xf xtables-addons-2.13.tar.xz
# cd xtables-addons-2.13
# ./configure
# make
# make install
# cd geoipфайлик GeoIPCountryWhois.csv он не находит по этому я качал его с гитхаба банально загуглив вот зеркало
# ./xt_geoip_dl
# ./xt_geoip_build GeoIPCountryWhois.csv
# mkdir -p /usr/share/xt_geoip/
# cp -r {BE,LE} /usr/share/xt_geoip/
в теории можно обновлять кроном содержание дабы список был актуальный хотя по линку он обновлялся полгода назад.
далее простой как 3 копецки сиснтаксис iptables
iptables -I INPUT -m geoip ! --src-cc RU -j DROPв первом варианте все кто не из россии - идут лесом
iptables -I INPUT -m geoip --src-cc IN,US -j DROP
во втором варианте лесом идет только индия и штаты
собвственно для проверки гуглим freevps - поднимаем виртуалочку и тестим из каких нибудь нидерландов
===================================================================
вариант ниже не сработал просто оставлю так как он был найден ранее
может где ошибся но почему то не взлетел, либо неверная база csv файлов или прога не подсасала, не стал разбираться так как нашел способ выше
===================================================================
csv шки брал от сюда
1 | sudo apt-get install xtables-addons-common |
This will grab the sources, build and install xtables and all its dependencies, including the xtables-addons-common and xtables-addons-dkms packages.
The next step is to download the GeoIP list as a CSV. Create and navigate to a temporary folder, say /tmp/geoip, then run the following command:
1 | sudo /usr/lib/xtables-addons/xt_geoip_dl |
This will download two CSV files, one containing the GeoIP list for IPv4 and one for IPv6. You may have to unzip them if they have been packaged as an archive.
The final step is to import this list into xtables, so it can be used by iptables. This process requires the libtext-csv-xs-perl module to digest the CSV files into the proper format.
1 | sudo aptitude install libtext-csv-xs-perl |
Finally, create a folder to stash the converted files in, and import them into xtables:
1 | sudo mkdir /usr/share/xt_geoip |
2 | sudo /usr/lib/xtables-addons/xt_geoip_build -D /usr/share/xt_geoip *.csv |
And that’s all there is to it! To test that everything went well, run the following command:
1 | iptables -m geoip --help |
If the command executes successfully, xtables with geoip has been successfully installed into iptables. Now you can block any list of countries with a simple iptables command. To block Korea, China, India, Russia, Turkey, Vietnam, Ukraine, Brazil, Venezuela, Pakistan, Saudi Arabia, Japan, Germany and Italy for example, run:
1 | iptables -A INPUT -m geoip --src-cc KR,CN,IN,SA,TR,VN,UA,BR,VE,PK,JP,DE,IT -j DROP |