xtables-addons: රට අනුව පැකේජ පෙරහන් කරන්න

xtables-addons: රට අනුව පැකේජ පෙරහන් කරන්න
සමහර රටවලින් ගමනාගමනය අවහිර කිරීමේ කාර්යය සරල බව පෙනේ, නමුත් පළමු හැඟීම් රැවටිය හැකිය. මෙය ක්‍රියාත්මක කරන්නේ කෙසේදැයි අද අපි ඔබට කියමු.

මුදලටය

මෙම මාතෘකාව පිළිබඳ ගූගල් සෙවුමක ප්‍රති results ල බලාපොරොත්තු සුන් කරයි: බොහෝ විසඳුම් දිගු කලක් “කුණු වී” ඇති අතර සමහර විට මෙම මාතෘකාව සදහටම අත්හැර දමා ඇති බව පෙනේ. අපි පැරණි වාර්තා රාශියක් හරහා ගොස් ඇති අතර උපදෙස් වල නවීන අනුවාදයක් බෙදා ගැනීමට සූදානම්ව සිටිමු.

මෙම විධානයන් ක්‍රියාත්මක කිරීමට පෙර සම්පූර්ණ ලිපිය කියවන ලෙස අපි නිර්දේශ කරමු.

මෙහෙයුම් පද්ධතිය සකස් කිරීම

පෙරහන උපයෝගීතාව භාවිතයෙන් වින්‍යාස කෙරේ iptables, GeoIP දත්ත සමඟ වැඩ කිරීමට දිගුවක් අවශ්‍ය වේ. මෙම දිගුව සොයාගත හැකිය xtables-addons. xtables-addons ස්වාධීන කර්නල් මොඩියුල ලෙස iptables සඳහා දිගු ස්ථාපනය කරයි, එබැවින් OS කර්නලය නැවත සම්පාදනය කිරීමට අවශ්‍ය නොවේ.

ලියන අවස්ථාව වන විට, xtables-addons හි වත්මන් අනුවාදය 3.9 වේ. කෙසේ වෙතත්, සම්මත Ubuntu 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

අපි සෑම දෙයක් ගැනම සතුටු වන අතර ඉතිරිව ඇත්තේ මොඩියුලයේ නම එකතු කිරීමයි / etc / මොඩියුල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.

මීට පෙර, බලපත්‍රය යටතේ බෙදා හරින ලද GeoLite Legacy ලෙස හඳුන්වන GeoLite නිෂ්පාදනය දත්ත ගබඩාවක් ලෙස භාවිතා කරන ලදී. Creative Commons ASA 4.0 සමාගම මැක්ස්මයින්ඩ්. iptables දිගුව සමඟ ගැළපුම “බිඳ දැමූ” සිදුවීම් දෙකක් මෙම නිෂ්පාදනය සමඟ එකවර සිදු විය.

පළමුව, 2018 ජනවාරි මාසයේදී නිවේදනය කරන ලදි නිෂ්පාදනය සඳහා වන සහාය අවසන් කිරීම ගැන සහ 2019 ජනවාරි 2 වන දින, දත්ත සමුදායේ පැරණි අනුවාදය බාගත කිරීම සඳහා ඇති සියලුම සබැඳි නිල වෙබ් අඩවියෙන් ඉවත් කරන ලදී. නව පරිශීලකයින් GeoLite2 නිෂ්පාදනය හෝ එහි ගෙවූ අනුවාදය GeoIPXNUMX භාවිතා කිරීමට නිර්දේශ කරනු ලැබේ.

දෙවනුව, 2019 දෙසැම්බර් සිට MaxMind ප්රකාශ කළේය ඔවුන්ගේ දත්ත සමුදායන් වෙත ප්රවේශ වීමේ සැලකිය යුතු වෙනසක් ගැන. California පාරිභෝගික රහස්‍යතා පනතට අනුකූල වීම සඳහා, MaxMind ලියාපදිංචිය සමඟ GeoLite2 බෙදා හැරීම "ආවරණ" කිරීමට තීරණය කළේය.

අපට ඔවුන්ගේ නිෂ්පාදනය භාවිතා කිරීමට අවශ්‍ය බැවින්, අපි මෙම පිටුවේ ලියාපදිංචි වන්නෙමු.

xtables-addons: රට අනුව පැකේජ පෙරහන් කරන්න
එවිට ඔබට මුරපදයක් සකසන ලෙස ඊමේල් පණිවිඩයක් ලැබෙනු ඇත. දැන් අපි ගිණුමක් හදලා ඉවරයි, අපි බලපත්‍ර යතුරක් සාදාගත යුතුයි. ඔබගේ පුද්ගලික ගිණුමේ අපි අයිතමය සොයා ගනිමු මගේ බලපත්‍ර යතුරු, ඉන්පසු බොත්තම මත ක්ලික් කරන්න නව බලපත්‍ර යතුර උත්පාදනය කරන්න.

යතුරක් නිර්මාණය කිරීමේදී, අපෙන් අසනු ලබන්නේ එක් ප්‍රශ්නයක් පමණි: අපි මෙම යතුර GeoIP යාවත්කාලීන වැඩසටහනේ භාවිතා කරමුද? අපි සෘණාත්මකව පිළිතුරු දී බොත්තම ඔබන්න තහවුරු කරන්න. යතුර උත්පතන කවුළුවක දර්ශනය වේ. මෙම යතුර ආරක්ෂිත ස්ථානයක සුරකින්න, ඔබ උත්පතන කවුළුව වැසූ පසු, ඔබට තවදුරටත් සම්පූර්ණ යතුර බැලීමට නොහැකි වනු ඇත.

xtables-addons: රට අනුව පැකේජ පෙරහන් කරන්න
අපට GeoLite2 දත්ත සමුදායන් හස්තීයව බාගත කිරීමේ හැකියාව ඇත, නමුත් ඒවායේ ආකෘතිය xt_geoip_build ස්ක්‍රිප්ට් මඟින් බලාපොරොත්තු වන ආකෘතියට නොගැළපේ. GeoLite2xtables ස්ක්‍රිප්ට් ගලවා ගැනීමට පැමිණෙන්නේ මෙහිදීය. ස්ක්‍රිප්ට් ධාවනය කිරීමට, NetAddr::IP perl මොඩියුලය ස්ථාපනය කරන්න:

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_* ස්ක්‍රිප්ට් සංවර්ධනය සඳහා. එමනිසා, මෙම ස්ක්‍රිප්ට් දැනටමත් යාවත්කාලීන කර ඇති ප්‍රභව කේත වලින් එකලස් කිරීම වෙත යමු.

මූලාශ්ර අනුවාදය

source code scripts වලින් install කරනකොට xt_geoip_* නාමාවලියෙහි පිහිටා ඇත /usr/local/libexec/xtables-addons. මෙම ස්ක්‍රිප්ට් අනුවාදය දත්ත සමුදායක් භාවිතා කරයි රට ලයිට් වෙත IP. බලපත්‍රය Creative Commons Attribution බලපත්‍රය වන අතර පවතින දත්ත වලින් ඉතා අවශ්‍ය තීරු තුනක් ඇත. දත්ත සමුදාය බාගත කර එකලස් කරන්න:

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 භාවිතා කරන සියලුම නීති නැවත නිර්මාණය කළ යුතුය.

නිගමනය

රටවල් මත පදනම්ව පැකට් පෙරීම කාලය විසින් තරමක් දුරට අමතක වූ උපාය මාර්ගයකි. එසේ තිබියදීත්, එවැනි පෙරීම සඳහා මෘදුකාංග මෙවලම් සංවර්ධනය වෙමින් පවතින අතර, සමහර විට, නව geoip දත්ත සැපයුම්කරුවෙකු සමඟ xt_geoip හි නව අනුවාදයක් පැකේජ කළමනාකරුවන් තුළ දිස්වනු ඇත, එය පද්ධති පරිපාලකයින්ගේ ජීවිතය බෙහෙවින් සරල කරනු ඇත.

xtables-addons: රට අනුව පැකේජ පෙරහන් කරන්න

සමීක්ෂණයට සහභාගී විය හැක්කේ ලියාපදිංචි පරිශීලකයින්ට පමණි. පුරන්නකරුණාකර.

ඔබ කවදා හෝ රට අනුව පෙරීම භාවිතා කර තිබේද?

  • 59,1%ඔව්13

  • 40,9%9

පරිශීලකයින් 22 දෙනෙක් ඡන්දය දුන්හ. පරිශීලකයින් 3 දෙනෙක් ඡන්දය දීමෙන් වැළකී සිටියහ.

මූලාශ්රය: www.habr.com

අදහස් එක් කරන්න