xtables-addons: เจฆเฉ‡เจธเจผ เจฆเฉเจ†เจฐเจพ เจชเฉˆเจ•เฉ‡เจœ เจซเจฟเจฒเจŸเจฐ เจ•เจฐเฉ‹

xtables-addons: เจฆเฉ‡เจธเจผ เจฆเฉเจ†เจฐเจพ เจชเฉˆเจ•เฉ‡เจœ เจซเจฟเจฒเจŸเจฐ เจ•เจฐเฉ‹
เจ•เฉเจ เจฆเฉ‡เจธเจผเจพเจ‚ เจคเฉ‹เจ‚ เจ†เจตเจพเจœเจพเจˆ เจจเฉ‚เฉฐ เจฐเฉ‹เจ•เจฃ เจฆเจพ เจ•เฉฐเจฎ เจธเจงเจพเจฐเจจ เจœเจพเจชเจฆเจพ เจนเฉˆ, เจชเจฐ เจชเจนเจฟเจฒเฉ‡ เจชเฉเจฐเจญเจพเจต เจงเฉ‹เจ–เจพ เจฆเฉ‡เจฃ เจตเจพเจฒเฉ‡ เจนเฉ‹ เจธเจ•เจฆเฉ‡ เจนเจจเฅค เจ…เฉฑเจœ เจ…เจธเฉ€เจ‚ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจฆเฉฑเจธเจพเจ‚เจ—เฉ‡ เจ•เจฟ เจ‡เจธ เจจเฉ‚เฉฐ เจ•เจฟเจตเฉ‡เจ‚ เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆเฅค

prehistory

เจ‡เจธ เจตเจฟเจธเจผเฉ‡ 'เจคเฉ‡ เจ—เฉ‚เจ—เจฒ เจธเจฐเจš เจฆเฉ‡ เจจเจคเฉ€เจœเฉ‡ เจจเจฟเจฐเจพเจธเจผเจพเจœเจจเจ• เจนเจจ: เจœเจผเจฟเจ†เจฆเจพเจคเจฐ เจนเฉฑเจฒ เจฒเฉฐเจฌเฉ‡ เจธเจฎเฉ‡เจ‚ เจคเฉ‹เจ‚ "เจธเฉœเฉ‡ เจนเฉ‹เจ" เจนเจจ เจ…เจคเฉ‡ เจ•เจˆ เจตเจพเจฐ เจ…เจœเจฟเจนเจพ เจฒเจ—เจฆเจพ เจนเฉˆ เจ•เจฟ เจ‡เจน เจตเจฟเจธเจผเจพ เจนเจฎเฉ‡เจธเจผเจพ เจฒเจˆ เจญเฉเฉฑเจฒ เจ—เจฟเจ† เจนเฉˆ เจ…เจคเฉ‡ เจญเฉเฉฑเจฒ เจ—เจฟเจ† เจนเฉˆ. เจ…เจธเฉ€เจ‚ เจฌเจนเฉเจค เจธเจพเจฐเฉ‡ เจชเฉเจฐเจพเจฃเฉ‡ เจฐเจฟเจ•เจพเจฐเจกเจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจฒเฉฐเจ˜ เจšเฉเฉฑเจ•เฉ‡ เจนเจพเจ‚ เจ…เจคเฉ‡ เจจเจฟเจฐเจฆเฉ‡เจธเจผเจพเจ‚ เจฆเจพ เจ‡เฉฑเจ• เจ†เจงเฉเจจเจฟเจ• เจธเฉฐเจธเจ•เจฐเจฃ เจธเจพเจ‚เจเจพ เจ•เจฐเจจ เจฒเจˆ เจคเจฟเจ†เจฐ เจนเจพเจ‚เฅค

เจ…เจธเฉ€เจ‚ เจธเจฟเจซเจผเจพเจฐเจฟเจธเจผ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚ เจ•เจฟ เจคเฉเจธเฉ€เจ‚ เจ‡เจนเจจเจพเจ‚ เจ•เจฎเจพเจ‚เจกเจพเจ‚ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจชเฉ‚เจฐเจพ เจฒเฉ‡เจ– เจชเฉœเฉเจนเฉ‹เฅค

เจ“เจชเจฐเฉ‡เจŸเจฟเฉฐเจ— เจธเจฟเจธเจŸเจฎ เจฆเฉ€ เจคเจฟเจ†เจฐเฉ€

เจ‰เจชเจฏเฉ‹เจ—เจคเจพ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจซเจฟเจฒเจŸเจฐเจฟเฉฐเจ— เจจเฉ‚เฉฐ เจ•เฉŒเจ‚เจซเจฟเจ—เจฐ เจ•เฉ€เจคเจพ เจœเจพเจตเฉ‡เจ—เจพ iptables, เจœเจฟเจธ เจจเฉ‚เฉฐ เจœเฉ€เจ“เจ†เจˆเจชเฉ€ เจกเฉ‡เจŸเจพ เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐเจจ เจฒเจˆ เจ‡เฉฑเจ• เจเจ•เจธเจŸเฉˆเจ‚เจธเจผเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆเฅค เจ‡เจน เจเจ•เจธเจŸเฉˆเจ‚เจธเจผเจจ เจตเจฟเฉฑเจš เจชเจพเจ‡เจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ xtables-addons. xtables-addons iptables เจฒเจˆ เจเจ•เจธเจŸเฉˆเจ‚เจธเจผเจจเจพเจ‚ เจจเฉ‚เฉฐ เจธเฉเจคเฉฐเจคเจฐ เจ•เจฐเจจเจฒ เจฎเฉ‹เจกเฉ€เจŠเจฒ เจตเจœเฉ‹เจ‚ เจธเจฅเจพเจชเจฟเจค เจ•เจฐเจฆเจพ เจนเฉˆ, เจ‡เจธเจฒเจˆ OS เจ•เจฐเจจเจฒ เจจเฉ‚เฉฐ เจฆเฉเจฌเจพเจฐเจพ เจ•เฉฐเจชเจพเจ‡เจฒ เจ•เจฐเจจ เจฆเฉ€ เจ•เฉ‹เจˆ เจฒเฉ‹เฉœ เจจเจนเฉ€เจ‚ เจนเฉˆเฅค

เจฒเจฟเจ–เจฃ เจฆเฉ‡ เจธเจฎเฉ‡เจ‚, xtables-addons เจฆเจพ เจฎเฉŒเจœเฉ‚เจฆเจพ เจธเฉฐเจธเจ•เจฐเจฃ 3.9 เจนเฉˆเฅค เจนเจพเจฒเจพเจ‚เจ•เจฟ, เจฎเจฟเจ†เจฐเฉ€ เจ‰เจฌเฉฐเจคเฉ‚ 20.04 LTS เจฐเจฟเจชเฉ‹เจœเจผเจŸเจฐเฉ€เจ†เจ‚ เจตเจฟเฉฑเจš เจ•เฉ‡เจตเจฒ 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 เจ•เฉฐเจชเจจเฉ€ เจฆเฉเจ†เจฐเจพ เจฎเฉˆเจ•เจธเจฎเจพเจˆเจ‚เจก. เจ‡เจธ เจ‰เจคเจชเจพเจฆ เจฆเฉ‡ เจจเจพเจฒ เจ‡เฉฑเจ•เฉ‹ เจธเจฎเฉ‡เจ‚ เจฆเฉ‹ เจ˜เจŸเจจเจพเจตเจพเจ‚ เจตเจพเจชเจฐเฉ€เจ†เจ‚ เจœเจฟเจจเฉเจนเจพเจ‚ เจจเฉ‡ iptables เจเจ•เจธเจŸเฉˆเจ‚เจธเจผเจจ เจจเจพเจฒ เจ…เจจเฉเจ•เฉ‚เจฒเจคเจพ เจจเฉ‚เฉฐ "เจคเฉ‹เฉœเจฟเจ†"เฅค

เจธเจญ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚, เจœเจจเจตเจฐเฉ€ 2018 เจตเจฟเฉฑเจš เจเจฒเจพเจจ เจ•เฉ€เจคเจพ เจ‰เจคเจชเจพเจฆ เจฒเจˆ เจธเจฎเจฐเจฅเจจ เจฆเฉ€ เจธเจฎเจพเจชเจคเฉ€ เจฌเจพเจฐเฉ‡, เจ…เจคเฉ‡ 2019 เจœเจจเจตเจฐเฉ€, 2 เจจเฉ‚เฉฐ, เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจฆเฉ‡ เจชเฉเจฐเจพเจฃเฉ‡ เจธเฉฐเจธเจ•เจฐเจฃ เจจเฉ‚เฉฐ เจกเจพเจŠเจจเจฒเฉ‹เจก เจ•เจฐเจจ เจฆเฉ‡ เจธเจพเจฐเฉ‡ เจฒเจฟเฉฐเจ• เจ…เจงเจฟเจ•เจพเจฐเจค เจตเฉˆเฉฑเจฌเจธเจพเจˆเจŸ เจคเฉ‹เจ‚ เจนเจŸเจพ เจฆเจฟเฉฑเจคเฉ‡ เจ—เจ เจธเจจเฅค เจจเจตเฉ‡เจ‚ เจ‰เจชเจญเฉ‹เจ—เจคเจพเจตเจพเจ‚ เจจเฉ‚เฉฐ GeoLite2 เจ‰เจคเจชเจพเจฆ เจœเจพเจ‚ เจ‡เจธเจฆเฉ‡ เจ…เจฆเจพเจ‡เจ—เฉ€ เจธเฉฐเจธเจ•เจฐเจฃ GeoIPXNUMX เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจ เจฆเฉ€ เจธเจฟเจซเจพเจฐเจธเจผ เจ•เฉ€เจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆเฅค

เจฆเฉ‚เจœเจพ, เจฆเจธเฉฐเจฌเจฐ 2019 เจคเฉ‹เจ‚ เจฎเฉˆเจ•เจธ เจฎเจพเจˆเจ‚เจก เจจเฉ‡ เจ•เจฟเจนเจพ เจ‰เจนเจจเจพเจ‚ เจฆเฉ‡ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจคเฉฑเจ• เจชเจนเฉเฉฐเจš เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ เจคเจฌเจฆเฉ€เจฒเฉ€ เจฌเจพเจฐเฉ‡. เจ•เฉˆเจฒเฉ€เจซเฉ‹เจฐเจจเฉ€เจ† เจ•เฉฐเจœเจผเจฟเจŠเจฎเจฐ เจชเฉเจฐเจพเจˆเจตเฉ‡เจธเฉ€ เจเจ•เจŸ เจฆเฉ€ เจชเจพเจฒเจฃเจพ เจ•เจฐเจจ เจฒเจˆ, 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. เจธเจ•เฉเจฐเจฟเจชเจŸ เจฆเจพ เจ‡เจน เจธเฉฐเจธเจ•เจฐเจฃ เจ‡เฉฑเจ• เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเจพ เจนเฉˆ 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 เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจเจพ

เจฎเฉ‹เจกเฉ€uleเจฒ 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 เจ•เจจเฉˆเจ•เจธเจผเจจเจพเจ‚ เจจเฉ‚เฉฐ เจฌเจฒเจพเจ• เจ•เจฐเจจ เจฆเจพ เจจเจฟเจฏเจฎ เจธเจพเจฐเฉ‡ เจ‡เฉฐเจŸเจฐเจซเฉ‡เจธเจพเจ‚ 'เจคเฉ‡ USA เจคเฉ‹เจ‚ เจจเจนเฉ€เจ‚:

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

xt_geoip_build เจฆเฉเจ†เจฐเจพ เจฌเจฃเจพเจˆเจ†เจ‚ เจ—เจˆเจ†เจ‚ เจซเจพเจˆเจฒเจพเจ‚ เจธเจฟเจฐเจซ เจจเจฟเจฏเจฎ เจฌเจฃเจพเจ‰เจฃ เจตเฉ‡เจฒเฉ‡ เจตเจฐเจคเฉ€เจ†เจ‚ เจœเจพเจ‚เจฆเฉ€เจ†เจ‚ เจนเจจ, เจชเจฐ เจซเจฟเจฒเจŸเจฐ เจ•เจฐเจจ เจตเฉ‡เจฒเฉ‡ เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจงเจฟเจ†เจจ เจตเจฟเฉฑเจš เจจเจนเฉ€เจ‚ เจฐเฉฑเจ–เจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚, geoip เจกเจพเจŸเจพเจฌเฉ‡เจธ เจจเฉ‚เฉฐ เจธเจนเฉ€ เจขเฉฐเจ— เจจเจพเจฒ เจ…เฉฑเจชเจกเฉ‡เจŸ เจ•เจฐเจจ เจฒเจˆ, เจคเฉเจนเจพเจจเฉ‚เฉฐ เจชเจนเจฟเจฒเจพเจ‚ iv* เจซเจพเจˆเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจ…เฉฑเจชเจกเฉ‡เจŸ เจ•เจฐเจจเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ, เจ…เจคเฉ‡ เจซเจฟเจฐ เจ‰เจนเจจเจพเจ‚ เจธเจพเจฐเฉ‡ เจจเจฟเจฏเจฎเจพเจ‚ เจจเฉ‚เฉฐ เจฆเฉเจฌเจพเจฐเจพ เจฌเจฃเจพเจ‰เจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ เจœเฉ‹ iptables เจตเจฟเฉฑเจš geoip เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเจจเฅค

เจธเจฟเฉฑเจŸเจพ

เจฆเฉ‡เจธเจผเจพเจ‚ เจฆเฉ‡ เจ…เจงเจพเจฐ เจคเฉ‡ เจชเฉˆเจ•เฉ‡เจŸ เจซเจฟเจฒเจŸเจฐ เจ•เจฐเจจเจพ เจ‡เฉฑเจ• เจฐเจฃเจจเฉ€เจคเฉ€ เจนเฉˆ เจœเฉ‹ เจธเจฎเฉ‡เจ‚ เจฆเฉเจ†เจฐเจพ เจ•เฉเจ เจนเฉฑเจฆ เจคเฉฑเจ• เจญเฉเฉฑเจฒ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ. เจ‡เจธ เจฆเฉ‡ เจฌเจพเจตเจœเฉ‚เจฆ, เจ…เจœเจฟเจนเฉ‡ เจซเจฟเจฒเจŸเจฐเจฟเฉฐเจ— เจฒเจˆ เจธเจพเจซเจŸเจตเฉ‡เจ…เจฐ เจŸเฉ‚เจฒ เจตเจฟเจ•เจธเจฟเจค เจ•เฉ€เจคเฉ‡ เจœเจพ เจฐเจนเฉ‡ เจนเจจ เจ…เจคเฉ‡, เจธเจผเจพเจ‡เจฆ, เจœเจฒเจฆเฉ€ เจนเฉ€ เจ‡เฉฑเจ• เจจเจตเฉ‡เจ‚ geoip เจกเจพเจŸเจพ เจชเฉเจฐเจฆเจพเจคเจพ เจฆเฉ‡ เจจเจพเจฒ xt_geoip เจฆเจพ เจ‡เฉฑเจ• เจจเจตเจพเจ‚ เจธเฉฐเจธเจ•เจฐเจฃ เจชเฉˆเจ•เฉ‡เจœ เจฎเฉˆเจจเฉ‡เจœเจฐเจพเจ‚ เจตเจฟเฉฑเจš เจฆเจฟเจ–เจพเจˆ เจฆเฉ‡เจตเฉ‡เจ—เจพ, เจœเฉ‹ เจธเจฟเจธเจŸเจฎ เจชเฉเจฐเจธเจผเจพเจธเจ•เจพเจ‚ เจฆเฉ‡ เจœเฉ€เจตเจจ เจจเฉ‚เฉฐ เจฌเจนเฉเจค เจธเจฐเจฒ เจฌเจฃเจพ เจฆเฉ‡เจตเฉ‡เจ—เจพเฅค

xtables-addons: เจฆเฉ‡เจธเจผ เจฆเฉเจ†เจฐเจพ เจชเฉˆเจ•เฉ‡เจœ เจซเจฟเจฒเจŸเจฐ เจ•เจฐเฉ‹

เจธเจฟเจฐเจซเจผ เจฐเจœเจฟเจธเจŸเจฐเจก เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจนเฉ€ เจธเจฐเจตเฉ‡เจ–เจฃ เจตเจฟเฉฑเจš เจนเจฟเฉฑเจธเจพ เจฒเฉˆ เจธเจ•เจฆเฉ‡ เจนเจจเฅค เจธเจพเจˆเจจ - เจ‡เจจ, เจคเฉเจนเจพเจกเจพ เจธเฉเจ†เจ—เจค เจนเฉˆ.

เจ•เฉ€ เจคเฉเจธเฉ€เจ‚ เจ•เจฆเฉ‡ เจฆเฉ‡เจธเจผ เจฆเฉเจ†เจฐเจพ เจซเจฟเจฒเจŸเจฐเจฟเฉฐเจ— เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เฉ€เจคเฉ€ เจนเฉˆ?

  • 59,1%เจนเจพเจ‚13

  • 40,9%เจจเฉฐ 9

22 เจ‰เจชเจญเฉ‹เจ—เจคเจพเจตเจพเจ‚ เจจเฉ‡ เจตเฉ‹เจŸ เจ•เฉ€เจคเจพเฅค 3 เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจฌเจšเฉ‡เฅค

เจธเจฐเฉ‹เจค: www.habr.com

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹