xtables-adds: filter packages by country

xtables-adds: filter packages by country
Negotium mercaturae quibusdam nationibus interclusionis simplex videtur, sed primae impressiones fallaces esse possunt. Hodie narrabimus quomodo id perfici possit.

erectus

Eventus Google inquisitionis in hoc argumento frustrentur: pleraeque solutiones iam pridem "putris" sunt et interdum videtur hunc thema esse in obliquum semperque oblitum. Veterum monumentorum multum perplexi sumus et versionem recentiorum mandatorum communicare parati sumus.

Praecipimus ut totum articulum perlegas antequam haec mandata exequaris.

Praeparans operating ratio

Percolando configurabitur per utilitatem iptablesquae extensionem operis cum GeoIP. Haec extensio invenitur in xtables-adds. xtables-addons extensiones installs pro iptables sicut nuclei moduli sui iuris, ideo nucleum OS recompulare non est necesse.

In tempore scribendi, versio xtalium-addicarum est 3.9. Tamen tantum 20.04 in repositoria mensurae Ubuntu 3.8 LTS reperiri possunt, et 18.04 in repositoria Ubuntu 3.0. Extensio e sarcina villico cum mandato sequenti instituere potes:

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

Nota parvas esse sed magnas differentias inter versionem 3.9 et statum hodiernum propositi, de quo postea dicemus. Ut ex fonte codice aedificare, omnes sarcinas necessarias instituere;

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

Clone repositio:

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

cd xtables-addons-xtables-addons

xtables-additiones multas extensiones continet, sed tantum interest in xt_geoip. Si extensiones necessarias in systema trahere non vis, eas ab aedificatione excludere potes. Ad hoc facere debes tabellam recensere mconfig. Omnes moduli desiderati, install yEt nota omnia superflua n. Colligimus:

./autogen.sh

./configure

make

Et institue cum superusore iura:

make install

Per institutionem modulorum nuclei, error similis cum sequentibus occurrere potest:

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

Haec res oritur ex impossibilitate modulorum nuclei signandi, quia nihil subscribere. Hanc quaestionem solvere cum duobus praeceptis potes.

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

Composita moduli nuclei inauguratus est, sed ratio eam non deprehendit. Quaeramus rationem ad creandi dependentiam tabulam habita ratione novi moduli, et postea eam oneratis;

depmod -a

modprobe xt_geoip

faciamus operam ut xt_geoip oneratur in systemate:

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

Accedit, fac extensionem oneratam in iptables esse;

# cat /proc/net/ip_tables_matches 
geoip
icmp

Laeti sumus omnibus et omnibus quae supersunt ad moduli nomen addere / Etc / modulesut modulorum opera post reboutionem OS. Posthac iptables imperia geoip intelligit, sed non satis data ad operandum. Sit scriptor satus database geoip onerantium.

Questus est GeoIP Database

Directorium creamus in quo notitiae comprehensibiles ad extensionem iptabilium reponenda sunt;

mkdir /usr/share/xt_geoip

In initio articuli commemoravimus differentias esse inter versionem e codice fonte et versionem a sarcina procurator. Maxime notabilis differentia est mutatio venditoris datorum et scriptorum xt_geoip_dl, quod notat novissimam datam.

Sarcina procurator version

Scriptum in via /usr/lib/xtables-adds sita est, sed cum currere conaris, errorem non admodum informativum videbis;

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

Antea, productum GeoLite, nunc Legatum GeoLite notum, sub licentia distributum, pro database adhibitum est Creative Commons ASA 4.0 turba MaxMind. Duae res evenerunt cum hoc productum simul quod compatibilitas "fregit" cum extensione iptabili.

Uno mense Ianuario MMXVIII nuntiatum de terminatione subsidii producti, et die 2019 Ianuarii 2, omnes nexus ad demptionem antiquam versionem datorum e rutrum amoverunt. Novi usores commendantur ut productum GeoLite2 utendum vel ad solvendam versionem GeoIPXNUMX.

Secundo, quia December MMXIX MaxMind Affirmabat de notabili mutatione in accessu ad eorum databases. Ad propinquos in California Consumer Privacy Actus, MaxMind statuit "operire" distributionem GeoLite2 cum adnotatione.

Cum eorum uber uti velimus, in hac pagina scribemus.

xtables-adds: filter packages by country
Tunc inscriptionem electronicam recipies rogantem ut tesseram indices. Nunc rationem creavimus, licentia clavis creare opus est. In propria ratione invenimus item My License Keyset deprime in puga pyga Novam License Key.

Cum creando clavem, unum tantum interrogabimus: num hac clave in programmate GeoIP Update utemur? Respondemus negative ac premere puga Constituo. Clavis in fenestra pop-sursum ostendetur. Serva hanc clavem in loco tuto, cum olim fenestram pop-upi claudis, iam totam clavem videre non poteris.

xtables-adds: filter packages by country
Facultatem habemus manually datorum GeoLite2 download, sed forma eorum non compatitur cum forma quae ab scripto xt_geoip_build expectatur. Haec ubi GeoLite2xtables scripta succurrit. Ut scripta currere, NetAddr::IP perl moduli inaugurare:

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

Deinde repositorium cum scriptoribus cingimus et antea licentiam clavem ad limam scribemus:

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

cd GeoLite2xtables

echo YOUR_LICENSE_KEY=’123ertyui123' > geolite2.license

Scripta curramus:

# Скачиваем данные 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 terminum mille downloads per diem imponit et, cum magno numero ministrantium, renovationem in ineundo servo praebet.

Nota quaeso quod fasciculus output appellandus est dbip-rus-lite.csv... Infeliciter, 20_convert_geolite2 perfectum non facit lima. Script xt_geoip_build Expectat columnas tres:

  • initium inscriptionis complector;
  • finis inscriptionis eminus;
  • patria codicem in iso-3166-alpha2.

Et fasciculus output sex columnas continet:

  • satus of oratio range (linea repraesentatio);
  • finis inscriptionis range (linea repraesentatio);
  • initium electronicae range (repraesentatio numerorum);
  • finis inscriptio range (repraesentatio numerorum);
  • codice regio;
  • nomen regionis.

Haec discrepantia critica est et uno modo emendari potest;

  1. regnare 20_convert_geolite2;
  2. regnare xt_geoip_build.

In primo casu minuimus if in forma inquisita, et in secundo mutamus assignationem variabilis $cc on $row->[4]. Post haec aedificare potes;

/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

Nota quod auctor GeoLite2xtables non considerat scripta sua ad productionem et offerre parata track ad evolutionem originalium scriptorum xt_geoip_*. Ideo ad coetum ex codicibus fonte transeamus, in quo haec scripta iam renovata sunt.

Source version

Cum installing ex fonte codice scriptor xt_geoip_* quae sita est in catalogo /usr/loci/libexec/xtables-addons. Haec versio scriptoris utitur database IP ad patriae Lite. Licentia est Creative Commons Attributionis Licentiae, et ex notitiis suppositis sunt valde necessariae tres columnae. Download et congrega database:

cd /usr/share/xt_geoip/

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

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

Post hos gradus iptables ad opus est paratum.

Geoip per iptables

OMNIBUS xt_geoip addit duas claves;

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.

Modi creandi regulas pro iptables in genere immutata manent. Ut claves adiectis modulorum utaris, nomen moduli cum -m switch expresse denotare debes. Exempli gratia, regula impedire nexus in portu venientium TCP 443 non ex USA in omnibus interfaces:

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

Tabulae ab xt_geoip_aedificatae tantum adhibentur cum praecepta creandi, sed ratio eliquandi non computatur. Sic, ut recte datorum geoip renovatio, primum tabulas iv* renovare debes, et deinde omnes regulas, quae in iptables geoip utuntur, recreare.

conclusio,

Fasciculi eliquandi in terris fundatae belli aliquantum temporis obliti sunt. Quamvis haec instrumenta programmata huiusmodi eliquandi augeantur et fortasse mox nova versio xt_geoip cum novo provisore notatorum geoip in involucris actoribus apparebit, quae vitam administratorum systematis multum simpliciorem reddent.

xtables-adds: filter packages by country

Tantum usores descripserunt in aliquet participare possunt. InscribeTe gratissimum esse.

Olim eliquare a patria usus est?

  • 59,1%Yes13

  • 40,9%No9

22 utentes censuerunt. 3 utentes abstinuerunt.

Source: www.habr.com

Add a comment