התחברות לCCC
ע"י יורי ב20/02/2011אחרי שנמאס לי לחכות לטעינת סרטונים ביוטיוב עם בזב"ל, החלטתי למרות החוסר נוחות בחייגן לעבור לספקית החדשה, טריפל-סי. לקחתי את החבילה של ה-12 מגהביט והתחלתי להגדיר את החייגן.
בתור החייגן שלי נבחר mpd5 שהתקנתי מהפורטס, אחריי קצת חיפוש בגוגל מצאתי כמה קבצי הגדרות של כמה חבר'ה רוסים: אחד שתיים, ומשם התחלתי להגדיר ולשנות (ההגדרות הסופיות בסוף).
כל פעם שניסיתי לחייג השרת (cable.ccc.net.il) כל הזמן היה סוגר את החיבור, ניסיתי שרתים של חברות אחרות (בזק, נטויז'ן, 012) שכמובן לא קיבלו ממני יוזר וסיסמא, אבל לפחות ראיתי איזשהו תהליך הזדהות מולם, השרת של טריפל-סי פשוט ניתק לי עם ההודעה: tunnel receive scccn avp unknown.
שמתי לב שגם השרת של 018 מנתק לי באותה צורה, ושגם ה-Vendor שהוא שולח זהה לזה של טריפל-סי: Juniper Networks, Inc. ניסיתי להתחבר מחלונות, שם החיוג עבר בהצלחה. מוזר, אולי הם לא אוהבים את זה שmpd5 שולח בשדה ייצרן FreeBSD? קימפלתי מחדש את mpd5 עם שדה יצרן מיקרוסופט, אך זה לא פתר את הבעיה, עדיין אותו ניתוק מעצבן. אחרי קצת זמן עם tcpdump ו wireshark מצאתי ש mpd5 כנראה שובר את הפרוטוקול ושולח את החבילה SCCCN עם שדות חובה שלא צריכים להיות שם, ועל זה השרת מתלונן.
אחריי קצת חפירה בקוד, בתוך l2tp_ctrl.c, שורה 2104:
ppp_l2tp_ctrl_send(ctrl, 0, SCCCN, ctrl->avps);
שיניתי את ctrl->avps ל NULL, כדי שלא ישלח את הAVP מ SCCRP יחד עם ה SCCCN, יכול להיות ששברתי פה מקרה קצה כלשהו בפרוטוקול, אבל עכשיו mpd5 מתחבר בהצלחה לטריפל-סי =)
באג שפתחתי בsourceforge לגבי mpd5.
mpd.conf
startup: # configure mpd users set user username password admin set console self 127.0.0.1 5005 set console open default: load l2tp_dial l2tp_dial: create bundle static L2TP set iface up-script /usr/local/etc/mpd5/ccc_l2tp_up.sh set iface down-script /usr/local/etc/mpd5/ccc_l2tp_down.sh create link static L2 l2tp set link action bundle L2TP set link yes acfcomp protocomp set link latency 0 set link max-redial 0 set link mru 1460 set link mtu 1460 set link keep-alive 0 20 set auth authname "user" set auth password "pass" set l2tp peer 109.226.0.17 open
ccc_l2tp_up.sh
#!/bin/sh LocalGW=172.20.240.1 route delete $4 #route add $4 $LocalGW route add 109.226.0.17 $LocalGW route delete default route add default $4 echo $4 > /tmp/l2tp_GW cp /etc/resolv.conf.ccc /etc/resolv.conf
ccc_l2tp_down.sh
#!/bin/sh LocalGW=172.20.240.1 vpn_GW=`cat /tmp/l2tp_GW` route delete $vpn_GW route delete default route add default $LocalGW cp /etc/resolv.conf.hot /etc/resolv.conf