xtables-addons: āĻĻā§‡āĻļ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¯āĻŧā§€ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœ āĻĢāĻŋāĻ˛ā§āĻŸāĻžāĻ° āĻ•āĻ°ā§āĻ¨

xtables-addons: āĻĻā§‡āĻļ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¯āĻŧā§€ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœ āĻĢāĻŋāĻ˛ā§āĻŸāĻžāĻ° āĻ•āĻ°ā§āĻ¨
āĻ•āĻŋāĻ›ā§ āĻĻā§‡āĻļ āĻĨā§‡āĻ•ā§‡ āĻŸā§āĻ°āĻžāĻĢāĻŋāĻ• āĻŦā§āĻ˛āĻ• āĻ•āĻ°āĻžāĻ° āĻ•āĻžāĻœāĻŸāĻŋ āĻ¸āĻšāĻœ āĻŦāĻ˛ā§‡ āĻŽāĻ¨ā§‡ āĻšāĻ¯āĻŧ, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻĒā§āĻ°āĻĨāĻŽ āĻ‡āĻŽāĻĒā§āĻ°ā§‡āĻļāĻ¨ āĻĒā§āĻ°āĻ¤āĻžāĻ°āĻŖāĻžāĻŽā§‚āĻ˛āĻ• āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻ†āĻœ āĻ†āĻŽāĻ°āĻž āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻŦāĻ˛āĻŦ āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻāĻŸāĻŋ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

āĻĒā§āĻ°āĻžāĻ—āĻāĻ¤āĻŋāĻšāĻžāĻ¸āĻŋāĻ•

āĻāĻ‡ āĻŦāĻŋāĻˇāĻ¯āĻŧā§‡ āĻāĻ•āĻŸāĻŋ Google āĻ…āĻ¨ā§āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ā§‡āĻ° āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻšāĻ¤āĻžāĻļāĻžāĻœāĻ¨āĻ•: āĻŦā§‡āĻļāĻŋāĻ°āĻ­āĻžāĻ— āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻĻā§€āĻ°ā§āĻ˜āĻ•āĻžāĻ˛ āĻ§āĻ°ā§‡ "āĻĒāĻšāĻž" āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻāĻŦāĻ‚ āĻ•āĻ–āĻ¨āĻ“ āĻ•āĻ–āĻ¨āĻ“ āĻŽāĻ¨ā§‡ āĻšāĻ¯āĻŧ āĻ¯ā§‡ āĻāĻ‡ āĻŦāĻŋāĻˇāĻ¯āĻŧāĻŸāĻŋ āĻšāĻŋāĻ°āĻ¤āĻ°ā§‡ āĻ­ā§āĻ˛ā§‡ āĻ¯āĻžāĻ“āĻ¯āĻŧāĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻ†āĻŽāĻ°āĻž āĻ…āĻ¨ā§‡āĻ• āĻĒā§āĻ°āĻžāĻ¨ā§‹ āĻ°ā§‡āĻ•āĻ°ā§āĻĄā§‡āĻ° āĻŽāĻ§ā§āĻ¯ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻšāĻ˛ā§‡āĻ›āĻŋ āĻāĻŦāĻ‚ āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļāĻžāĻŦāĻ˛ā§€āĻ° āĻāĻ•āĻŸāĻŋ āĻ†āĻ§ā§āĻ¨āĻŋāĻ• āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ āĻ­āĻžāĻ— āĻ•āĻ°āĻ¤ā§‡ āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤āĨ¤

āĻ†āĻŽāĻ°āĻž āĻ¸ā§āĻĒāĻžāĻ°āĻŋāĻļ āĻ•āĻ°āĻŋ āĻ¯ā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻāĻ‡ āĻ•āĻŽāĻžāĻ¨ā§āĻĄāĻ—ā§āĻ˛āĻŋ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ° āĻ•āĻ°āĻžāĻ° āĻ†āĻ—ā§‡ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻŸāĻŋ āĻĒāĻĄāĻŧā§āĻ¨āĨ¤

āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻŋāĻ‚ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡

āĻ‡āĻ‰āĻŸāĻŋāĻ˛āĻŋāĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻĢāĻŋāĻ˛ā§āĻŸāĻžāĻ°āĻŋāĻ‚ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻž āĻšāĻŦā§‡ iptables- āĻ°, āĻ¯āĻžāĻ° āĻœāĻŋāĻ“āĻ†āĻ‡āĻĒāĻŋ āĻĄā§‡āĻŸāĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻāĻ•ā§āĻ¸āĻŸā§‡āĻ¨āĻļāĻ¨ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨āĨ¤ āĻāĻ‡ āĻāĻ•ā§āĻ¸āĻŸā§‡āĻ¨āĻļāĻ¨ āĻĒāĻžāĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻŦā§‡ xtables-addons. xtables-addons āĻ¸ā§āĻŦāĻžāĻ§ā§€āĻ¨ āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ iptables-āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•ā§āĻ¸āĻŸā§‡āĻ¨āĻļāĻ¨ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°ā§‡, āĻ¤āĻžāĻ‡ OS āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛ āĻ•āĻ°āĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻ¨ā§‡āĻ‡āĨ¤

āĻ˛ā§‡āĻ–āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, xtables-addons āĻāĻ° āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ 3.9āĨ¤ āĻ¯āĻžāĻ‡āĻšā§‹āĻ•, āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ āĻ‰āĻŦā§āĻ¨ā§āĻŸā§ 20.04 āĻāĻ˛āĻŸāĻŋāĻāĻ¸ āĻ°āĻŋāĻĒā§‹āĻœāĻŋāĻŸāĻ°āĻŋāĻ¤ā§‡ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° 3.8 āĻāĻŦāĻ‚ āĻ‰āĻŦā§āĻ¨ā§āĻŸā§ 18.04 āĻ°āĻŋāĻĒā§‹āĻœāĻŋāĻŸāĻ°āĻŋāĻ¤ā§‡ 3.0 āĻĒāĻžāĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻŦā§‡āĨ¤ āĻ†āĻĒāĻ¨āĻŋ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ•āĻŽāĻžāĻ¨ā§āĻĄā§‡āĻ° āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ā§‡ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœ āĻŽā§āĻ¯āĻžāĻ¨ā§‡āĻœāĻžāĻ° āĻĨā§‡āĻ•ā§‡ āĻāĻ•ā§āĻ¸āĻŸā§‡āĻ¨āĻļāĻ¨āĻŸāĻŋ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨:

apt install xtables-addons-common libtext-csv-xs-perl

āĻ¨ā§‹āĻŸ āĻ•āĻ°ā§āĻ¨ āĻ¯ā§‡ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ 3.9 āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒā§‡āĻ° āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨ āĻ…āĻŦāĻ¸ā§āĻĨāĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ›ā§‹āĻŸ āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ—ā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ āĻĒāĻžāĻ°ā§āĻĨāĻ•ā§āĻ¯ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡, āĻ¯āĻž āĻ†āĻŽāĻ°āĻž āĻĒāĻ°ā§‡ āĻ†āĻ˛ā§‹āĻšāĻ¨āĻž āĻ•āĻ°āĻŦāĨ¤ āĻ¸ā§‹āĻ°ā§āĻ¸ āĻ•ā§‹āĻĄ āĻĨā§‡āĻ•ā§‡ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡, āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°ā§āĻ¨:

apt install git build-essential autoconf make libtool iptables-dev libxtables-dev pkg-config libnet-cidr-lite-perl libtext-csv-xs-perl

āĻ¸āĻ‚āĻ—ā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ āĻ•ā§āĻ˛ā§‹āĻ¨ āĻ•āĻ°ā§āĻ¨:

git clone https://git.code.sf.net/p/xtables-addons/xtables-addons xtables-addons-xtables-addons

cd xtables-addons-xtables-addons

xtables-addons-āĻ āĻ…āĻ¨ā§‡āĻ• āĻāĻ•ā§āĻ¸āĻŸā§‡āĻ¨āĻļāĻ¨ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ†āĻŽāĻ°āĻž āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ†āĻ—ā§āĻ°āĻšā§€ xt_geoip. āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡ āĻ…āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻāĻ•ā§āĻ¸āĻŸā§‡āĻ¨āĻļāĻ¨āĻ—ā§āĻ˛āĻŋ āĻŸā§‡āĻ¨ā§‡ āĻ†āĻ¨āĻ¤ā§‡ āĻ¨āĻž āĻšāĻžāĻ¨ āĻ¤āĻŦā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻŦāĻŋāĻ˛ā§āĻĄ āĻĨā§‡āĻ•ā§‡ āĻŦāĻžāĻĻ āĻĻāĻŋāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤ āĻāĻŸāĻŋ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻĢāĻžāĻ‡āĻ˛āĻŸāĻŋ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨āĻž āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ mconfig. āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒāĻ›āĻ¨ā§āĻĻāĻ¸āĻ‡ āĻŽāĻĄāĻŋāĻ‰āĻ˛āĻ—ā§āĻ˛āĻŋāĻ° āĻœāĻ¨ā§āĻ¯, āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°ā§āĻ¨ y, āĻāĻŦāĻ‚ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ…āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻšāĻŋāĻšā§āĻ¨āĻŋāĻ¤ āĻ•āĻ°ā§āĻ¨ n. āĻ†āĻŽāĻ°āĻž āĻ¸āĻ‚āĻ—ā§āĻ°āĻš āĻ•āĻ°āĻŋ:

./autogen.sh

./configure

make

āĻāĻŦāĻ‚ āĻ¸ā§āĻĒāĻžāĻ° āĻ‡āĻ‰āĻœāĻžāĻ° āĻ…āĻ§āĻŋāĻ•āĻžāĻ° āĻ¸āĻš āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°ā§āĻ¨:

make install

āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤āĻ—ā§āĻ˛āĻŋāĻ° āĻŽāĻ¤ā§‹ āĻāĻ•āĻŸāĻŋ āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻ˜āĻŸāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡:

INSTALL /root/xtables-addons-xtables-addons/extensions/xt_geoip.ko
At main.c:160:
- SSL error:02001002:system library:fopen:No such file or directory: ../crypto/bio/bss_file.c:72
- SSL error:2006D080:BIO routines:BIO_new_file:no such file: ../crypto/bio/bss_file.c:79
sign-file: certs/signing_key.pem: No such file or directory

āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻ¸ā§āĻŦāĻžāĻ•ā§āĻˇāĻ° āĻ•āĻ°āĻžāĻ° āĻ…āĻ¸āĻŽā§āĻ­āĻŦāĻ¤āĻžāĻ° āĻ•āĻžāĻ°āĻŖā§‡ āĻāĻ‡ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻ° āĻ‰āĻĻā§āĻ­āĻŦ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, āĻ•āĻžāĻ°āĻŖ āĻ¸ā§āĻŦāĻžāĻ•ā§āĻˇāĻ° āĻ•āĻ°āĻžāĻ° āĻ•āĻŋāĻ›ā§ āĻ¨ā§‡āĻ‡āĨ¤ āĻ†āĻĒāĻ¨āĻŋ āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻāĻ‡ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻŸāĻŋ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨:

cd /lib/modules/(uname -r)/build/certs

cat <<EOF > x509.genkey

[ req ]
default_bits = 4096
distinguished_name = req_distinguished_name
prompt = no
string_mask = utf8only
x509_extensions = myexts

[ req_distinguished_name ]
CN = Modules

[ myexts ]
basicConstraints=critical,CA:FALSE
keyUsage=digitalSignature
subjectKeyIdentifier=hash
authorityKeyIdentifier=keyid
EOF

openssl req -new -nodes -utf8 -sha512 -days 36500 -batch -x509 -config x509.genkey -outform DER -out signing_key.x509 -keyout signing_key.pem

āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛ āĻ•āĻ°āĻž āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻž āĻ†āĻ›ā§‡, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻāĻŸāĻŋ āĻ¸āĻ¨āĻžāĻ•ā§āĻ¤ āĻ•āĻ°ā§‡ āĻ¨āĻžāĨ¤ āĻ†āĻ¸ā§āĻ¨ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽāĻŸāĻŋāĻ•ā§‡ āĻ¨āĻ¤ā§āĻ¨ āĻŽāĻĄāĻŋāĻ‰āĻ˛āĻŸāĻŋ āĻŦāĻŋāĻŦā§‡āĻšāĻ¨āĻžāĻ¯āĻŧ āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻ­āĻ°āĻ¤āĻž āĻŽāĻžāĻ¨āĻšāĻŋāĻ¤ā§āĻ° āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻŦāĻ˛āĻŋ āĻāĻŦāĻ‚ āĻ¤āĻžāĻ°āĻĒāĻ°ā§‡ āĻāĻŸāĻŋ āĻ˛ā§‹āĻĄ āĻ•āĻ°ā§āĻ¨:

depmod -a

modprobe xt_geoip

āĻ†āĻ¸ā§āĻ¨ āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻ•āĻ°āĻŋ āĻ¯ā§‡ xt_geoip āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡ āĻ˛ā§‹āĻĄ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡:

# lsmod | grep xt_geoip
xt_geoip               16384  0
x_tables               40960  2 xt_geoip,ip_tables

āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤āĻ­āĻžāĻŦā§‡, āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻ•āĻ°ā§āĻ¨ āĻ¯ā§‡ āĻāĻ•ā§āĻ¸āĻŸā§‡āĻ¨āĻļāĻ¨āĻŸāĻŋ iptables āĻ āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡:

# cat /proc/net/ip_tables_matches 
geoip
icmp

āĻ†āĻŽāĻ°āĻž āĻ¸āĻŦāĻ•āĻŋāĻ›ā§ āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻ–ā§āĻļāĻŋ āĻāĻŦāĻ‚ āĻ¯āĻž āĻŦāĻžāĻ•āĻŋ āĻĨāĻžāĻ•ā§‡ āĻ¤āĻž āĻšāĻ˛ āĻŽāĻĄāĻŋāĻ‰āĻ˛ā§‡āĻ° āĻ¨āĻžāĻŽ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž / āĻ‡āĻ¤ā§āĻ¯āĻžāĻĻāĻŋ / āĻŽāĻĄāĻŋāĻ‰āĻ˛āĻ¯āĻžāĻ¤ā§‡ āĻŽāĻĄāĻŋāĻ‰āĻ˛āĻŸāĻŋ OS āĻ°āĻŋāĻŦā§āĻŸ āĻ•āĻ°āĻžāĻ° āĻĒāĻ°ā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡āĨ¤ āĻāĻ–āĻ¨ āĻĨā§‡āĻ•ā§‡, iptables geoip āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻŦā§‹āĻā§‡, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻāĻŸāĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĒāĻ°ā§āĻ¯āĻžāĻĒā§āĻ¤ āĻĄā§‡āĻŸāĻž āĻ¨ā§‡āĻ‡āĨ¤ āĻœāĻŋāĻ“āĻ†āĻ‡āĻĒāĻŋ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻž āĻļā§āĻ°ā§ āĻ•āĻ°āĻž āĻ¯āĻžāĻ•āĨ¤

āĻœāĻŋāĻ“āĻ†āĻ‡āĻĒāĻŋ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ āĻĒāĻžāĻ“āĻ¯āĻŧāĻž

āĻ†āĻŽāĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŋ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ iptables āĻāĻ•ā§āĻ¸āĻŸā§‡āĻ¨āĻļāĻ¨ā§‡ āĻŦā§‹āĻ§āĻ—āĻŽā§āĻ¯ āĻ¤āĻĨā§āĻ¯ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻž āĻšāĻŦā§‡:

mkdir /usr/share/xt_geoip

āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ā§‡āĻ° āĻļā§āĻ°ā§āĻ¤ā§‡, āĻ†āĻŽāĻ°āĻž āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ– āĻ•āĻ°ā§‡āĻ›āĻŋ āĻ¯ā§‡ āĻ‰āĻ¤ā§āĻ¸ āĻ•ā§‹āĻĄ āĻĨā§‡āĻ•ā§‡ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ āĻāĻŦāĻ‚ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœ āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻ•ā§‡āĻ° āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻĒāĻžāĻ°ā§āĻĨāĻ•ā§āĻ¯ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ā§ˇ āĻ¸āĻŦāĻšā§‡āĻ¯āĻŧā§‡ āĻ˛āĻ•ā§āĻˇāĻŖā§€āĻ¯āĻŧ āĻĒāĻžāĻ°ā§āĻĨāĻ•ā§āĻ¯ āĻšāĻ˛ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ āĻŦāĻŋāĻ•ā§āĻ°ā§‡āĻ¤āĻž āĻāĻŦāĻ‚ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸā§‡āĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ xt_geoip_dl, āĻ¯āĻž āĻ¸āĻ°ā§āĻŦāĻļā§‡āĻˇ āĻĄā§‡āĻŸāĻž āĻĄāĻžāĻ‰āĻ¨āĻ˛ā§‹āĻĄ āĻ•āĻ°ā§‡āĨ¤

āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœ āĻŽā§āĻ¯āĻžāĻ¨ā§‡āĻœāĻžāĻ° āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ

āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸāĻŸāĻŋ āĻĒāĻžāĻĨ /usr/lib/xtables-addons-āĻ āĻ…āĻŦāĻ¸ā§āĻĨāĻŋāĻ¤, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻ–āĻ¨ āĻāĻŸāĻŋ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°āĻŦā§‡āĻ¨, āĻ†āĻĒāĻ¨āĻŋ āĻāĻ•āĻŸāĻŋ āĻ–ā§āĻŦ āĻ¤āĻĨā§āĻ¯āĻĒā§‚āĻ°ā§āĻŖ āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻŦā§‡āĻ¨ āĻ¨āĻž:

# ./xt_geoip_dl 
unzip:  cannot find or open GeoLite2-Country-CSV.zip, GeoLite2-Country-CSV.zip.zip or GeoLite2-Country-CSV.zip.ZIP.

āĻĒā§‚āĻ°ā§āĻŦā§‡, āĻœāĻŋāĻ“āĻ˛āĻžāĻ‡āĻŸ āĻĒāĻŖā§āĻ¯, āĻ¯āĻž āĻāĻ–āĻ¨ āĻœāĻŋāĻ“āĻ˛āĻžāĻ‡āĻŸ āĻ˛āĻŋāĻ—ā§āĻ¯āĻžāĻ¸āĻŋ āĻ¨āĻžāĻŽā§‡ āĻĒāĻ°āĻŋāĻšāĻŋāĻ¤, āĻ˛āĻžāĻ‡āĻ¸ā§‡āĻ¨ā§āĻ¸ā§‡āĻ° āĻ…āĻ§ā§€āĻ¨ā§‡ āĻŦāĻŋāĻ¤āĻ°āĻŖ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛, āĻāĻ•āĻŸāĻŋ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻšāĻ¤ āĻ•ā§āĻ°āĻŋāĻ¯āĻŧā§‡āĻŸāĻŋāĻ­ āĻ•āĻŽāĻ¨ā§āĻ¸ ASA 4.0 āĻ•ā§‹āĻŽā§āĻĒāĻžāĻ¨ā§€ MaxMind. āĻāĻ‡ āĻĒāĻŖā§āĻ¯āĻŸāĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻāĻ•āĻŦāĻžāĻ°ā§‡ āĻĻā§āĻŸāĻŋ āĻ‡āĻ­ā§‡āĻ¨ā§āĻŸ āĻ˜āĻŸā§‡āĻ›ā§‡ āĻ¯āĻž iptables āĻāĻ•ā§āĻ¸āĻŸā§‡āĻ¨āĻļāĻ¨ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻžāĻŽāĻžā§āĻœāĻ¸ā§āĻ¯āĻ¤āĻž "āĻ­āĻžāĻ™ā§āĻ—āĻž" āĻ•āĻ°ā§‡āĻ›ā§‡āĨ¤

āĻĒā§āĻ°āĻĨāĻŽāĻ¤, 2018 āĻ¸āĻžāĻ˛ā§‡āĻ° āĻœāĻžāĻ¨ā§āĻ¯āĻŧāĻžāĻ°āĻŋāĻ¤ā§‡ āĻ˜ā§‹āĻˇāĻŖāĻž āĻĒāĻŖā§āĻ¯āĻŸāĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻŦāĻ¨ā§āĻ§ āĻ•āĻ°āĻžāĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧā§‡, āĻāĻŦāĻ‚ 2019 āĻœāĻžāĻ¨ā§āĻ¯āĻŧāĻžāĻ°ā§€, 2 āĻ¤āĻžāĻ°āĻŋāĻ–ā§‡, āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡āĻ° āĻĒā§āĻ°āĻžāĻ¨ā§‹ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ āĻĄāĻžāĻ‰āĻ¨āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ˛āĻŋāĻ™ā§āĻ• āĻ…āĻĢāĻŋāĻ¸āĻŋāĻ¯āĻŧāĻžāĻ˛ āĻ“āĻ¯āĻŧā§‡āĻŦāĻ¸āĻžāĻ‡āĻŸ āĻĨā§‡āĻ•ā§‡ āĻ¸āĻ°āĻžāĻ¨ā§‹ āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛āĨ¤ āĻ¨āĻ¤ā§āĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻĻā§‡āĻ° GeoLite2 āĻĒāĻŖā§āĻ¯ āĻŦāĻž āĻāĻ° āĻ…āĻ°ā§āĻĨāĻĒā§āĻ°āĻĻāĻ¤ā§āĻ¤ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ GeoIPXNUMX āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻĒāĻ°āĻžāĻŽāĻ°ā§āĻļ āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻšāĻšā§āĻ›ā§‡āĨ¤

āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧāĻ¤, āĻĄāĻŋāĻ¸ā§‡āĻŽā§āĻŦāĻ° 2019 āĻĨā§‡āĻ•ā§‡ MaxMind āĻ¤āĻŋāĻ¨āĻŋ āĻŦāĻ˛ā§‡āĻ›āĻŋāĻ˛ā§‡āĻ¨ āĻ¤āĻžāĻĻā§‡āĻ° āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ–āĻ¯ā§‹āĻ—ā§āĻ¯ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡āĨ¤ āĻ•ā§āĻ¯āĻžāĻ˛āĻŋāĻĢā§‹āĻ°ā§āĻ¨āĻŋāĻ¯āĻŧāĻž āĻ•āĻ¨āĻœāĻŋāĻ‰āĻŽāĻžāĻ° āĻĒā§āĻ°āĻžāĻ‡āĻ­ā§‡āĻ¸āĻŋ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻŸ āĻŽā§‡āĻ¨ā§‡ āĻšāĻ˛āĻžāĻ° āĻœāĻ¨ā§āĻ¯, MaxMind āĻ°ā§‡āĻœāĻŋāĻ¸ā§āĻŸā§āĻ°ā§‡āĻļāĻ¨ āĻ¸āĻš GeoLite2 āĻāĻ° āĻŦāĻŋāĻ¤āĻ°āĻŖāĻ•ā§‡ "āĻ•āĻ­āĻžāĻ°" āĻ•āĻ°āĻžāĻ° āĻ¸āĻŋāĻĻā§āĻ§āĻžāĻ¨ā§āĻ¤ āĻ¨āĻŋāĻ¯āĻŧā§‡āĻ›ā§‡ā§ˇ

āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻ†āĻŽāĻ°āĻž āĻ¤āĻžāĻĻā§‡āĻ° āĻĒāĻŖā§āĻ¯ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ‡, āĻ†āĻŽāĻ°āĻž āĻāĻ‡ āĻĒā§ƒāĻˇā§āĻ āĻžāĻ¯āĻŧ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻ¨ āĻ•āĻ°āĻŦāĨ¤

xtables-addons: āĻĻā§‡āĻļ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¯āĻŧā§€ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœ āĻĢāĻŋāĻ˛ā§āĻŸāĻžāĻ° āĻ•āĻ°ā§āĻ¨
āĻ¤āĻžāĻ°āĻĒāĻ°ā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻāĻ•āĻŸāĻŋ āĻĒāĻžāĻ¸āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻ‡āĻŽā§‡āĻ˛ āĻĒāĻžāĻŦā§‡āĻ¨āĨ¤ āĻāĻ–āĻ¨ āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻ†āĻŽāĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻ…ā§āĻ¯āĻžāĻ•āĻžāĻ‰āĻ¨ā§āĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡āĻ›āĻŋ, āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ˛āĻžāĻ‡āĻ¸ā§‡āĻ¨ā§āĻ¸ āĻ•ā§€ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤ āĻ†āĻĒāĻ¨āĻžāĻ° āĻŦā§āĻ¯āĻ•ā§āĻ¤āĻŋāĻ—āĻ¤ āĻ…ā§āĻ¯āĻžāĻ•āĻžāĻ‰āĻ¨ā§āĻŸā§‡ āĻ†āĻŽāĻ°āĻž āĻ†āĻ‡āĻŸā§‡āĻŽāĻŸāĻŋ āĻ–ā§āĻāĻœā§‡ āĻĒāĻžāĻ‡ āĻ†āĻŽāĻžāĻ° āĻ˛āĻžāĻ‡āĻ¸ā§‡āĻ¨ā§āĻ¸ āĻ•ā§€, āĻāĻŦāĻ‚ āĻ¤āĻžāĻ°āĻĒāĻ° āĻŦā§‹āĻ¤āĻžāĻŽā§‡ āĻ•ā§āĻ˛āĻŋāĻ• āĻ•āĻ°ā§āĻ¨ āĻ¨āĻ¤ā§āĻ¨ āĻ˛āĻžāĻ‡āĻ¸ā§‡āĻ¨ā§āĻ¸ āĻ•ā§€ āĻœā§‡āĻ¨āĻžāĻ°ā§‡āĻŸ āĻ•āĻ°ā§āĻ¨.

āĻāĻ•āĻŸāĻŋ āĻ•ā§€ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻļā§āĻ¨ āĻ•āĻ°āĻž āĻšāĻŦā§‡: āĻ†āĻŽāĻ°āĻž āĻ•āĻŋ āĻœāĻŋāĻ“āĻ†āĻ‡āĻĒāĻŋ āĻ†āĻĒāĻĄā§‡āĻŸ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽā§‡ āĻāĻ‡ āĻ•ā§€ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŦ? āĻ†āĻŽāĻ°āĻž āĻ¨ā§‡āĻ¤āĻŋāĻŦāĻžāĻšāĻ• āĻ‰āĻ¤ā§āĻ¤āĻ° āĻāĻŦāĻ‚ āĻŦā§‹āĻ¤āĻžāĻŽ āĻŸāĻŋāĻĒā§āĻ¨ āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻ•āĻ°āĻž. āĻ•ā§€āĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻĒāĻĒ-āĻ†āĻĒ āĻ‰āĻ‡āĻ¨ā§āĻĄā§‹āĻ¤ā§‡ āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻŋāĻ¤ āĻšāĻŦā§‡āĨ¤ āĻāĻ‡ āĻ•ā§€āĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°āĻžāĻĒāĻĻ āĻ¸ā§āĻĨāĻžāĻ¨ā§‡ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°ā§āĻ¨, āĻ†āĻĒāĻ¨āĻŋ āĻāĻ•āĻŦāĻžāĻ° āĻĒāĻĒ-āĻ†āĻĒ āĻ‰āĻ‡āĻ¨ā§āĻĄā§‹ āĻŦāĻ¨ā§āĻ§ āĻ•āĻ°āĻ˛ā§‡, āĻ†āĻĒāĻ¨āĻŋ āĻ†āĻ° āĻĒā§āĻ°ā§‹ āĻ•ā§€āĻŸāĻŋ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŦā§‡āĻ¨ āĻ¨āĻžāĨ¤

xtables-addons: āĻĻā§‡āĻļ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¯āĻŧā§€ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœ āĻĢāĻŋāĻ˛ā§āĻŸāĻžāĻ° āĻ•āĻ°ā§āĻ¨
āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ•āĻžāĻ›ā§‡ GeoLite2 āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¯āĻŧāĻžāĻ˛āĻŋ āĻĄāĻžāĻ‰āĻ¨āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻžāĻ° āĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻ†āĻ›ā§‡, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ¤āĻžāĻĻā§‡āĻ° āĻĢāĻ°ā§āĻŽā§āĻ¯āĻžāĻŸ xt_geoip_build āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻļāĻŋāĻ¤ āĻĢāĻ°ā§āĻŽā§āĻ¯āĻžāĻŸā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻžāĻŽāĻžā§āĻœāĻ¸ā§āĻ¯āĻĒā§‚āĻ°ā§āĻŖ āĻ¨āĻ¯āĻŧā§ˇ āĻāĻ–āĻžāĻ¨ā§‡āĻ‡ GeoLite2xtables āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸāĻ—ā§āĻ˛āĻŋ āĻ‰āĻĻā§āĻ§āĻžāĻ°ā§‡ āĻ†āĻ¸ā§‡ā§ˇ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻœāĻ¨ā§āĻ¯, NetAddr::IP āĻĒāĻžāĻ°ā§āĻ˛ āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°ā§āĻ¨:

wget https://cpan.metacpan.org/authors/id/M/MI/MIKER/NetAddr-IP-4.079.tar.gz

tar xvf NetAddr-IP-4.079.tar.gz

cd NetAddr-IP-4.079

perl Makefile.PL

make

make install

āĻāĻ°āĻĒāĻ°ā§‡, āĻ†āĻŽāĻ°āĻž āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻ¸āĻš āĻ¸āĻ‚āĻ—ā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ āĻ•ā§āĻ˛ā§‹āĻ¨ āĻ•āĻ°āĻŋ āĻāĻŦāĻ‚ āĻāĻ•āĻŸāĻŋ āĻĢāĻžāĻ‡āĻ˛ā§‡ āĻĒā§‚āĻ°ā§āĻŦā§‡ āĻĒā§āĻ°āĻžāĻĒā§āĻ¤ āĻ˛āĻžāĻ‡āĻ¸ā§‡āĻ¨ā§āĻ¸ āĻ•ā§€ āĻ˛āĻŋāĻ–āĻŋ:

git clone https://github.com/mschmitt/GeoLite2xtables.git

cd GeoLite2xtables

echo YOUR_LICENSE_KEY=’123ertyui123' > geolite2.license

āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻ°āĻžāĻ¨ āĻ•āĻ°āĻž āĻ¯āĻžāĻ•:

# ĐĄĐēĐ°Ņ‡Đ¸Đ˛Đ°ĐĩĐŧ Đ´Đ°ĐŊĐŊŅ‹Đĩ GeoLite2
./00_download_geolite2
# ĐĄĐēĐ°Ņ‡Đ¸Đ˛Đ°ĐĩĐŧ иĐŊŅ„ĐžŅ€ĐŧĐ°Ņ†Đ¸ŅŽ Đž ŅŅ‚Ņ€Đ°ĐŊĐ°Ņ… (Đ´ĐģŅ ŅĐžĐžŅ‚вĐĩŅ‚ŅŅ‚виŅ ĐēОдŅƒ)
./10_download_countryinfo
# КоĐŊвĐĩŅ€Ņ‚иŅ€ŅƒĐĩĐŧ GeoLite2 йаСŅƒ в Ņ„ĐžŅ€ĐŧĐ°Ņ‚ GeoLite Legacy 
cat /tmp/GeoLite2-Country-Blocks-IPv{4,6}.csv |
./20_convert_geolite2 /tmp/CountryInfo.txt > /usr/share/xt_geoip/dbip-country-lite.csv

āĻŽā§āĻ¯āĻžāĻ•ā§āĻ¸āĻŽāĻžāĻ‡āĻ¨ā§āĻĄ āĻĒā§āĻ°āĻ¤āĻŋāĻĻāĻŋāĻ¨ 2000 āĻĄāĻžāĻ‰āĻ¨āĻ˛ā§‹āĻĄā§‡āĻ° āĻ¸ā§€āĻŽāĻž āĻ†āĻ°ā§‹āĻĒ āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻšā§āĻ° āĻ¸āĻ‚āĻ–ā§āĻ¯āĻ• āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ° āĻ¸āĻš, āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻ•ā§āĻ¸āĻŋ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ°ā§‡ āĻ†āĻĒāĻĄā§‡āĻŸ āĻ•ā§āĻ¯āĻžāĻļā§‡ āĻ•āĻ°āĻžāĻ° āĻĒā§āĻ°āĻ¸ā§āĻ¤āĻžāĻŦ āĻĻā§‡āĻ¯āĻŧāĨ¤

āĻ…āĻ¨ā§āĻ—ā§āĻ°āĻš āĻ•āĻ°ā§‡ āĻŽāĻ¨ā§‡ āĻ°āĻžāĻ–āĻŦā§‡āĻ¨ āĻ¯ā§‡ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻĢāĻžāĻ‡āĻ˛āĻŸāĻŋ āĻ…āĻŦāĻļā§āĻ¯āĻ‡ āĻ•āĻ˛ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ dbip-country-lite.csv... āĻĻā§āĻ°ā§āĻ­āĻžāĻ—ā§āĻ¯āĻ•ā§āĻ°āĻŽā§‡, 20_āĻ°ā§‚āĻĒāĻžāĻ¨ā§āĻ¤āĻ°_āĻœāĻŋāĻ“āĻ˛āĻžāĻ‡āĻŸ2 āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ–ā§āĻāĻ¤ āĻĢāĻžāĻ‡āĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡ āĻ¨āĻžāĨ¤ āĻ˛āĻŋāĻĒāĻŋ xt_geoip_build āĻ¤āĻŋāĻ¨āĻŸāĻŋ āĻ•āĻ˛āĻžāĻŽ āĻ†āĻļāĻž āĻ•āĻ°ā§‡:

  • āĻ āĻŋāĻ•āĻžāĻ¨āĻž āĻĒāĻ°āĻŋāĻ¸ā§€āĻŽāĻž āĻļā§āĻ°ā§;
  • āĻ āĻŋāĻ•āĻžāĻ¨āĻž āĻĒāĻ°āĻŋāĻ¸ā§€āĻŽāĻž āĻļā§‡āĻˇ;
  • āĻĻā§‡āĻļā§‡āĻ° āĻ•ā§‹āĻĄ iso-3166-alpha2āĨ¤

āĻāĻŦāĻ‚ āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻĢāĻžāĻ‡āĻ˛āĻŸāĻŋāĻ¤ā§‡ āĻ›āĻ¯āĻŧāĻŸāĻŋ āĻ•āĻ˛āĻžāĻŽ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡:

  • āĻ āĻŋāĻ•āĻžāĻ¨āĻž āĻĒāĻ°āĻŋāĻ¸āĻ°ā§‡āĻ° āĻļā§āĻ°ā§ (āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚ āĻ‰āĻĒāĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻž);
  • āĻ āĻŋāĻ•āĻžāĻ¨āĻž āĻĒāĻ°āĻŋāĻ¸āĻ°ā§‡āĻ° āĻļā§‡āĻˇ (āĻ¸ā§āĻŸā§āĻ°āĻŋāĻ‚ āĻ‰āĻĒāĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻž);
  • āĻ āĻŋāĻ•āĻžāĻ¨āĻž āĻĒāĻ°āĻŋāĻ¸āĻ°ā§‡āĻ° āĻļā§āĻ°ā§ (āĻ¸āĻžāĻ‚āĻ–ā§āĻ¯āĻŋāĻ• āĻ‰āĻĒāĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻž);
  • āĻ āĻŋāĻ•āĻžāĻ¨āĻž āĻĒāĻ°āĻŋāĻ¸āĻ°ā§‡āĻ° āĻļā§‡āĻˇ (āĻ¸āĻžāĻ‚āĻ–ā§āĻ¯āĻŋāĻ• āĻ‰āĻĒāĻ¸ā§āĻĨāĻžāĻĒāĻ¨āĻž);
  • āĻĻā§‡āĻļā§‡āĻ° āĻ•ā§‹āĻĄ;
  • āĻĻā§‡āĻļā§‡āĻ° āĻ¨āĻžāĻŽāĨ¤

āĻāĻ‡ āĻ…āĻ¸āĻ™ā§āĻ—āĻ¤āĻŋāĻŸāĻŋ āĻ—ā§āĻ°ā§āĻ¤āĻ° āĻāĻŦāĻ‚ āĻĻā§āĻŸāĻŋ āĻ‰āĻĒāĻžāĻ¯āĻŧā§‡āĻ° āĻāĻ•āĻŸāĻŋāĻ¤ā§‡ āĻ¸āĻ‚āĻļā§‹āĻ§āĻ¨ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡:

  1. āĻ¨āĻŋāĻ¯āĻŧāĻŽ 20_āĻ°ā§‚āĻĒāĻžāĻ¨ā§āĻ¤āĻ°_āĻœāĻŋāĻ“āĻ˛āĻžāĻ‡āĻŸ2;
  2. āĻ¨āĻŋāĻ¯āĻŧāĻŽ xt_geoip_build.

āĻĒā§āĻ°āĻĨāĻŽ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻ†āĻŽāĻ°āĻž āĻ•āĻŽāĻŋāĻ¯āĻŧā§‡ āĻĻā§‡āĻ‡ printf, āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻŦāĻŋāĻ¨ā§āĻ¯āĻžāĻ¸ā§‡, āĻāĻŦāĻ‚ āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧāĻŸāĻŋāĻ¤ā§‡ - āĻ†āĻŽāĻ°āĻž āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ā§‡ āĻ…ā§āĻ¯āĻžāĻ¸āĻžāĻ‡āĻ¨āĻŽā§‡āĻ¨ā§āĻŸ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻŋ $cc āĻ‰āĻĒāĻ° $row->[4]. āĻāĻ° āĻĒāĻ°ā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨:

/usr/lib/xtables-addons/xt_geoip_build -S /usr/share/xt_geoip/ -D /usr/share/xt_geoip

. . .
 2239 IPv4 ranges for ZA
  348 IPv6 ranges for ZA
   56 IPv4 ranges for ZM
   12 IPv6 ranges for ZM
   56 IPv4 ranges for ZW
   15 IPv6 ranges for ZW

āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ–ā§āĻ¯, āĻ˛ā§‡āĻ–āĻ• āĻĄ GeoLite2xtables āĻĒā§āĻ°āĻ¯ā§‹āĻœāĻ¨āĻž āĻāĻŦāĻ‚ āĻ…āĻĢāĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤ āĻ¤āĻžāĻ° āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻŦāĻŋāĻŦā§‡āĻšāĻ¨āĻž āĻ•āĻ°ā§‡ āĻ¨āĻž āĻŸā§āĻ°ā§āĻ¯āĻžāĻ• āĻŽā§‚āĻ˛ xt_geoip_* āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸāĻ—ā§āĻ˛āĻŋāĻ° āĻŦāĻŋāĻ•āĻžāĻļā§‡āĻ° āĻœāĻ¨ā§āĻ¯āĨ¤ āĻ…āĻ¤āĻāĻŦ, āĻ¸ā§‹āĻ°ā§āĻ¸ āĻ•ā§‹āĻĄāĻ—ā§āĻ˛āĻŋ āĻĨā§‡āĻ•ā§‡ āĻ¸āĻŽāĻžāĻŦā§‡āĻļā§‡ āĻ¯āĻžāĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻ•, āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻāĻ‡ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸāĻ—ā§āĻ˛āĻŋ āĻ‡āĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§‡ āĻ†āĻĒāĻĄā§‡āĻŸ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤

āĻ‰ā§ŽāĻ¸ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ

āĻ¸ā§‹āĻ°ā§āĻ¸ āĻ•ā§‹āĻĄ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻĨā§‡āĻ•ā§‡ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ xt_geoip_* āĻ•ā§āĻ¯āĻžāĻŸāĻžāĻ˛āĻ—ā§‡ āĻ…āĻŦāĻ¸ā§āĻĨāĻŋāĻ¤ /usr/local/libexec/xtables-addons. āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸā§‡āĻ° āĻāĻ‡ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ†āĻ‡āĻĒāĻŋ āĻĨā§‡āĻ•ā§‡ āĻ•āĻžāĻ¨ā§āĻŸā§āĻ°āĻŋ āĻ˛āĻžāĻ‡āĻŸ. āĻ˛āĻžāĻ‡āĻ¸ā§‡āĻ¨ā§āĻ¸āĻŸāĻŋ āĻ•ā§āĻ°āĻŋāĻ¯āĻŧā§‡āĻŸāĻŋāĻ­ āĻ•āĻŽāĻ¨ā§āĻ¸ āĻ…ā§āĻ¯āĻžāĻŸā§āĻ°āĻŋāĻŦāĻŋāĻ‰āĻļāĻ¨ āĻ˛āĻžāĻ‡āĻ¸ā§‡āĻ¨ā§āĻ¸, āĻāĻŦāĻ‚ āĻ‰āĻĒāĻ˛āĻŦā§āĻ§ āĻĄā§‡āĻŸāĻž āĻĨā§‡āĻ•ā§‡ āĻ–ā§āĻŦ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻ¤āĻŋāĻ¨āĻŸāĻŋ āĻ•āĻ˛āĻžāĻŽ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ āĻĄāĻžāĻ‰āĻ¨āĻ˛ā§‹āĻĄ āĻāĻŦāĻ‚ āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤ āĻ•āĻ°ā§āĻ¨:

cd /usr/share/xt_geoip/

/usr/local/libexec/xtables-addons/xt_geoip_dl

/usr/local/libexec/xtables-addons/xt_geoip_build

āĻāĻ‡ āĻĒāĻĻāĻ•ā§āĻˇā§‡āĻĒā§‡āĻ° āĻĒāĻ°ā§‡, iptables āĻ•āĻžāĻœ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤āĨ¤

iptables āĻ geoip āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž

āĻŽāĻĄāĻŋāĻ‰āĻ˛ xt_geoip āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻĻā§āĻŸāĻŋ āĻ•ā§€ āĻ¯ā§‹āĻ— āĻ•āĻ°ā§‡:

geoip match options:
[!] --src-cc, --source-country country[,country...]
	Match packet coming from (one of) the specified country(ies)
[!] --dst-cc, --destination-country country[,country...]
	Match packet going to (one of) the specified country(ies)

NOTE: The country is inputed by its ISO3166 code.

iptables āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¨āĻŋāĻ¯āĻŧāĻŽ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻžāĻ° āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ—ā§āĻ˛āĻŋ, āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ­āĻžāĻŦā§‡, āĻ…āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻĨāĻžāĻ•ā§‡āĨ¤ āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻĨā§‡āĻ•ā§‡ āĻ•ā§€ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡, āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ…āĻŦāĻļā§āĻ¯āĻ‡ -m āĻ¸ā§āĻ‡āĻšā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻŽāĻĄāĻŋāĻ‰āĻ˛ā§‡āĻ° āĻ¨āĻžāĻŽ āĻ¸ā§āĻĒāĻˇā§āĻŸāĻ­āĻžāĻŦā§‡ āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ– āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ā§‡ USA āĻĨā§‡āĻ•ā§‡ āĻ¨āĻ¯āĻŧ āĻĒā§‹āĻ°ā§āĻŸ 443-āĻ āĻ‡āĻ¨āĻ•āĻžāĻŽāĻŋāĻ‚ TCP āĻ¸āĻ‚āĻ¯ā§‹āĻ—āĻ—ā§āĻ˛āĻŋ āĻŦā§āĻ˛āĻ• āĻ•āĻ°āĻžāĻ° āĻ¨āĻŋāĻ¯āĻŧāĻŽ:

iptables -I INPUT ! -i lo -p tcp --dport 443 -m geoip ! --src-cc US -j DROP

xt_geoip_build āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¤ā§ˆāĻ°āĻŋ āĻĢāĻžāĻ‡āĻ˛āĻ—ā§āĻ˛āĻŋ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¨āĻŋāĻ¯āĻŧāĻŽ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻĢāĻŋāĻ˛ā§āĻŸāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻŦāĻŋāĻŦā§‡āĻšāĻ¨āĻžāĻ¯āĻŧ āĻ¨ā§‡āĻ“āĻ¯āĻŧāĻž āĻšāĻ¯āĻŧ āĻ¨āĻžāĨ¤ āĻāĻ‡āĻ­āĻžāĻŦā§‡, āĻ¸āĻ āĻŋāĻ•āĻ­āĻžāĻŦā§‡ geoip āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ āĻ†āĻĒāĻĄā§‡āĻŸ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻĒā§āĻ°āĻĨāĻŽā§‡ iv* āĻĢāĻžāĻ‡āĻ˛āĻ—ā§āĻ˛āĻŋ āĻ†āĻĒāĻĄā§‡āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ āĻāĻŦāĻ‚ āĻ¤āĻžāĻ°āĻĒāĻ° iptables-āĻ geoip āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻāĻŽāĻ¨ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¨āĻŋāĻ¯āĻŧāĻŽ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤

āĻ‰āĻĒāĻ¸āĻ‚āĻšāĻžāĻ°

āĻĻā§‡āĻļāĻ—ā§āĻ˛āĻŋāĻ° āĻ‰āĻĒāĻ° āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°ā§‡ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸāĻ—ā§āĻ˛āĻŋ āĻĢāĻŋāĻ˛ā§āĻŸāĻžāĻ° āĻ•āĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻ•ā§ŒāĻļāĻ˛ āĻ¯āĻž āĻ¸āĻŽāĻ¯āĻŧā§‡āĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻ•āĻŋāĻ›ā§āĻŸāĻž āĻ­ā§āĻ˛ā§‡ āĻ¯āĻžāĻ¯āĻŧāĨ¤ āĻ¤āĻž āĻ¸āĻ¤ā§āĻ¤ā§āĻŦā§‡āĻ“, āĻāĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻĢāĻŋāĻ˛ā§āĻŸāĻžāĻ°āĻŋāĻ‚āĻ¯āĻŧā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻĢā§āĻŸāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻ¸āĻ°āĻžā§āĻœāĻžāĻŽāĻ—ā§āĻ˛āĻŋ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡ āĻāĻŦāĻ‚, āĻ¸āĻŽā§āĻ­āĻŦāĻ¤, āĻļā§€āĻ˜ā§āĻ°āĻ‡ āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻœāĻŋāĻ“āĻ†āĻ‡āĻĒāĻŋ āĻĄā§‡āĻŸāĻž āĻĒā§āĻ°āĻĻāĻžāĻ¨āĻ•āĻžāĻ°ā§€āĻ° āĻ¸āĻžāĻĨā§‡ xt_geoip-āĻāĻ° āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœ āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻ•āĻĻā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ‰āĻĒāĻ¸ā§āĻĨāĻŋāĻ¤ āĻšāĻŦā§‡, āĻ¯āĻž āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻĒā§āĻ°āĻļāĻžāĻ¸āĻ•āĻĻā§‡āĻ° āĻœā§€āĻŦāĻ¨āĻ•ā§‡ āĻŦā§āĻ¯āĻžāĻĒāĻ•āĻ­āĻžāĻŦā§‡ āĻ¸āĻšāĻœ āĻ•āĻ°āĻŦā§‡āĨ¤

xtables-addons: āĻĻā§‡āĻļ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¯āĻŧā§€ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœ āĻĢāĻŋāĻ˛ā§āĻŸāĻžāĻ° āĻ•āĻ°ā§āĻ¨

āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻŋāĻ¤ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ°āĻž āĻœāĻ°āĻŋāĻĒā§‡ āĻ…āĻ‚āĻļāĻ—ā§āĻ°āĻšāĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŦā§‡āĻ¨āĨ¤ āĻ¸āĻžāĻ‡āĻ¨ āĻ‡āĻ¨ āĻ•āĻ°ā§āĻ¨āĻ•āĻ°ā§āĻ¨āĨ¤

āĻ†āĻĒāĻ¨āĻŋ āĻ•āĻŋ āĻ•āĻ–āĻ¨ā§‹ āĻĻā§‡āĻļ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¯āĻŧā§€ āĻĢāĻŋāĻ˛ā§āĻŸāĻžāĻ°āĻŋāĻ‚ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡āĻ›ā§‡āĻ¨?

  • 59,1%āĻšā§āĻ¯āĻžāĻ 13

  • 40,9%No9

22 āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻ­ā§‹āĻŸ āĻĻāĻŋāĻ¯āĻŧā§‡āĻ›ā§‡āĻ¨āĨ¤ ā§Š āĻœāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻŦāĻŋāĻ°āĻ¤ āĻ›āĻŋāĻ˛ā§‡āĻ¨āĨ¤

āĻ‰āĻ¤ā§āĻ¸: www.habr.com

āĻāĻ•āĻŸāĻŋ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻœā§āĻĄāĻŧā§āĻ¨