תועצמאב סקונילב תשרב ספה בחורב שומישה תא ליבגהל דציכ


.ספה בחורל בצעמה םושיי לש דיקפתה תא ךירעת זא ,ךלש הרובעתה לכ תא לכא דחא םושיי ובש בצמב תייה םעפ יא םא ?ךלש תשרה לכ לש ספה בחורב טלש דחא םושיי םהבש םיבצמב םעפ תלקתנ םאה

.דחא םושיי ידי לע ףרשנ אל ךלש תשרה לש ספה בחורש אדוול ידכ םימושייל הדרוההו האלעהה תויוריהמב טולשל דציכ דומלל ךילע ,סקוניל שמתשמ םתס וא תכרעמ להנמ התאש וא

[סקונילב תשרב שומישה חותינל ספה בחור רוטינל םיליעומ םילכ 16 :בהאתש ןכתיי]

?לקירט הז המ

Trickle ןימזה ספה בחור (תיברמ תא וא) לכ תא לוזגל םהמ דחא לכמ עונמל תנמ לע םימושיי לש הדרוההו האלעהה תוריהמ תא להנל ונל רשפאמה תשרב ספה בחור בוציעל ילכ אוה.

.ריכמ רתוי ונחנאש הנקתהה איהש הארנכו ,חוקל תרש תביבסב ספה בחור בוציעל תיסאלקה המגודה איהש ,שמתשמל הטילשל דוגינב ,םושיי סיסב לע תשרה תרובעת בצק לע טולשל ךל רשפאמ ףוטפט ,םילימ המכב

?דבוע לקירט ךיא

.יטמוטוא ןפואב רתוי ספ בחור ולבקי ןיידע תופידע תויצקילפא ,הלוכ תכרעמל תויללכ תולבגמ ועבקנ רשאכש ךכ ,םושיי סיסב לע תויופידע ירדס רידגהל ונל רוזעל לוכי ףוטפט ,ףסונב

.ןותנ עגר לכב בצעמ אוה ותוא ךילהתה תוגהנתה תא הרוצ םושב הנשמ וניא ףוטפטה ,םינותנה תרבעה בצק דבלמ יכ ןייצל ונילע .TCP ירוביח תועצמאב ,םהמ םיעקשו םהילא םיחלשנ םינותנ ובש ןפואל העונת תולבגמ ר

?תושעל לוכי אל Trickle המ

.וללה הנכותה יביכר ינש ןיב proxy -כ זא לעופ Trickle .ול ךיושמה תשרה עקשל בצועמה ךילהתה ןיב ומצע תא םקמל ידכ םיימניד הניעטו רושיקב שמתשמ אוהש ןוויכמ SGID -ה וא SUID -ה טס םע תיטטס םירשוקמ ת

.תכרעמה להנמ עבקש תולובגב דימת ךא ,םהלש הרובעתה ירועיש תא להנל ולכוי ןיידע םישמתשמ ,תורחא םילימב .םהמ גורחל םילוכי םניא תכרעמה ישמתשמש ללוכ תולבגמ עובקל דציכ קודבנ ,יוצר תויהל לוכי אל הזש

.ףיזרז תרזעב סקוניל תרשב םימושיי שמשמה תשרה לש ספה בחור תא ליבגהל דציכ ריבסנ הז רמאמב

.וטנובואו RedHat, Fedora תוססובמ תוכרעמ לע םג תודבוע תוארוה ןתוא .המגדה תורטמ רובע (Debian - dev2: 192.168.0.15) תרשב vsftpd -ו ,(CentOS - dev1: 192.168.0.17 תרש) חוקלה לע (ncftp תנקתהב םי

סקונילב vsftpd -ו ncftp תנקתה

.הז רגאממ םינימז ncftp ןהו ףוטפט ןה .CentOS -ו Red Hat Enterprise Linux ומכ ,הלש תוניפסל 100% ב תמאותו הרודפ טקיורפ ידי לע תקזחותמה ההובג תוכיאב תוימניחו חותפ דוק תונכות לש רגאמ אוה (EPEL)

:אבה ןפואב ncftp תא ןקתה .2

# yum update && sudo yum install ncftp		[On RedHat based systems]
# aptitude update && aptitude install ncftp	[On Debian based systems]	

.םתדרוהב וא םיצבק תאלעהב החטבאב ךרוצ ןיא םהב םירקמב בחרנ שומישב אצמנ ןיידע אוה ,ועבטמ ועבטמ וניא FTP -ש תורמלש בל םיש .דרפנ תרשב FTP תרש רדגה .3

.םיפסונ העשו ךיראתל וב שמתשהל אל וא שמתשהל שי םאה ןוידה תא ריאשנו ,חוקלה לע stdout -ב הרבעהה ירועיש תא גיצמ אוהש ןוויכמו ףוטפטה עפש תא שיחמהל ידכ הז רמאמב וב םישמתשמ ונא

# yum update && yum install vsftpd 		[On RedHat based systems]
# apt update && apt install vsftpd 	[On Debian based systems]

:אבה ןפואב FTP תרשב etc/vsftpd/vsftpd.conf/ ץבוקה תא ךורע תעכ

$ sudo nano /etc/vsftpd/vsftpd.conf
OR
$ sudo /etc/vsftpd.conf

:םיאבה םייונישה תא עצב

anonymous_enable=NO
local_enable=YES
chroot_local_user=YES
allow_writeable_chroot=YES

:םיידיתע םייפגמב תיטמוטוא הלעפהל התוא ליעפהלו ךלש תיחכונה הלעפהה רובע vsftpd ליחתהל דפקה ,ןכמ רחאל

# systemctl start vsftpd 		[For systemd-based systems]
# systemctl enable vsftpd
# service vsftpd start 			[For init-based systems]
# chkconfig vsftpd on

.ךירִדמַ שרושה תיבל ץוחמ יוצרה ןכותה תדרוהו האלעהל םימיאתמה םיצבקהו תוירפסה םע המסיסב ןגומ שמתשמ ןובשחל קקדזת ,קוחרמ השיגל SSH ישקמ םע CentOS/RHEL תפיטב FTP -ה תרש תא רידגהל תרחב םא .4

.FTP -ה תרשב םיפקת המסיסו שמתשמ ןובשח ךממ שקבי רשא עיפוי הסינכ ןולח .ךלש ןפדפדב האבה רתאה תבותכ תנזה ידי לע ךלש תיבה תיירפסל ףדפדל לכות ןכמ רחאל

ftp://192.168.0.15

.םימדוק םיבלשב ולעוהש םיצבקה תא גיצהל ידכ דומעה תא ןנערל לכות ,הז ךירדמ ךשמהב .ךלש תיתיבה היירפסה ןכות תא הארת ,חילצי תומיאה םא

סקונילב Trickle ןיקתהל דציכ

.apt וא yum ךרד ףוטפט ןקתה וישכע

.ומצע ילכה תנקתה ינפל (םאי ןוכדע תועצמאב) תונכדועמ תעכ תונקתומה תוליבחהש אדוול תוצלמומ הדובע תוטישל בשחנ הז ,תחלצומ הנקתה חיטבהל ידכ

# yum -y update && yum install trickle 		        [On RedHat based systems]
# apt -y update && apt install trickle 	[On Debian based systems]

.המישרב תימניד תולת גציימ ldd ובש ,ldd עודיה תורישה ילכב שמתשהל לכונ ,םיוסמ םושיי םע הז ילכב שמתשהל םילוכי ונא םא אדוול ידכ .תופתושמ וא תוימניד תוירפס תועצמאב תויראניב םע קר דובעי ףוטפטה ,

.םיעקש ךרד תרושקתב תוברועמה תכרעמה תוחיש תא הרידגמ קוידב היירפס התואש ןוויכמ הנותנ תינכות לכ לש תימנידה תולתה תמישרב (GNU C תיירפס) glibc לש םתוחכונ תא שפחנ ,יפיצפס ןפואב

:ולש ספה בחור בוציעל ףוטפטב שמתשהל ןתינ םא תוארל ידכ ןותנ יראניב דגנכ האבה הדוקפה תא לעפה

# ldd $(which [binary]) | grep libc.so

,המגודל

# ldd $(which ncftp) | grep libc.so

:איה ותקופתש

# libc.so.6 => /lib64/libc.so.6 (0x00007efff2e6c000)

.יזיפה ןורכיזב היירפסה לש הניעטה תבותכ תא תגציימ איהש ןוויכמ הדוקפ התוא לש תואבה תוצירה ןיב וליפאו תכרעמל תכרעממ תונתשהל היושע טלפב םיירגוס ןיב תזורחמה

.הז הרקמב ספ בחור בצעמכ ףוטפטב שמתשהל ןתינ אל ןכלו ,libc -ב שמתשמ וניא לעפוה וילאש יראניבהש איה תועמשמה ,ןהשלכ תואצות הריזחמ הניא ל"נה הדוקפה םא

סקונילב לקירטב שמתשהל דציכ דמל

.האלעהו הדרוה תוקידב ךרוצל היצקילפא התואב שמתשנ ,רוציקה ךרוצל ,ןכל םדוק ונרבסהש יפכ .ןותנ םושיי לש האלעההו הדרוהה תוריהמ תא שרופמב רידגהל ידכ ףוטפטב םישמתשמ וז השיג תועצמאב .יאמצע בצמב אוה

.יאמצע בצמב לועפל ךירצ ףוטפט יכ ןייצמה , -s לגדב שמתשנ ,ףסונב .הדיחי התוא ידי לע האלעהה תוריהמ תא ליבגהל ףטפטל רמוא -u לגדה וליאו ,KB/s -ב הדרוהה תוריהמ תא ת

:ןמקלדכ אוה יאמצע בצמב ףוטפט תלעפהל יסיסבה ריבחתה

# trickle -s -d [download rate in KB/s] -u [upload rate in KB/s]

.(ילש הרקמב 192.168.0.17) חוקלה בשחמב ncftp -ו ףוטפט תנקתהש אדו ,ךמצעב תואבה תואמגודה תא עצבל תנמ לע

.תואבה תוקידבה ךרוצל (ןאכמ ןימז) ישפוח ןפואב ץפומה Linux Fundamentals לש PDF ץבוקב םישמתשמ ונא

:האבה הדוקפה תועצמאב ךלש תיחכונה הדובעה תיירפסל הז ץבוק דירוהל לכות הליחת

# wget http://linux-training.be/files/books/LinuxFun.pdf 

:ןמקלדכ אוה ףטפטל ילב ונלש FTP -ה תרשל ץבוק תולעהל ריבחתה

# ncftpput -u username -p password 192.168.0.15  /remote_directory local-filename 

.ךלש תיחכונה הדובעה תיירפסב ץבוק אוה ימוקמה ץבוקה םשו ,שמתשמה םש תיבל סחיב האלעהה תיירפס לש ביתנה אוה remote_directory/הפיא

:ידיימ ןפואב טעמכ הלעומ ץבוקהו ,(ידיימ יתלחתה איש אלא ,תעצוממה האלעהה תוריהמ הניא וזש בל ומיש) היינשל הגמ 52.02 לש איש האלעה תוריהמ לבקנ ףוטפט אלל ,יפיצפס ןפואב

# ncftpput -u username -p password 192.168.0.15  /testdir LinuxFun.pdf 

:הקָוּפתְ

LinuxFun.pdf:                                        	2.79 MB   52.02 MB/s

:הרבעהה תא עצבי אלו תולעהל םיסנמ ונחנאש ההז דעיה תיירפסב ץבוקהש ונל עידוי ncftp ,תרחא ;דעיה תיירפסמ ותוא קוחמל ונילע ,היינשה םעפב ץבוקה תאלעה ינפל .היינש/KB 5- ב האלעהה תרבעה בצק תא ליבג

# rm /absolute/path/to/destination/directory/LinuxFun.pdf 

:ןכמ רחאל

# trickle -s -u 5 ncftpput -u username -p password 111.111.111.111 /testdir LinuxFun.pdf 

:הקָוּפתְ

LinuxFun.pdf:                                        	2.79 MB	4.94 kB/s

.היינש/וליק 5 ~ ל הדרי תעצוממה האלעהה תוריהמש תוארל םילוכי ונא ליעלש המגודב

:תירוקמה רוקמה תיירפסמ PDF -ה תא קוחמל רוכז ,תישאר

# rm /absolute/path/to/source/directory/LinuxFun.pdf 

.FTP -ה תרש לש IP -ה תבותכ רחאל העיפומה ('.') הפוקתה ידי לע תנמוסמ וז הדבוע .חוקלה בשחמב תיחכונה הירפסל קחורמה ץבוקה תא ודירוי םיאבה םירקמהש בל םיש

:ףוטפט אלל

# ncftpget -u username -p  password 111.111.111.111 . /testdir/LinuxFun.pdf 

:הקָוּפתְ

LinuxFun.pdf:                                        	2.79 MB  260.53 MB/s

:KB/s 20- ב הדרוהה תוריהמ תלבגה ,ףוטפט םע

# trickle -s -d 30 ncftpget -u username -p password 111.111.111.111 . /testdir/LinuxFun.pdf 

:הקָוּפתְ

LinuxFun.pdf:                                        	2.79 MB   17.76 kB/s

[להונמ אל] חוקיפ בצמב הציר ץירמ

Trickle ב םירדגומה םירטמרפ תרדס תובקעב ,להונמ אל בצמב םג לועפל לוכי /etc/trickled.conf. ףוטפט להנמו גהנתמ (ןומדה) ףוטפט דציכ רידגמ הז ץבוק.

.םעפ לכב תולבגמ ןייצל ךרטצנש ילבמ הגיזרז תועצמאב םילעפומה םימושייה לכ ידי לע ופתושיש האלעהו הדרוה תולבגמ רידגהל ונל תרשפאמו ןומדה תא הצירמ וז הדוקפ .תשטשוטמה הדוקפב שמתשהל ךרטצנ ,םימושייה

:הציר ,אמגודל

# trickled -d 50 -u 10

.המאתהב KB/s 10 -ו KB/s 30 -ל תולבגומ הגיזרז תועצמאב לעפומה םושיי לכ לש האלעההו הדרוהה תויוריהמל םורגי

:םינועיט וליאבו לעופ ףוטפט םא תע לכב קודבל לוכי התאש בל םיש

# ps -ef | grep trickled | grep -v grep

:הקָוּפתְ

root 	16475 	1  0 Dec24 ?    	00:00:04 trickled -d 50 -u 10

.הז רושיקמ הדרוהל ןימזה ,םניחב הצפהל "הנתמה אוה" ןוטרסב שמתשנ וז המגודב

:האבה הדוקפה םע ךלש תיחכונה הדובעה תיירפסל ץבוקה תא דירונ הליחתב

# wget http://media2.ldscdn.org/assets/missionary/our-people-2014/2014-00-1460-he-is-the-gift-360p-eng.mp4 

:ליעל תטרופמה הדוקפה םע ףלוזה ןומדה תא ליחתנ ,תישאר

# trickled -d 30 -u 10

:ףוטפט אלל

# ncftpput -u username -p password 192.168.0.15 /testdir 2014-00-1460-he-is-the-gift-360p-eng.mp4 

:הקָוּפתְ

2014-00-1460-he-is-the-gift-360p-eng.mp4:           	18.53 MB   36.31 MB/s

:ףוטפטב

# trickle ncftpput -u username -p password 192.168.0.15 /testdir 2014-00-1460-he-is-the-gift-360p-eng.mp4 

:הקָוּפתְ

2014-00-1460-he-is-the-gift-360p-eng.mp4:           	18.53 MB	9.51 kB/s

.KB/s 10 ~ ל חנצ האלעהה תרבעה בצק ,ליעלש טלפב תוארל ןתינש יפכ

.תיחכונה הדובעה תיירפסל ץבוקה תא םידירומ ונא ,2 המגודב ומכ

:ףוטפט אלל

# ncftpget -u username -p password 192.168.0.15 . /testdir/2014-00-1460-he-is-the-gift-360p-eng.mp4 

:הקָוּפתְ

2014-00-1460-he-is-the-gift-360p-eng.mp4:           	18.53 MB  108.34 MB/s

:ףוטפטב

# trickle ncftpget -u username -p password 111.111.111.111 . /testdir/2014-00-1460-he-is-the-gift-360p-eng.mp4 

:הקָוּפתְ

2014-00-1460-he-is-the-gift-360p-eng.mp4:           	18.53 MB   29.28 kB/s

.(KB/s 30) ןכל םדוק הרדגוהש תודרוהה תלבגמל םאתהב איהש

.ףוטפטב שמתשמה םושיי לכ רובע תוישיא תולבגמ רידגהל ךרוצ ןיא ,ליחתה ןומדהש רחאל :הרעה

:םיאבה םירבדה תא ללוכ הז ץבוקב יסופיט עטק .trickled.conf תועצמאב ףיזרז לש ספה בחור בוציע תא תישיא םיאתהל ןתינ ,םדוק ונרכזהש יפכ

[service]
Priority = <value>
Time-Smoothing = <value>
Length-Smoothing = <value>

,הפיא

    .יפיצפס שיחרת לכב רקיעב היולת איהש ןוויכמ הז חוורמ לש םינותחתהו םינותחתה תולובגה בושיחל החסונ ןיא ,רעצה הברמל .עובק ךרע םוקמב חוורב הרבעה ירועיש תועצמאב [תוריש] ידי לע ןיוצש םושייל םגרותי

    :CentOS 7 (192.168.0.17) חוקלב trickled.conf המגודל ץבוק ןלהל

    [ssh]
    Priority = 1
    Time-Smoothing = 0.1
    Length-Smoothing = 2
    
    [ftp]
    Priority = 2
    Time-Smoothing = 1
    Length-Smoothing = 3
    

    .רתוי לודג ךרעב שמתשמ (FTP) הלודג תומכב םינותנ תורבעה עצבמה תוריש וליאו ,רתוי םינטק ןמז תקלחה יכרעב שמתשמ ,SSH ןוגכ ,יביטקארטניא ךילהתש בל םיש .FTP תורבעה ינפ לע SSH ירוביח ףידעי ףוטפט ,וז

    .וילא בורק חוורמב ענ אלא ףטפטמה ןומדה ידי לע ןיוצש קיודמה ךרעה תא םימאות אלש ונלש תמדוקה המגודב האלעההו הדרוהה תויוריהמל םיארחא הקלחהה יכרע

    [OpenSSH תרש תא חישקהלו חטבאל דציכ :םג הצרת ילוא]

    םוכיס

    :ל םילבגומ םניא ךא ,םיללוכ םירחא םיירשפא שומיש ירקמ .תורזגנ/ןאיבד תורזגנו הרודפ תוססובמ תוצפה לע הגיזרז תועצמאב םימושיי םישמתשמ וב ספה בחור תא ליבגהל דציכ ונחב הז רמאמב

      .ונכרדב םתוא חולשל ידכ הטמל ספוטב שמתשהל ססהת לא .הכרבב ולבקתי תובוגתו תולאש