סריקת Metasploitable3 על ידי NMAP כל הזכויות שמורות לטל בן שושן Shushan.co.il סריקת Metasploitable 3 על ידי NMAP על מנת לבצע את המאמר, יש לעבור תחילה על המאמרים הבאים : Kali & Metasploit התקנת Kali 2017.3 הגדרה ראשונית של Kali והוספת Repository הסבר הגדרה והפעלת Metasploit פקודות ושימוש ב Metasploit Metasplooitable3 הסבר והתקנת Metasploitable3 סריקת Metasploitable3 על ידי NMAP Exploitation Of Metasploitable3 במאמר זה נדבר על סריקה של Metasploitable 3 וכיצד לאתר את האפליקציות \ פורטים הפתוחים בו אך תחילה יש להפעיל את השירותים הבאים SNMP : ו FTP
התחברו למכונת ה Metasploitable3 שם המשתמש vagrant : סיסמא vagrant : כעת בצעו את הפעולות הבאות על מנת להתקין SNMP ו FTP הגדרה זו היא גם ל FTP וגם ל SNMP SNMP כנסו ל Server Manager ואז Add Features שם סמנו את SNMP והתקינו אותו כעת כנסו ל Services.msc ושם לשירות ) SNMP Service קליק ימני ואז מאפיינים על השירות(
Accept SNMP from any host סמנו בעיגול את ה,Security כעת בלשונית OK ו
FTP לכן, התקינו את ה IIS
Internet Information Services Console כנסו ל Default Web Site ולחצו קליק ימני על
Add FTP Publishing לחצו על
Allow SSL כעת בחרו ב
OK ואז Write וגם Read ואז All users סמנו Basic הגדירו
חזרו אחורה
Allow SSL Connection שאכן זה על FTP SSL ובדקו ב
NMAP תחילה נבצע סריקה על כל הרשת LAN אליו הוא מחובר )כרטיס הרשת שלו מוגדר כ (Bridge נפתח את Kali ונפעיל את ה Terminal
כעת נקיש את הפקודה nmap -sn -n -v 192.168.31.0-253 sn יבצע סריקה של רק האם המחשב למעלה פעיל או לא פעיל n יציג את הקפיצות ליעד או יותר נכון בצורה אנכית v יציג איזה שירות או OS השרת \ מחשב הזה מייצגים למשל אם זה מכונה וירטואלית נקבל vmware Virtual Machine
כעת נבדוק את השורה הזו, נוכל לראות ששרת 192.168.31.228 פעיל, ורשום גם Oracle,VirtualBox למעשה אנחנו יודעים ש Metasploitable3 עובד רק על VirtualBox ולכן יודעים שזה התחנה שאותה נסרוק ונבדוק
כעת נפתח Terminal נוסף ובו נקליד systemctl start postgresql זאת על מנת להפעיל את מצב ה Database ב Metasploit כעת נפעיל אותו msfdb init וכעת על מנת להפעיל את Metasploit הקישו msfconsole כעת נקיש, על מנת להוסיף Database חדש שבו משתמש למעבדת ה Metasploit workspace --add ms3 כעת בכל פעם שנרצה לבחור במסד הנתונים ms3 נקליד workspace ms3 כעת נבצע סריקת פורטים לכתובת 192.168.31.228 שהוא ה Metasploitable3 ונייצא את זה לקובץ שנכניס אותו ל Metasploit עצמו )ספציפית למסד הנתונים (ms3 נפתח את הטרמינל שפתחנו בהתחה )או שנפתח חדש( ונקיש nmap -p- -ss -n -v --reason --open -ox meta3ports.xml --
stylesheet=nmap.xml 192.168.31.228 -p אם נקיש רק p- נאלץ לתת טווח של פורטים, אם נקיש -p- הוא יבצע סריקה לכל הפורטים הקיימים ss סריקת SYN המפורסת של NMAP n לא יבצע תרגום DNS v קיצור של, verbose יציג את כל המידע על הסריקה reason על ידי איזה סריקה הוא מצא שהפורט פתוח? open יציג רק פורטים פתוחים ולא כאלה שהם Filtered או כל אחד מ 6 הסוגים האחרים של NMAP ox ייצא את זה לקובץ שנוכל לייבא ל Metasploit stylesheel אם נרצה נוכל לפתוח את זה ב Firefox בצורה נוחה ומסודרת התוצאה : נוכל לראות איזה פורטים פתוחים
כעת נבצע סריקה לפורטים,UDP סריקה זו קצת ארוכה שכן UDP הוא פרוטוקול לא אמין ולכן לוקח זמן נקיש את הפקודה הבאה על מנת שיבצע סריקה nmap -su -n -v --reason --open 192.168.31.228 su- מבצע סריקת UDP ניתן להקיש רווח על מנת לבדוק באיזה מצב התקדמות הוא נמצא כעת נחזור לטרמינל בו פתוח לנו ה msf הלוא הוא ה Metasploit על מנת לייבא את הקובץ
XML אל תוך ה Metasploit שלנו נקיש את הפקודה db_import meta3ports.xml כעת אם נקיש services נוכל לראות את כל השירותים הפתוחים השאלה הגדולה כעת היא איזה פורט הוא כל שירות? חלקכם יגדו הא 80 זה קל! זה בטח IIS של מיקרוסופט. ואם זה בכלל?Apahce המותקן דרך?XAMPP ופורט 21 זה בטח?FTP אבל איזה שירות?FTP זה אולי?Microsoft FTP או אולי? Filezilla FTP נקיש את הפקודה, הקשתי את כל הפורטים שמצאנו בסעיף הקודם באופן הידני והאיטי על מנת
להציג לכם את כל הפורטים שמצאנו ודרך הסריקה שלהם על מנת למצוא לאיזה שירותים הם שייכים. db_nmap nmap -ss -sv -sc -v -n -p 21,22,80,135,139,161,445,1617,3000,3306,3389,3700,4848,5985,76 76,8009,8019,8020,8022,8027,8028,8031,8080,8181,8282,8383,8443,8444,8484,8585,8686,9200,9300,47001,49152,49153,49154,49155,4 9157,49160,49161,49181,49215,49259,49279,49280 192.168.31.228 db_nmap יכניס את כל המידע אל המסד נתונים ms3 שיצרנו ss סריקת SYN sv סריקה של הגירסה של האפליקציה היושבת מאחורי הפורט v יציג את הפעולות שהוא מבצע Verbose n לא יבצע סריקת DNS ובכך הסריקה תיהיה מהירה יותר p- איזה פורטים לסרוק נתחיל בחיפוש, נוכל ללחוץ רווח על מנת לראות את ההתקדמות שלו )הסריקה קצת ארוכה בגלל ה UDP scan שבצענו בנוסף לסריקת TCP SYN בסיום נקבל רשימה, נוכל לרשום Services services ונוכל לקבל את הרשימה המלאה מה פתוח ומה סגור ואיזה גירסה כל דבר
מצויין, עכשיו נוכל לחפש על כל שירות והגירסה שלו האם קיים Exploit או חולשה על ידי סט הכלים שאנחנו מכירים Metasploit, SQLMap, WPScan וכו הסבר והגדרת Microsoft VPN Server 2016
הסבר והגדרת Microsoft VPN VPN הוא קיצור של Virtual Private Network והמטרה שלו הוא לאפשר חיבור בטוח לרשת, לרוב רשת ארגונית, נאמר ארגון רוצה שאחד העובדים שלו יתחבר לרשת במקום העבודה מהבית, אז הארגון יוצר רשת VPN כל שהמשתמש שלו מזין את כתובת שרת ה VPN ואת ההרשאות המתאימות )כמו שם משתמש וסיסמא( ואז מתחבר לרשת הארגונית, מה ההבדל בין רשת לבין התחברות מרחוק, שכך המשתמש מתחבר דרך המחשב שלו לרשת עצמה ולא מתחבר למחשב שלו במשרד וכך הארגון יוצר את אותה הרשת שיש בארגון אצל המחשב של המשתמש בכל מקום בו המשתמש נמצא )בבית, במשרד, בדרך וכו ( באמר זה נראה כיצד להגדיר מחשב ברשת 192.168.1.0 ומתחבר ב VPN לרשת 172.16.1.0 ובכך יש לו גישה לרשת שלא הייתה לו לפני. דרישות : DC1 בו מותקן DHCP שרת RTR-VPN Server 2016 מצורף לדומיין PC1 על מנת להתחבר ל VPN לא מצורף לדומיין אחרי שהתקנתם את DC1 את שרת RTR ואת PC1 נגדיר את כרטיסי הרשת : נתחיל מ,DC1 יצרתי Switch Virtual בשם Tal והגדרתי אותו ל DC1 והוא הרשת של הארגון )רשת פנימית כמובן(
הכתובת שנתתי לו היא
כעת נגדיר 2 כרטיסי רשת בשרת ה RTR כרטיס רשת אחד פונה לרשת 172.16.1.0 וכרטיס רשת נוסף פונה לרשת ) 192.168.1.0 רשת זו היא רשת חיצונית לחלוטין( סוויצ וירטואלי פרטי הוא כמובן Tal על מנת שהשרת יהיה ברשת הפנימית וידבר עם DC1 והשני הוא כרטיס רשת חיצוני Bridged הכרטיס Tal הכרטיס השני Bridge על מנת שברשת העולמית יהיה גישה להתחבר לשרת ה VPN
כעת בתוך שרת RTR הגדרתי את הכתובות כך : הרשת הפנימית של הארגון )סוויצ וירטואלי (Tal
הכרטיס רשת שפונה לרשת העולמית ה Bridged
כעת נעבור ל PC1 כרטיס הרשת שלו פונה רק לעולם Bridged, והכתובת IP שנתתי
כעת נבדוק פינג מ PC1 לרשת העולמית למשל ל 8.8.8.8 נוכל להבחין שיש פינג ואילו לרשת הפנימית 172.16.1.0 למשל ל DC1 אין
Active Directory ) כמובן שהתקנתם בו את Doamin Controller כ DC1 כעת הגדירו את DHCP נתקין כעת,( Domain Services ונתקין DHCP Server ונסמן את Add Roles And Features ואז Server Manager נכנס ל
נלחץ קליק ימני על IPv4 ואז New Scope
הבא
תנו שם ל ) Scope לא קריטי השם(
נגדיר טווח שאנו רוצים, למשל מ 172.16.1.100 עד ) 172.16.1.200 חשוב! שנו את ה Subnet ל 24/ שהוא (Class C הבא
הבא
הבא נגדיר שרת ) Default Gateway לא חובה אבל אולי בהמשך תגדירו (Router
מכאן לחצו על Next עד סוף האשף
DHCP מעולה! כעת יש לנו שרת Remote Access את RTR כעת נתקין בשרת Add Roles and Features ואז ל Server Manager נכנס ל
Remote Access סמנו את
סמנו את ) Routing הוא יסמן לכם גם את Direct Access וזה בסדר(
התקינו
Routing And Remote Access כעת נכנס ל
כעת נלחץ קליק ימני על RTR
נלחץ הבא
נסמן VPN
נבחר בכרטיס הרשת 192.168.1.10
Automatically נשאיר על
. No, Use routing and נשאיר על
וסיום
כעת הוא ישאל על,DHCP אם ה DHCP נמצא ברשת אחרת אתם חייבים להגדיר DHCP Relay Agent אם הוא קיים באותה הרשת בה השרת אין בעיה )אם אינכם יודעים מהו קיים מאמר על הנושא באתר( לחצו על OK
כעת נלך ל Active Directory ב DC1 ונפתח משתמש, אם קיים לחצו עליו קליק ימני ואז Properties
Allow Access סמנו את Dial in כעת בלשונית
Network And Sharing Center כעת נכנס ללוח הבקרה ואז Set up a net connection or network לחצו על
Connect to a workplace כעת לחצו על
use my internet connection VPN האופציה הראשונה
האופציה השניה I ll set up connection later כעת סמנו את
הכניסו את כתובת ה IP של שרת ה VPN שלנו והבא
כעת לחצו על כרטיס הרשת בצד שמאל למטה ואז על VPN Connection ובו Connect
הזינו את ההרשאות של המשתמש שלכם
כעת אתם מחוברים
נפתח את CMD ונבדוק שיש פינג לרשת שאליה רצינו שיהיה גישה הרשת הפנימית 172.16.1.10 )למשל ה (DC1
זיהוי רכיבים ברשת על ידי NetDiscover כל הזכויות שמורות לטל בן שושן Shushan.co.il
זיהוי רכיבים ברשת על ידי NetDiscover NetDiscover הוא כלי לאיתור רכיבים ברשת כמו : מחשבים, טלפונים, נתבים, סווצים וכו נפתח ב KALI את הטרמינל root@kali:~# netdiscover ונמתין שיסרוק את הרשת, ניתן לראות שהוא מצא את הרכיבים, כתובות IP הכתובת MAC של כל רכיב ואת שמו אם מפורסם
הסבר על VPN והתקנת OpenVPN כל הזכויות שמורות לטל בן שושן Shushan.co.il
הסבר על VPN והתקנת OpenVPN VPN הוא קיצור של Virtual Private Network והמטרה שלו היא ליצור התקשרות מאובטחת מצד אחד לצד אחר, נאמר ואתם נמצאים בתל אביב ומעוניינים להתחבר למשרד בירושלים, ללא VPN הייתם מתחברים לרשת של הארגון דרך ה WIFI של בית המלון בו אתם נמצאים וכל המידע היה עובר בצורה לא מאובטחת אל הצד השני ובחזרה וכך תוקף יוכל על ידי MITM )התקפת האדם שבאמצע( לקרוא את המידע ובכך לסכן את הארגון. VPN יוצר מנהרה Tunelling בין המחשב שלכם בבית המלון אל הרשת הארגונית בירושלים ולאחר מכן מצפין את המידע הזורם באותו מנהרה כך למעשה המידע מוצפן וגם אם התוקף חדר את ה Tunelling הוא לא יכול לפתוח את ההצפנה. ההתחברות הזו יוצרת בתוך המחשב שלכם את הרשת של הארגון וגישה למשאבי הארגון, כמובן שכתובת הרשת שונה משל הארגון וניתנת לניהול בצורה אחרת. הדרישות : שרת CentOS 7 גירסת Minimal עם כרטיס רשת חיצוני מחשב Windows נתחיל נבצע עדכון למערכת, [root@localhost ~]# yum update לאחר העדכון נוודא כי מותקן לנו ifconfig [root@localhost ~]# yum install net-tools נתקין את הרפוסטורי של Epel [root@localhost ~]# yum install epel-release -y נתקין את הכלי שאיתו ניצור את התעודות ונתקין את openvpn
[root@localhost ~]# yum install openvpn easy-rsa -y openvpn אל התיקייה של easy-rsa נבצע העתקה לקבצים של [root@localhost ~]# cp -R /usr/share/easy-rsa/ /etc/openvpn/ easy-rsa ניגש לתיקייה [root@localhost ~]# cd /etc/openvpn/easy-rsa/2.0/ vars נערוך את [root@localhost ~]# vi vars נרד עד ללמטה : ונערוך את ההגדרות כך הגדרות חשובות מאוד 2 export KEY_NAME= server זהו שם השרת שלנו export KEY_NAME= server # export KEY_CN= openvpn.tal.local אם אנחנו רוצים לחתום את כל המפתחות עם אותו השם כתבו את הכתובת של השרת שלכם והסירו את הסולמית שמרו וצאו
כעת הקישו [root@localhost ~]# source./vars נמחק את כל מה שקיים בתיקייה שכן אנחנו מגדירים את כל התעודות מחדש [root@localhost ~]#./clean-all נבנה את תעודת ה CA [root@localhost ~]#./build-ca נלחץ על הכל Enter נבנה את תעודת המחשב [root@localhost ~]#./build-key client נקיש על הכל Enter אך אל תשכחו בשורות שסימנתי לכם באדום ללחוץ על y ואז Enter
נבנה את תעודת השרת [root@localhost ~]#./build-key-server server Enter ואז y גם כאן לא לשכוח לרשום
נבנה את דיפי - הלמן [root@localhost ~]#./build-dh כעת נעתיק את המפתחות את התיקייה של ) openvpn לא בטוח שבהמשך נשתמש במיקום שלהם( [root@localhost ~]# cp -R keys/ /etc/openvpn/
נכנס לתיקיית של openvpn [root@localhost ~]# cd /etc/openvpn/ נעתיק את קובץ ההגדרות [root@localhost ~]# cp /usr/share/doc/openvpn-*/sample/sample-config files/server.conf /etc/openvpn וכעת נערוך את קובץ ההגדרות [root@localhost ~]# vi server.conf נתחיל ממיקום התעודות, הוסיפו את הנתיב שסימנתי לכם באדום הוסיפו את ; על מנת שהגדרה זו לא תחול לפי התמונה
כאן הסירו את ; על מנת שהגדרה זו תחול הסירו את ; והגדירו את 8.8.8.8 כשרת ה DNS הסירו את ; הוסיפו את ; על מנת שלא יחול
גם לזה הגדירו שלא יחול הסירו את ; הסירו את ; נבטל כעת את selinux שכן הוא יפריע לעבודת ה VPN
[root@localhost ~]# vi /etc/sysconfig/selinux SELINUX=disabled נוודא את הכתובת של השרת שלנו [root@localhost ~]# ifconfig iptables נתקין כעת את [root@localhost ~]# yum install iptables iptables-services -y firewall-cmd נבטל את [root@localhost ~]# systemctl mask firewalld [root@localhost ~]# systemctl stop firewalld [root@localhost ~]# systemctl enable iptables [root@localhost ~]# systemctl start iptables [root@localhost ~]# iptables -F לטווח הכתובות שהגדרנו בקובץ ההגדרות nat נגדיר [root@localhost ~]# iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o ens3 -j MASQUERADE אם אתם משתמשים ב ens3 אז כרטיס הרשת שלכם הוא vmware *אם אתם משתמשים ב eth0 כרטיס הרשת שלכם הוא Hyper-v
ssh נאפשר חיבור של [root@localhost ~]# iptables -A INPUT -p tcp dport ssh -j ACCEPT iptables נשמור את ההגדרות שבצענו ב [root@localhost ~]# iptables-save > /etc/sysconfig/iptablesvpn נאפשר לשרת להעביר קדימה את התעבורה [root@localhost ~]# sysctl -w net.ipv4.ip_forward=1 נפעיל מחדש את השירות [root@localhost ~]# systemctl restart openvpn@server.service וניכנס לנתיב WinSCP נפתח את /etc/openvpn/keys/ בצד המחשב נכנס לנתיב C:\Users\talben\OpenVPN\config\client New > File בצד המחשב נלחץ קליק ימני ואז client.ovpn ניצור קובץ בשם
נכניס בו את ההגדרות הבאות שלכם IP סימנתי לכם באדום שיש לשנות את מה שרשמתי לכתובת ה client dev tun proto udp #Server IP and Port remote Your_IP_Address_Server 1194 resolv-retry infinite nobind persist-key persist-tun mute-replay-warnings ca ca.crt cert client.crt key client.key remote-cert-tls server comp-lzo ונשמור את הקובץ
כעת נעתיק מהשרת אל התיקייה : client.crt ca.crt client.key כמו בתמונה כעת לאחר שהעתקנו הכל, נתקין את Open-VPN For Windows ניכנס לאתר של,OpenVPN או שנוריד מהקישור הבא נתקין את זה על המחשב ווינדוס כעת יופיע סמל קטן ליד השעון של OpenVPN לחצו קליק ימני עליו ואז לחצו על Import File כעת נווטו ל :
C:\Users\talben\OpenVPN\config\client ובחרו את קובץ ההגדרות שיצרנו client.ovpn עכשיו לחצו שוב קליק ימני על הסמל הקטן של OpenVPN ואז Connect תהליך החיבור יחל
יפה מאוד! כעת קיבלתם כתובת IP של 10.8.0.14 ואתם מחוברים לרשת הארגונית שבה יושב שרת ה OpenVPN
התקנת שרת Linux NFS וחיבור קבוע לכונן ה NFS כל הזכויות שמורות לטל בן שושן Shushan.co.il התקנת שרת Linux NFS NFS הוא קיצור של Network File System הוא פרוטוקול נפוץ לשיתוף כונני תיקיות והאפשרות של שרתים לטעון אותם אליהם ולהשתמש בהם כאחסון, שימוש נפוץ שלהם הוא לדוגמה במערכי האחסון של vmware vsphere שכן ניתן לטעון את כונן ה ) NFS תיקייה משותפת משרת (NFS ולהגדיר בתוכו דיסקים וירטואלים ובכך לנצל את ה VFS כאחסון ברשת. במאמר זה נגדיר שרת CentOS 7 שהוא שרת ה NFS ושרת נוסף של CentOS 7 גרסת Desktop שרת נפתח את שרת ה NFS ונתקין את כלי ה NFS [root@localhost ~]# yum install nfs-utils ניצור תיקייה ב var בשם nfs [root@localhost ~]# mkdir /var/nfs ניתן הרשאות על מנת שיהיה ניתן לכתוב אליו chmod -R 777 /var/nfs/ נפעיל את כל השירותים החיונים ל NFS [root@localhost ~]# systemctl start rpcbind [root@localhost ~]# systemctl start nfs-server [root@localhost ~]# systemctl start nfs-lock [root@localhost ~]# systemctl start nfs-idmap
נגדיר לשירותים לעלות בהפעלה [root@localhost ~]# systemctl enable rpcbind [root@localhost ~]# systemctl enable nfs-server [root@localhost ~]# systemctl enable nfs-lock [root@localhost ~]# systemctl enable nfs-idmap נערוך את הקובץ NFS על מנת לשתף את התיקייה שהגדרנו ב [root@localhost ~]# vi /etc/exports נכניס את השורה /var/nfs 192.168.1.150(rw,sync,no_root_squash,no_all_squash) וספציפית אל התיקייה NFS זה כתובת השרת שיתחבר אל שרת ה 192.168.1.150 *הכתובת שיצרנו נבצע כעת ריסטארט לשירות על מנת שיחיל את התיקייה שהגדרנו [root@localhost ~]# systemctl restart nfs-server כעת נפתח את הפורטים בפיירוואל [root@localhost ~]# firewall-cmd --permanent --zone public -add-service mountd [root@localhost ~]# firewall-cmd --permanent --zone public -add-service rpc-bind [root@localhost ~]# firewall-cmd --permanent --zone public -add-service nfs [root@localhost ~]# firewall-cmd --reload לקוח (NFS )נעבור כעת לשרת השני זה שיתחבר ל NFS בשרת שיתחבר אליו ה NFS נתקין את כלי ה [root@tal ~]# yum install nfs-utils
בשרת שאנחנו NFS בשרת ל NFS כך שנטען את ה nfs בשם mnt כעת ניצור תיקייה חדשה ב כרגע נמצאים בו [root@tal ~]# mkdir -p /mnt/nfs NFS[root@Tal ~]# systemctl start rpcbind נפעיל את כל השירותים החיונים ל [root@tal ~]# systemctl start nfs-server [root@tal ~]# systemctl start nfs-lock [root@tal ~]# systemctl start nfs-idmap נגדיר לשירותים לעלות בהפעלה [root@tal ~]# systemctl enable rpcbind [root@tal ~]# systemctl enable nfs-server [root@tal ~]# systemctl enable nfs-lock [root@tal ~]# systemctl enable nfs-idmap Mount כעת נבצע את ה [root@tal ~]# mount -t nfs 192.168.1.100:/var/nfs /mnt/nfs/ ואילו 192.168.1.100 הכתובת שלו NFS שממנו נטען את הכונן NFS *כתובת שרת ה הוא השרת שעכשיו אנחנו עובדים עליו והוא למעשה הלקוח 192.168.1.150 נקיש כעת [root@tal ~]# df -kh בשורה האחרונה 172.26.0.234:/var/nfs 50G 2.1G 48G 5% /mnt/nfs txt נוכל לבדוק את הרשאות הכתיבה על ידי יצירת קובץ, מעולה [root@tal ~]# touch /mnt/nfs/tal.txt באופן קבוע NFS על מנת לטעון אתה יש לערוך [root@tal ~]# vi /etc/fstab בשורה האחרונה הוסיפו שורה חדשה
192.168.1.100:/var/nfs /mnt/nfs nfs defaults 0 0 ה nfs לפני ה defaults אומר לו שזהו כונן NFS execution Environment Pre PxeLinux כל הזכויות שמורות לטל בן שושן Shushan.co.il PxeLinux Pre execution Environment PXE הוא קיצור של Pre execution Environment והוא מוסבר באתר גם בהתקנת מערכות הפעלה ווינדוס דרך הרשת, אך במקרה זה אנו נתקין הפצה של לינוקס דרך הרשת. PXE הוא היכולת לעלות מערכת הפעלה \ התקנה של מערכת הפעלה דרך הרשת, עוד לפני שהמחשב עולה ברוב המקרים נלחץ על F12 ואז יש לבחור Boot From Network מאותו הרגע יוגדר למחשב לעלות דרך הרשת ובאותו הרגע יעלה,PXE הדבר הראשון ש PXE יחפש הוא ) DHCP שכן אינו עובד עם (Static IP וברגע שהמחשב מצא DHCP המחשב מקבל כתובת, IP באותו הרגע הוא מתחיל לחפש שירות PXE יכול להיות שהוא יתקל בשרת PXE של מייקרוסופט או שרת PXE של סיטריקס וכו במקרה שלנו הוא יתקל בשרת.PxeLinux מאותו הרגע השרת יתן לו גישה ל TFTP שבו יושב Bootloader של הפצה שאותה הפצנו. התצורה שאותה נצטרך :
.1 שרת לדוגמה CentOS 7 שבה התקנו את מערך ה PXE.2 לקוח מחשב ללא מערכת הפעלה שיעלה להתקנה דרך הרשת. בואו נתחיל במדריך, דרוש : * VM או מכונה פיזית בה מותקנת הפצה של CentOS 7 ומעודכנת. אם אין לכם עדיין ISO של ההפצה שאותה תרצו להפיץ, עליכם להוריד את הפצת הלינוקס שאתם מעוניינים להתקין דרך,PXE אני אשתמש במדריך זה ב CentOS 7 ניתן להוריד אותו מכאן לאחר ההורדה יש לטעון אותו ל USB או לדיסק DVD ואם אתם משתמשים בוירטואליזציה יש לטעון אותו ל VM בו רץ כרגע הפצה של CentOS 7 נתחבר דרך Putty לשרת שהוא יהיה שרת ה PXE שלנו, כתובת השרת שלי הוא.192.168.1.112 כעת לאחר שהכנסנו את קובץ ה ISO למחשב )לדוגמה ב (vmware כעת נטען אותו על ידי הפקודה
[root@localhost ~]# mount -t iso9660 /dev/sr0 /mnt הוא יהיה בתיקייה, לאחר שנטען /mnt/ על ידי הפקודה,FTP שירות זה יתן לנו,TFTP נתקין את שרת ה [root@localhost ~]# yum install tftp-server [root@localhost ~]# yum install vsftpd ( כיצד לעלות PXE )קובץ זה יגדיר ל pxelinux.0 כעת אנו נצטרך קובץ בשם קובץ זה מכיל בתוכו Root לתיקיית ה syslinux-4.05-13.el7.x86_64.rpm נעתיק את הקובץ pxelinux.0 את ה [root@localhost ~]# /mnt/packages/syslinux-4.05-13.el7.x86_64.rpm /root/ cp כעת נחלץ אותו על ידי הפקודה [root@localhost ~]# rpm2cpio syslinux-4.05-13.el7.x86_64.rpm cpio -dimv בתוך אחת התיקיות, ובתוכה תיקיות נוספות usr תיווצר לנו תיקייה בשם Root בתוך תיקיית ה pxelinux.0 )הנתיב מצויין למטה( יהיה את קובץ ה על ידי הפקודה tftpboot בתוך pxelinux ניצור תיקייה בשם [root@localhost ~]# cd /var/lib/tftpboot [root@localhost ~]# mkdir pxelinux [root@localhost ~]# cd tftpboot שנמצאת בתוך pxelinux העתקה תבוצע לתוך תיקיית [root@localhost ~]# cp /root/usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/pxelinux ואת הקבצים שנמצאים שם ודרושים לנו syslinux שהוא Bootloader כעת נתקין את ה [root@localhost ~]# yum install syslinux
(DHCP )קיים באתר הסבר נרחב על DHCP כעת נתקין את שירות ה [root@localhost ~]# yum install dhcp vi נתקין את עורך הטקסט [root@localhost ~]# yum install vi DHCP ונערוך את הגדרות ה [root@localhost ~]# vi /etc/dhcp/dhcpd.conf שנו את הפרמטרים ואל תשכחו, שלכם שונה IP חשוב* אם טווחי כתובת ה, בצעו העתק הדבק ; בשורה זו יש להגדיר את השרת עצמו )כי הוא next-server 192.168.1.112 יש את השורה (PXE שרת ה option space pxelinux; option pxelinux.magic code 208 = string; option pxelinux.configfile code 209 = text; option pxelinux.pathprefix code 210 = text; option pxelinux.reboottime code 211 = unsigned integer 32; option architecture-type code 93 = unsigned integer 16; subnet 192.168.1.0 netmask 255.255.255.0 { option routers 192.168.1.1; range 192.168.1.4 192.168.1.8; class pxeclients { match if substring (option vendor-class-identifier, 0, 9) = PXEClient ; next-server 192.168.1.112; if option architecture-type = 00:07 { filename uefi/shim.efi ; } else { filename pxelinux/pxelinux.0 ; } } } xinetd כעת התקינו את
[root@localhost ~]# yum install xinetd לנו על ידי הפקודה pxelinux A לתיקיית ה Bootloader Menu כעת נעתיק את כל סוגי ה [root@localhost ~]# cp /var/lib/tftpboot/pxelinux -r /usr/share/syslinux/* pxelinux.cfg ניצור את התיקייה [root@localhost ~]# /var/lib/tftpboot/pxelinux/pxelinux.cfg mkdir init איזה תפריט לפתוח ואיזה קבצי PXE קובץ זה יגדיר ל default ובתוכנה ניצור את הקובץ לפתוח Boot וקבצי [root@localhost ~]# /var/lib/tftpboot/pxelinux/pxelinux.cfg/default touch נערוך את הקובץ על ידי הפקודה [root@localhost vi /var/lib/tftpboot/pxelinux/pxelinux.cfg/default ~]# : ונכניס בתוכו את הפרמטרים הבאים default menu.c32 prompt 0 timeout 300 ONTIMEOUT local menu title # PXE Boot Menu # label 1 menu label ^1) Install CentOS 7 x64 with Local Repo kernel centos7/vmlinuz append initrd=centos7/initrd.img method=ftp://192.168.1.20/pub devfs=nomount label 2 menu label ^2) Install CentOS 7 x64 with http://mirror.centos.org Repo kernel centos7/vmlinuz append initrd=centos7/initrd.img method=http://mirror.centos.org/centos/7/os/x86_64/ devfs=nomount ip=dhcp label 3 menu label ^3) Install CentOS 7 x64 with Local Repo using VNC
kernel centos7/vmlinuz append initrd=centos7/initrd.img method=ftp://192.168.1.112/pub devfs=nomount inst.vnc inst.vncpassword=password label 4 menu label ^4) Boot from local drive. נשמור ונסגור את הקובץ Bootloader אשר טוענים את ה initrd.img וה vmlinuz כעת נעתיק את קבצי ה ניצור להם תיקייה [root@localhost ~]# mkdir /var/lib/tftpboot/pxelinux/centos7 ונעתיק אותם מהדיסק אל התיקייה שהרגע יצרנו [root@localhost ~]# cp /var/lib/tftpboot/centos7 [root@localhost ~]# cp /var/lib/tftpboot/centos7 /mnt/images/pxeboot/vmlinuz /mnt/images/pxeboot/initrd.img FTP שלנו אל תיקיית ה ISO כעת נעתיק את קבצי ההתקנה שנמצאים ב [root@localhost ~]# cp -r /mnt/* /var/ftp/pub/ [root@localhost ~]# chmod -R 755 /var/ftp/pub FTP שיבדוק שכל הקבצים גם הנסתרים הועתקו לתיקיית ה rsync נתקין את [root@localhost ~]# yum install rsync [root@localhost ~]# rsync -avz /mnt/ /var/ftp/pub Firewall כעת נפתח את כל הפורטים ב firewall-cmd --add-service=ftp --permanent firewall-cmd --add-port=69/udp --permanent firewall-cmd --add-service=dns --permanent firewall-cmd --add-port=4011/udp --permanent
firewall-cmd --add-service=dhcp --permanent firewall-cmd --reload נגדיר לכל השירותים שהתקנו לעלות גם לאחר ריסטארט [root@localhost ~]# systemctl enable xinetd [root@localhost ~]# systemctl enable tftp [root@localhost ~]# systemctl enable vsftpd [root@localhost ~]# systemctl enable dhcpd היא תקבל,PXE כעת היא תנסה לעלות דרך, וכעת נפעיל מכונה חדשה ללא מערכת הפעלה PXE ולאחר מכן תתחבר לשרת ה 192.168.1.4 הכתובת היא, שלנו DHCP משרת ה IP כתובת 192.168.1.112 שכתובתו דרך הרשת CentOS 7 בחרתי להתקין את ה, כעת נוכל לראות את התפריט