xtables-addons: เชฆเซ‡เชถ เชฆเซเชตเชพเชฐเชพ เชซเชฟเชฒเซเชŸเชฐ เชชเซ‡เช•เซ‡เชœเซ‹

xtables-addons: เชฆเซ‡เชถ เชฆเซเชตเชพเชฐเชพ เชซเชฟเชฒเซเชŸเชฐ เชชเซ‡เช•เซ‡เชœเซ‹
เช…เชฎเซเช• เชฆเซ‡เชถเซ‹เชจเชพ เชŸเซเชฐเชพเชซเชฟเช•เชจเซ‡ เช…เชตเชฐเซ‹เชงเชฟเชค เช•เชฐเชตเชพเชจเซเช‚ เช•เชพเชฐเซเชฏ เชธเชฐเชณ เชฒเชพเช—เซ‡ เช›เซ‡, เชชเชฐเช‚เชคเซ เชชเซเชฐเชฅเชฎ เช›เชพเชช เช›เซ‡เชคเชฐเชคเซ€ เชนเซ‹เชˆ เชถเช•เซ‡ เช›เซ‡. เช†เชœเซ‡ เช…เชฎเซ‡ เชคเชฎเชจเซ‡ เชœเชฃเชพเชตเซ€เชถเซเช‚ เช•เซ‡ เช†เชจเซ‹ เช…เชฎเชฒ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชฐเซ€ เชถเช•เชพเชฏ.

เชชเซเชฐเชพเช—เซˆเชคเชฟเชนเชพเชธเชฟเช•

เช† เชตเชฟเชทเชฏ เชชเชฐ Google เชถเซ‹เชงเชจเชพ เชชเชฐเชฟเชฃเชพเชฎเซ‹ เชจเชฟเชฐเชพเชถเชพเชœเชจเช• เช›เซ‡: เชฎเซ‹เชŸเชพเชญเชพเช—เชจเชพ เช‰เช•เซ‡เชฒเซ‹ เชฒเชพเช‚เชฌเชพ เชธเชฎเชฏเชฅเซ€ "เชธเชกเซ‡เชฒเชพ" เช›เซ‡ เช…เชจเซ‡ เช•เซ‡เชŸเชฒเซ€เช•เชตเชพเชฐ เชเชตเซเช‚ เชฒเชพเช—เซ‡ เช›เซ‡ เช•เซ‡ เช† เชตเชฟเชทเชฏ เช•เชพเชฏเชฎ เชฎเชพเชŸเซ‡ เช›เชพเชตเชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เช›เซ‡ เช…เชจเซ‡ เชญเซ‚เชฒเซ€ เช—เชฏเซ‹ เช›เซ‡. เช…เชฎเซ‡ เช˜เชฃเชพ เชฌเชงเชพ เชœเซ‚เชจเชพ เชฐเซ‡เช•เซ‹เชฐเซเชกเซเชธเชจเซ‹ เช…เชญเซเชฏเชพเชธ เช•เชฐเซเชฏเซ‹ เช›เซ‡ เช…เชจเซ‡ เชธเซ‚เชšเชจเชพเช“เชจเซเช‚ เช†เชงเซเชจเชฟเช• เชธเช‚เชธเซเช•เชฐเชฃ เชถเซ‡เชฐ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชคเซˆเชฏเชพเชฐ เช›เซ€เช.

เช…เชฎเซ‡ เชญเชฒเชพเชฎเชฃ เช•เชฐเซ€เช เช›เซ€เช เช•เซ‡ เชคเชฎเซ‡ เช† เช†เชฆเซ‡เชถเซ‹เชจเซ‹ เช…เชฎเชฒ เช•เชฐเชคเชพ เชชเชนเซ‡เชฒเชพ เช†เช–เซ‹ เชฒเซ‡เช– เชตเชพเช‚เชšเซ‹.

เช“เชชเชฐเซ‡เชŸเชฟเช‚เช— เชธเชฟเชธเซเชŸเชฎ เชคเซˆเชฏเชพเชฐ เช•เชฐเซ€ เชฐเชนเซเชฏเชพ เช›เซ€เช

เช‰เชชเชฏเซ‹เช—เชฟเชคเชพเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชซเชฟเชฒเซเชŸเชฐเชฟเช‚เช—เชจเซ‡ เช—เซ‹เช เชตเชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡ iptables, เชœเซ‡เชจเซ‡ GeoIP เชกเซ‡เชŸเชพ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชเช•เซเชธเซเชŸเซ‡เช‚เชถเชจเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡. เช† เชเช•เซเชธเซเชŸเซ‡เช‚เชถเชจ เชฎเชพเช‚ เชฎเชณเซ€ เชถเช•เซ‡ เช›เซ‡ 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 เช†เชฆเซ‡เชถเซ‹เชจเซ‡ เชธเชฎเชœเซ‡ เช›เซ‡, เชชเชฐเช‚เชคเซ เชคเซ‡เชจเซ€ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชชเซ‚เชฐเชคเซ‹ เชกเซ‡เชŸเชพ เชจเชฅเซ€. เชšเชพเชฒเซ‹ geoip เชกเซ‡เชŸเชพเชฌเซ‡เช เชฒเซ‹เชก เช•เชฐเชตเชพเชจเซเช‚ เชถเชฐเซ‚ เช•เชฐเซ€เช.

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 เช•เช‚เชชเชจเซ€ เชฎเซ‡เช•เซเชธเชฎเชพเช‡เชจเซเชก. เช† เช‰เชคเซเชชเชพเชฆเชจ เชธเชพเชฅเซ‡ เชเช• เชœ เชธเชฎเชฏเซ‡ เชฌเซ‡ เช˜เชŸเชจเชพเช“ เชฌเชจเซ€ เชœเซ‡เชฃเซ‡ 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

MaxMind เชชเซเชฐเชคเชฟ เชฆเชฟเชตเชธ 2000 เชกเชพเช‰เชจเชฒเซ‹เชกเซเชธเชจเซ€ เชฎเชฐเซเชฏเชพเชฆเชพ เชฒเชพเชฆเซ‡ เช›เซ‡ เช…เชจเซ‡ เชฎเซ‹เชŸเซ€ เชธเช‚เช–เซเชฏเชพเชฎเชพเช‚ เชธเชฐเซเชตเชฐเซเชธ เชธเชพเชฅเซ‡, เชชเซเชฐเซ‹เช•เซเชธเซ€ เชธเชฐเซเชตเชฐ เชชเชฐ เช…เชชเชกเซ‡เชŸเชจเซ‡ เช•เซ‡เชถ เช•เชฐเชตเชพเชจเซ€ เช‘เชซเชฐ เช•เชฐเซ‡ เช›เซ‡.

เชฎเชนเซ‡เชฐเชฌเชพเชจเซ€ เช•เชฐเซ€เชจเซ‡ เชจเซ‹เช‚เชง เช•เชฐเซ‹ เช•เซ‡ เช†เช‰เชŸเชชเซเชŸ เชซเชพเช‡เชฒเชจเซ‡ เช•เซ‰เชฒ เช•เชฐเชตเซ€ เช†เชตเชถเซเชฏเช• เช›เซ‡ dbip-country-lite.csv... เชฆเซเชฐเซเชญเชพเช—เซเชฏเซ‡, 20_convert_geolite2 เชธเช‚เชชเซ‚เชฐเซเชฃ เชซเชพเช‡เชฒ เช‰เชคเซเชชเชจเซเชจ เช•เชฐเชคเซเช‚ เชจเชฅเซ€. เชธเซเช•เซเชฐเชฟเชชเซเชŸ xt_geoip_build เชคเซเชฐเชฃ เชธเซเชคเช‚เชญเซ‹เชจเซ€ เช…เชชเซ‡เช•เซเชทเชพ:

  • เชธเชฐเชจเชพเชฎเชพเชจเซ€ เชถเซเชฐเซ‡เชฃเซ€เชจเซ€ เชถเชฐเซ‚เช†เชค;
  • เชธเชฐเชจเชพเชฎเชพเชจเซ€ เชถเซเชฐเซ‡เชฃเซ€เชจเซ‹ เช…เช‚เชค;
  • iso-3166-alpha2 เชฎเชพเช‚ เชฆเซ‡เชถเชจเซ‹ เช•เซ‹เชก.

เช…เชจเซ‡ เช†เช‰เชŸเชชเซเชŸ เชซเชพเช‡เชฒเชฎเชพเช‚ เช› เช•เซ‰เชฒเชฎ เช›เซ‡:

  • เชธเชฐเชจเชพเชฎเชพเชจเซ€ เชถเซเชฐเซ‡เชฃเซ€เชจเซ€ เชถเชฐเซ‚เช†เชค (เชถเชฌเซเชฆเชฎเชพเชณเชพเชจเซเช‚ เชชเซเชฐเชคเชฟเชจเชฟเชงเชฟเชคเซเชต);
  • เชธเชฐเชจเชพเชฎเชพเชจเซ€ เชถเซเชฐเซ‡เชฃเซ€เชจเซ‹ เช…เช‚เชค (เชธเซเชŸเซเชฐเชฟเช‚เช— เชฐเชœเซ‚เช†เชค);
  • เชธเชฐเชจเชพเชฎเชพเชจเซ€ เชถเซเชฐเซ‡เชฃเซ€เชจเซ€ เชถเชฐเซ‚เช†เชค (เชธเช‚เช–เซเชฏเชพเชคเซเชฎเช• เชฐเชœเซ‚เช†เชค);
  • เชธเชฐเชจเชพเชฎเชพเชจเซ€ เชถเซเชฐเซ‡เชฃเซ€เชจเซ‹ เช…เช‚เชค (เชธเช‚เช–เซเชฏเชพเชคเซเชฎเช• เชฐเชœเซ‚เช†เชค);
  • เชฆเซ‡เชถเชจเซ‹ เช•เซ‹เชก;
  • เชฆเซ‡เชถเชจเซเช‚ เชจเชพเชฎ.

เช† เชตเชฟเชธเช‚เช—เชคเชคเชพ เชฎเชนเชคเซเชตเชชเซ‚เชฐเซเชฃ เช›เซ‡ เช…เชจเซ‡ เชคเซ‡เชจเซ‡ เชฌเซ‡เชฎเชพเช‚เชฅเซ€ เชเช• เชฐเซ€เชคเซ‡ เชธเซเชงเชพเชฐเซ€ เชถเช•เชพเชฏ เช›เซ‡:

  1. เชซเซ‡เชฐเชซเชพเชฐ เช•เชฐเซ‹ 20_convert_geolite2;
  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. เชธเซเช•เซเชฐเชฟเชชเซเชŸเชจเซเช‚ เช† เชธเช‚เชธเซเช•เชฐเชฃ เชกเซ‡เชŸเชพเชฌเซ‡เชเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ‡ เช›เซ‡ IP เชฅเซ€ เช•เชจเซเชŸเซเชฐเซ€ เชฒเชพเช‡เชŸ. เชฒเชพเช‡เชธเชจเซเชธ เช•เซเชฐเชฟเชเชŸเซ€เชต เช•เซ‹เชฎเชจเซเชธ เชเชŸเซเชฐเชฟเชฌเซเชฏเซเชถเชจ เชฒเชพเช‡เชธเชจเซเชธ เช›เซ‡, เช…เชจเซ‡ เช‰เชชเชฒเชฌเซเชง เชกเซ‡เชŸเชพเชฎเชพเช‚เชฅเซ€ เชคเซเชฏเชพเช‚ เช–เซ‚เชฌ เชœ เชœเชฐเซ‚เชฐเซ€ เชคเซเชฐเชฃ เช•เซ‰เชฒเชฎ เช›เซ‡. เชกเซ‡เชŸเชพเชฌเซ‡เช เชกเชพเช‰เชจเชฒเซ‹เชก เช•เชฐเซ‹ เช…เชจเซ‡ เชเชธเซ‡เชฎเซเชฌเชฒ เช•เชฐเซ‹:

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 เชธเซเชตเซ€เชš เชธเชพเชฅเซ‡ เชฎเซ‹เชกเซเชฏเซเชฒเชจเซเช‚ เชจเชพเชฎ เชธเซเชชเชทเซเชŸเชชเชฃเซ‡ เชธเซเชชเชทเซเชŸ เช•เชฐเชตเซเช‚ เชชเชกเชถเซ‡. เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชชเซ‹เชฐเซเชŸ 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%เชจเช‚เชฌเชฐ 9

22 เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเช“เช เชฎเชค โ€‹โ€‹เช†เชชเซเชฏเซ‹. 3 เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเช“ เชฆเซ‚เชฐ เชฐเชนเซเชฏเชพ.

เชธเซ‹เชฐเซเชธ: www.habr.com

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹