LAN එකක උචිත බාගත කිරීම් හැඹිලි කිරීමට හොඳම ක්‍රමය කුමක්ද?


153

මට නිවසේ උබුන්ටු යන්ත්‍ර කිහිපයක් සහ මන්දගාමී අන්තර්ජාල සම්බන්ධතාවයක් ඇත, සමහර විට බහු යන්ත්‍ර එකවර යාවත්කාලීන කළ යුතුය (විශේෂයෙන් නව උබුන්ටු නිකුතුවලදී.)

මගේ එක් යන්ත්‍රයකට පමණක් ඇසුරුම් බාගත කිරීමට අවශ්‍ය ක්‍රමයක් තිබේද, අනෙක් යන්ත්‍රවලට පළමු යන්ත්‍රය භාවිතා කර ඩෙබ් ලබා ගත හැකිද? එයට මගේම දේශීය කැඩපතක් සැකසීම ඇතුළත් වේද? නැත්නම් ප්‍රොක්සි සේවාදායකයක්ද? නැත්නම් එය සරල කළ හැකිද?

Answers:


129

මම විසඳුම් රාශියක් පිළිබඳව පර්යේෂණ කිහිපයක් කළ අතර සමහර උබුන්ටු සංවර්ධකයින් 10.04 සහ ඊට පසුව ප්‍රොක්සි වින්‍යාසය (දැල්ලන් මත පදනම්ව) ඉදිරිපත් කළහ. එය හැඳින්වේ squid-deb-proxy. එයට අවශ්‍ය වන්නේ සේවාදායකය ලෙස ක්‍රියා කිරීමට යන්ත්‍රයක් පමණි. විශාල සංවිධාන සාමාන්‍යයෙන් තමන්ගේම සම්පූර්ණ දර්පණ ධාවනය කරන නමුත් බොහෝ දෙනෙකුට ඉල්ලුමේ දර්පණය ප්‍රමාණවත් වේ.

දැල්ලන්-ඩෙබ්-ප්‍රොක්සි ඇයි?

  • සේවාදායකයාගේ පැත්තේ ගොනු සංස්කරණය කිරීමක් නොමැත.
  • ගනුදෙනුකරුවන් "ශුන්‍ය වින්‍යාසය" වන පරිදි ශුන්‍ය කොන්ෆ් භාවිතා කරන්න
  • නව මෙවලමක් ලිවීම වෙනුවට පවතින solid න ප්‍රොක්සි විසඳුමක් භාවිතා කරන්න.
  • සාමාන්‍ය ලිනක්ස් පරිපාලකයෙකු සඳහා සැකසීමට පහසුය.

සේවාදායක වින්‍යාසය

යන්ත්රය මත ඔබට සේවාදායකයක් ලෙස ක්රියා කිරීමට අවශ්ය මෙවලම ස්ථාපනය කරන්න:

sudo apt-get install squid-deb-proxy avahi-utils

දැන් සේවා බිටු ආරම්භ කරන්න:

 sudo start squid-deb-proxy

අවාහි බිටු (ඔබ 12.04+ හි සිටී නම් ඔබට මෙය අවශ්‍ය නොවේ):

 sudo start squid-deb-proxy-avahi

මෙය ප්‍රොක්සි සේවාදායකය ස්ථාපනය කරයි (පෙරනිමියෙන් 8000 වරායට සවන් දෙන) සහ සේවාදායකයාට ඔබේ ජාලය තුළ ශුන්‍ය කොන්ෆ් හරහා ප්‍රචාරය කිරීමට අවශ්‍ය අවාහි මෙවලම්.

සේවාලාභී වින්‍යාසය

මත එම පරිගණක එක් එක් ඔබට (එය ද හැඹිලි භාවිතා කළ හැකි නිසා ගනුදෙනුකරුවන් හා එම සේවාදායකය ම) පූර්වාපේක්ෂි භාවිතා කිරීමට අවශ්ය බව, ඔබ ස්වයංක්රීයව සේවාදායකය සඳහා සේවාදායකයාට පැත්තේ මෙවලමක් බව එහෙනම් අපි උචිත පෙනුම ස්ථාපනය කිරීමට අවශ්ය, ඔවුන් මෙහි ක්ලික් කරන්න ඇති :

මෘදුකාංග මධ්‍යස්ථානය හරහා ස්ථාපනය කරන්න

හෝ විධාන රේඛාව හරහා:

sudo apt-get install squid-deb-proxy-client

විකල්ප : උපරිම කාර්යක්ෂමතාව සඳහා ඔබ යාවත්කාලීනයන් ස්වයංක්‍රීයව බාගත කිරීම සඳහා එක් යන්ත්‍රයක් සැකසිය යුතුය, එවිට ඔබේ අනෙක් යන්ත්‍රවලට අවශ්‍ය වූ විට එය දැනටමත් හැඹිලියේ ඇත. පද්ධති-> පරිපාලන-> යාවත්කාලීන කළමණාකරු වෙත ගොස් ඔබට මෙය කළ හැකිය, පසුව "සැකසීම් ..." බොත්තම ක්ලික් කරන්න, යාවත්කාලීන පටිත්තෙහි එය සියලු යාවත්කාලීන කිරීම් ස්වයංක්‍රීයව බාගත කිරීම සඳහා සකසන්න.

alt පෙළ

තෙවන පාර්ශවීය ප්‍රභවයන් හැඹිලිගත කිරීම

පෙරනිමියෙන් හැඹිලිය සකසා ඇත්තේ නිල උබුන්ටු ගබඩාවලට පමණි. තවත් එකතු කිරීමට ඔබ ඒවා මූලාශ්‍ර ලැයිස්තුවට එක් කළ යුතුය /etc/squid-deb-proxy/mirror-dstdomain.acl. ඔබට ppa.launchpad.net හෝ ඔබ භාවිතා කළ හැකි වෙනත් සේවාවන් එක් කළ හැකි ස්ථානය මෙයයි. මෙම ගොනුවේ වෙනස්කම් සිදු කිරීමෙන් පසුව, වෙනස්කම් .ලදායී වීමට නම් ඔබ ධාවනය කළ යුතුය sudo restart squid-deb-proxy.

අත්පොත වින්‍යාසය

කිසියම් හේතුවක් නිසා ඔබට ශුන්‍යකොන්ෆ් භාවිතා කිරීමට අවශ්‍ය නොවන්නේ නම් (ජාල හේතු හෝ වෙනත් ඕනෑම දෙයක් සඳහා), /etc/apt/apt.confපහත දැක්වෙන ගාථාව සංස්කරණය කිරීමෙන් හා එකතු කිරීමෙන් ඔබට ප්‍රොක්සි භාවිතා කිරීමට සේවාදායකයෙකුට අතින් සැකසිය හැකිය , (0.0.0.0 වෙනුවට සේවාදායකයේ IP ලිපිනය ආදේශ කරන්න. ):

 Acquire { 
   Retries "0"; 
   HTTP { Proxy "http://0.0.0.0:8000"; };
 };

ෆයර්වෝල්

ඔබ ෆයර්වෝලයක් භාවිතා කරන්නේ නම්, avahi 224.0.0.0/4 ලිපින හරහා 5353 භාවිතා කරන අතර මේ සඳහා රීතියක් අවශ්‍ය වේ:

# Specifically port 5353 which avahi uses
-A INPUT -i eth2 -d 224.0.0.0/4 --dport 5353 -j ACCEPT

# OR

# Wide open so all local broadcasting works
-A INPUT -i eth2 -d 224.0.0.0/4 -j ACCEPT

ඊළඟට, ප්‍රොක්සි හරහා සත්‍ය සන්නිවේදනය සඳහා ඔබ TCP port 8000 විවෘත කළ යුතුය. මේ වගේ වැඩි හෝ අඩු දෙයක්:

-A INPUT -i eth2 -p tcp -m tcp --dport 8000 -d 192.168.0.1 -s 192.168.0.0/24 --syn -j ACCEPT

මෙම නීති ඔබට උදව් කිරීමට පමණි. ඒවා බොහෝ විට ඔබගේ සැකසුම එකකට නොගැලපේ. (එනම් වැරදි අතුරුමුහුණත, වැරදි පුද්ගලික ජාල IP ලිපින ආදිය)

එය තහවුරු කිරීම ක්රියා කරයි

පළමුවෙන්ම සේවාදායකයේ ඇති ලොගය වලිගය මඟින් ඔබට එය බැලීමට හැකි වේ: tail -F /var/log/squid-deb-proxy/access.logඉන්පසු සේවාදායකයා ස්ථාපනය කර ඇති ඕනෑම යන්ත්‍රයක යාවත්කාලීනයක් ක්‍රියාත්මක කරන්න; ලොගය මෙවැනි ඇතුළත් කිරීම් සමඟ අනුචලනය කිරීමට පටන් ගත යුතුය:

1307310795.647     32 192.168.1.106 TCP_MISS/302 768 GET http://us.archive.ubuntu.com/ubuntu/dists/natty-proposed/universe/i18n/Translation-en.xz - DIRECT/141.210.26.10 text/html
1307310795.683     34 192.168.1.106 TCP_MISS/302 752 GET http://us.archive.ubuntu.com/ubuntu/dists/natty/main/i18n/Translation-en_US.lzma - DIRECT/141.210.26.10 text/html
1307310795.716     32 192.168.1.106 TCP_MISS/302 746 GET http://us.archive.ubuntu.com/ubuntu/dists/natty/main/i18n/Translation-en.lzma - DIRECT/141.210.26.10 text/html
1307310795.750     32 192.168.1.106 TCP_MISS/302 764 GET http://us.archive.ubuntu.com/ubuntu/dists/natty/multiverse/i18n/Translation-en_US.lzma - DIRECT/141.210.26.10 text/html
1307310795.784     32 192.168.1.106 TCP_MISS/302 758 GET http://us.archive.ubuntu.com/ubuntu/dists/natty/multiverse/i18n/Translation-en.lzma - DIRECT/141.210.26.10 text/html
1307310795.817     32 192.168.1.106 TCP_MISS/404 657 GET http://us.archive.ubuntu.com/dists/natty-proposed/multiverse/i18n/Translation-en_US.xz - DIRECT/141.210.26.10 text/html

එහි අර්ථය වන්නේ සේවාදායකයින් හැඹිලිය දකින නමුත් එය මග හැරී ඇති අතර, එය තවම හැඹිලිගත කර නොමැති බැවින් අපේක්ෂා කෙරේ. සෑම පසු ධාවනයක්ම TCP_HIT ලෙස පෙන්විය යුතුය. ඔබට දැල්ලන් හැඹිලි ගොනු සොයාගත හැකිය /var/cache/squid-deb-proxy.

එය භාවිතා කිරීම

එතැන් සිට ඔබේ ජාලයේ ඇති සියලුම යන්ත්‍ර ඇසුරුම් ලබා ගැනීම සඳහා පිටත ජාලයට පහර දීමට පෙර හැඹිලිය පරීක්ෂා කරනු ඇත. නව පැකේජ තිබේ නම් පළමු යන්ත්‍රය එය ජාලයෙන් බාගත කරනු ඇත, පසුව එම පැකේජය සඳහා වන ඉල්ලීම් සේවාදායකයෙන් සේවාදායකයින් වෙත පැමිණේ.

TODO

ජාලයෙන් ප්‍රචාරණය කළ හැඹිලියක් කොටුවෙන් පිටත හා පෙරනිමියෙන් භාවිතා කිරීමට අපට තවමත් යෝග්‍යතාවය සක්‍රීය කළ යුතුය, එබැවින් ඔබට ග්‍රාහක කොටස ස්ථාපනය කිරීමට අවශ්‍ය නොවේ. 403 හි ඩෙබ් දර්පණ ලැයිස්තුවේ නොමැති දෝෂය ද අප විසින් නිවැරදි කළ යුතුය .


2014/01/21 14: 56: 31 | දෝෂය: / var / cache / squid-deb-proxy / 03: (2) එවැනි ගොනුවක් හෝ නාමාවලියක් නොමැත FATAL: swap නාමාවලි වලින් එකක් සත්‍යාපනය කිරීමට අපොහොසත් විය, විස්තර සඳහා cache.log පරීක්ෂා කරන්න. අවශ්‍ය නම් swap බහලුම් සෑදීමට 'squid -z' ධාවනය කරන්න, නැතහොත් පළමු වරට Squid ධාවනය කරන්නේ නම්. දැල්ලන් හැඹිලිය (අනුවාදය 3.3.8): අසාමාන්‍ය ලෙස අවසන් කරන ලදි.
thumper

1
ඔබ දැල්ලන් ද ස්ථාපනය කළ යුතුය.
thumper

මෙම පෙනෙන ආකාරයට අත්පොත වින්යාස තවදුරටත් වලංගු නැත. apt.confයටතේ කිසිදු ගොනුවක් නොමැත /etc/apt. කෙසේ වෙතත්, යටතේ සැකසුම් සහිත ලිපිගොනු රාශියක් තිබේ /etc/apt/apt.conf.d. මම හිතන්නේ අපි දැන් ඒ වෙනුවට ගොනුවක් සෑදිය යුතුයි?
ඇලෙක්සිස් විල්කේ

එසේම, TODO විසඳා ඇති බව පෙනේ. එනම්, මට කිසිවක් කිරීමට අවශ්‍ය නොවූ අතර හැඹිලිය මුලින්ම භාවිතා කරන ලදී. දෝෂය නොපෙනුනත් එය තවමත් ස්ථාවර ලෙස සලකුණු කර ඇත.
ඇලෙක්සිස් විල්කේ

ඇත්ත වශයෙන්ම, apt.conf.d දැන් එය සිදු කරන්නේ කෙසේද යන්න කරුණාකර මෙම පිළිතුරට සංස්කරණයක් ඉදිරිපත් කරන්න, චියර්ස්!
ජෝර්ජ් කැස්ත්‍රෝ

38

apt-cacher-ngමට පිළිතුර - කුඩා පරිසරයක (සේවාදායකයින් 20 ක් පමණ) මට කිසිදු ගැටලුවකට මුහුණ දී නොමැත, එබැවින් මම සිතමි ag මැජික් ෆාබ් සඳහන් කිරීම් වර්තමාන අනුවාදයෙන් විසඳා ඇත (උබුන්ටු 10.04 සහ 10.10 මත ස්ථාපනය කර ඇත). සේවාදායකය සඳහා වින්‍යාස කිරීමක් අවශ්‍ය නොවන අතර, ඔබේ සේවාදායකයින්ට ඔවුන්ගේ පැකේජ කළමණාකරු ප්‍රොක්සිය ලෙස සේවාදායකය භාවිතා කරන ලෙස උපදෙස් දිය යුතුය.

පැකේජය ස්ථාපනය කිරීමෙන් සේවාදායකය සම්පූර්ණයෙන්ම ස්ථාපනය කර වින්‍යාස කර ඇත apt-cacher-ng.

APT ප්‍රොක්සි සැකසීමෙන් සේවාදායකයින් වින්‍යාසගත කළ යුතුය - ගොනුව එකතු කිරීමෙන් /etc/apt/apt.conf.d/01proxy, මෙය අඩංගු වේ (එහිදී "ඔබේ-apt-server" යනු ඔබේ සේවාදායකයාගේ නම හෝ IP ලිපිනයයි):

Acquire::http { Proxy "http://your-apt-server:3142"; };

සිදු කර ඇත - දැන් ඔබ භාවිතා කරන ප්‍රභවයන් හෝ ඔබ සතුව ඇති පද්ධති අනුවාදය කුමක් වුවත් පැකේජ සේවාදායකයා විසින් හැඹිලිගත කරනු ඇත (උදා: 10.04 සේවාදායකයක් 9.10,10.04 සහ 11.04 සේවාදායකයින්ට කිසිදු ගැටළුවක් හෝ ගැටුම් නොමැතිව භාවිතා කළ හැකිය).


ඔබට ජාල අතර සැරිසරන ග්‍රාහක ලැප්ටොප් (ය) තිබේ නම්, එය තව ටිකක් සංකීර්ණ වේ - ජාල ලිපිනය අනුව නිවැරදි ප්‍රොක්සිය සකසන ස්ක්‍රිප්ට් එකක් මම සාදා ඇත; ස්ක්‍රිප්ට් ක්‍රියාත්මක කළ හැකි සහ වේ /etc/network/if-up.d/apt-proxy. DHCP සේවාදායකයකින් IPv4 ලිපිනයක් ලැබීමෙන් පසු, ස්ක්‍රිප්ට් මඟින් අදාළ ජාලය සඳහා නිවැරදි apt-cacher සේවාදායකය සකසනු ඇත:

#!/bin/sh

set -e
# Don't bother when lo is configured.
if [ "$IFACE" = lo ]; then
    exit 0
fi
# Only run from ifup.
if [ "$MODE" != start ]; then
    exit 0
fi
# currently only cares about IPv4
if [ "$ADDRFAM" != inet ] && [ "$ADDRFAM" != NetworkManager ]; then
    exit 0
fi
# only run for DHCP-assigned addresses
if [ "$DHCP4_IP_ADDRESS" = "" ]; then
    exit 0
fi

# we're matching on network *broadcast* address,
#  not the specific IP address we were assigned
case "$DHCP4_BROADCAST_ADDRESS" in
    10.3.141.255)
        PROXY='Acquire::http::Proxy "http://my-home-server:3142";';
        ;;
    192.168.154.255)
        PROXY='Acquire::http::Proxy "http://work-server.foo.bar.example.com:3142";';
        ;;
    # add as needed
    *)
        # unknown, no proxying
        PROXY=""
        ;;
esac

# set the proxy
FNAME="/etc/apt/apt.conf.d/01proxy"
echo -n "$PROXY">$FNAME

exit 0

apt-cacher-ng ද IPv6 සඳහා සහය දක්වයි (මට මතකයි වෙනත් විසඳුම් සමහරක් නොකළ බව).
Azendale

11
වසරකට පසුව, මම කට අධික ගොස් තියෙනවා squid-deb-proxyසහ squid-deb-proxy-client: zeroconf සැබවින්ම සංචාරක පරිශීලකයන් සඳහා ඉතා ප්රයෝජනවත් වන, ග්රාහක මත ශුන්ය වින්යාස අදහස් - සහ නඩුවේ සේවාදායකය ප්රතිචාර, ග්රාහක පෙරනිමි සෘජු බාගත කිරීම සඳහා නොවේ.
පිස්ක්වර්

apt-cacher-ng උරා බොනවා, එය ඉතා දෝෂ සහිතයි, පැකේජ බාගත කිරීම මත රැඳී තිබේ. උදාහරණයක් ලෙස එය 30MB පැකේජයක් සඳහා 150 MB බාගත කර ඇති බව මම දුටුවෙමි
pylover

apt-cacher-ng පරිපූර්ණව ක්‍රියා කරයි. ඔබේ පද්ධතියේ යම් වැරැද්දක් තිබේ. නිරවද්‍යතාවයෙන් දැල්ලන්-ඩෙබ්-ප්‍රොක්සියට දැල්ලන් ස්ථාපනය කිරීමට අවශ්‍යය. ඒ සඳහා අවධාරනය කරයි.
කෙන් ෂාප්

දැන් එය හැඹිලියක් සමඟ වැඩ කිරීමට හොඳම විසඳුමයි pbuilder. මෙය කොටුවෙන් පිටත ක්‍රියාත්මක විය. zeroconf(2016 දී) සඳහා සහය ඇති බව පෙනේ , නමුත් මට (තවමත්) එය මගේ අවසානයට වැඩ කිරීමට නොහැකි විය.
ඇලෙක්සිස් විල්කේ


6

debmirrorඋපයෝගීතාවයෙන් දේශීය කැඩපතක් සැකසීමට මම වැඩි කැමැත්තක් දක්වමි.

මෙන්න උදාහරණයකි.

debmirror --progress --verbose --nosource --method=ftp --passive \
 --host=ftp.osuosl.org --root=pub/ubuntu \
 --dist=lucid,lucid-updates,lucid-security,lucid-backports \
 --section=main,restricted,universe,multiverse --arch=amd64 \
 /d2/ftp/mirror/ubuntu-lucid

මම මෙය සතියකට වරක් පමණ ධාවනය කරන අතර එය "පැච්ලෙවල්" එකක් හෝ කිහිපයක් ස්ථාපිත කිරීමේ පදනම ලෙස භාවිතා කරමි. උදාහරණයක් වශයෙන්...

 cd /d2/ftp/mirror/
 cp -al ubuntu-lucid ubuntu-lucid-20100908

මෙය ගසේ සම්බන්ධිත පිටපතක් නිර්මාණය කරයි (ශුන්‍ය තැටියේ ඉඩ ප්‍රමාණයක් භාවිතා කරයි) මගේ සෑම දේශීය සේවාදායකයක්ම යෝග්‍ය මූලාශ්‍ර වෙත යොමු කළ හැකිය.


5
ඔබ ubumirror පරීක්ෂා කර බැලිය යුතුය, එය ලේඛනාගාරයේ ඇති පහසුව පැකේජයක් වන අතර එය දැනටමත් ඔබ වෙනුවෙන් සකසා ඇත. නිල දර්පණ භාවිතා කරන්නේ එයයි.
ජෝර්ජ් කැස්ත්‍රෝ

2

කුඩා ජාල වල (නිවාස / කුඩා කාර්යාල වැනි), මම හොඳ ප්‍රති .ල සහිත apt-cacher-ng භාවිතා කර ඇත. මම නවතම අනුවාදයන් පරික්ෂා කර නැත, නමුත් එයට සේවාදායකය සහ සේවාදායකයින් යන දෙකම පරිස්සමින් සැකසීමට අවශ්‍ය බව මම දනිමි, එය ඔබේ දේශීය ජාලයෙන් යාවත්කාලීන කිරීම් පමණක් ලබා ගන්නා සේවාදායකයින්ට වඩාත් සුදුසුය.

මම ඉහත දැල්ලන් මත පදනම් වූ විසඳුම උත්සාහ කළ නමුත් එයට මා කැමති ප්‍රමාණයට වඩා වැඩකරන හා සේවාදායක වින්‍යාස කිහිපයක් යෙදීම අවශ්‍ය විය, එබැවින් කුඩා සැකසුම් තුළ apt-cacher-ng ආදේශ කළ හැකි යැයි තවමත් හැඟෙන්නේ නැත .


1

apt-cacher සැකසීමට පහසුම නොවන අතර එය දුරස්ථ වැඩිදියුණු කිරීමකින් නොනැසී පවතිනු ඇත.

squid-deb-proxyසේවාදායකයේ, සේවාදායකයේ ස්ථාපනය කරන්න squid-deb-proxy-client. එය ශුන්‍ය කොන්ෆ් අවාහි භාවිතා කරයි, එබැවින් වින්‍යාස කිරීමක් අවශ්‍ය නොවේ.

ඔබ හුදෙක් ඩෙබ්ස් වලට වඩා හැඹිලියක් සොයන්නේ නම්, මම ස්ක්විඩ් සමඟ කරදර වන්නේ නැත. Apache Traffic Server යනු ඊළඟ විශාල දෙයයි. http://trafficserver.readthedocs.org


දැල්ලන් ස්ථාපනය කිරීම සඳහා දැල්ලන්-ඩෙබ්-ප්‍රොක්සි අවධාරනය කරයි. Apt-cacher දිගු කලක් මිය ගොස් ඇත, apt-cacher-ng යනු එය ඇති තැනයි.
කෙන් ෂාප්
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.