در این پست باهم میبینیم که چطوری با لپتاپ لینوکسی (Ubuntu-based) خودمون میتونیم Firmware تلفن های سیسکو رو تغییر بدیم و روی اون داخلی ست کنیم.
در این سناریو از لپتاپ به عنوان DHCP server و TFTP server استفاده میکنیم.
مرحله 1 آماده سازی اینترفیس شبکه
ابتدا باید به کارت شبکه ای که تلفن به اون وصل میشه یه Static IP (دستی) بدیم.
بعد از باز کردن ترمینال (ctrl+alt+t) با دستور زیر لیستی از کارت شبکه های روی سیستم خودمون رو به دست میاریم :
ip a
نکته : به طور کلی اینترفیس هایی که با e شروع میشوند مربوط به Ethernet هستند.
طبق تصویر بالا اینجا اینترفیس مد نظر ما enp7s0 هست.
با دستورات زیر آیپی استاتیک تعریف میکنیم :
sudo ip addr add 192.168.50.1/24 dev enp7s0sudo
ip link set enp7s0 up
برای جلو گیری از تداخل وایفای رو با دستور زیر خاموش میکنیم :
nmcli radio wifi off
(نکته : برای روشن کردن وایفای کافیست به جای off از on در آخر دستور استفاده کنید.)
مرحله 2 نصب سرویس های مورد نیاز
با دستورات زیر بعد یک آپدیت مختصر سرویس های مورد نظر رو نصب میکنیم :
sudo apt update
sudo apt install isc-dhcp-server tftpd-hpa -y
مرحله ۳ تنظیم DHCP Server
ویرایش فایل تنظیمات :
sudo vim /etc/dhcp/dhcpd.conf
( اینجا از ویرایشگر متن vim استفاده کردم که اگر راحت نیستید میتونید از nano یا هرچیزی استفاده کنید :)) )
نمونه کانفیگ :
subnet 192.168.50.0 netmask 255.255.255.0 {range 192.168.50.100 192.168.50.150;option routers 192.168.50.1;option domain-name-servers 8.8.8.8;option tftp-server-name “192.168.50.1”;}
مشخص کردن اینترفیس :
sudo vim /etc/default/isc-dhcp-server
INTERFACESv4="enp7s0"
ری استارت سرویس :
sudo systemctl restart isc-dhcp-server
sudo systemctl status isc-dhcp-server
بررسی لاگ های DHCP :
journalctl -u isc-dhcp-server -f
در صورت موفقیت لاگ هایی مانند زیر دیده میشود :
DHCPDISCOVER
DHCPOFFER
DHCPREQUEST
DHCPACK
مرحله ۴ راه اندازی Tftp Server :
دایرکتوری پیشفرض :
/var/lib/tftpboot
بررسی وضعیت :
sudo systemctl status tftpd-hpa
مشاهده لاگ ها :
sudo journalctl -u tftpd-hpa -f
مشاهده پکت ها :
sudo tcpdump -i enp7s0 port 69
فایل های Firmware رو به دایرکتوری پیشفرض که بالاتر مشخص کردیم کپی کنید.
تنظیم دسترسی ها :
sudo chown -R tftp:tftp /var/lib/tftpboot
sudo chmod -R 755 /var/lib/tftpboot
مرحله 5
تلفن رو به لپتاپ متصل کنید و اون رو ریست فکتوری کنید، منتظر دانلود شدن فایل ها باشید (ممکنه تا چند دقیقه طول بکشه و تلفن چند بار ریست بشه.) .
نکته آخر : در این مرحله من پیشنهاد میکنم توی دو ترمینال مختلف یا داخل یک ترمینال با ابزار tmux لاگ هر دو سرویس رو چک کنید.
