مقدمه ای بر UCI

ciمخفف Unified Configuration Interface است و ابزاری قدرتمند برای ایجاد و مدیریت گزینه های پیکربندی در سیستم عامل امگا است. می‌توانید uciبرای تغییر گزینه‌های زیرسیستم‌هایی مانند وای‌فای Omega، اتصال به شبکه یا حتی فایروال بدون نگرانی از موارد زیر استفاده کنید:

  • ایجاد خطاهای نحوی در فایل های پیکربندی که گزینه های خاصی را از بین می برد
  • جایی که فایل ها در واقع قرار دارند

فقط برای مرجع، فایل های پیکربندی موجود /etc/configهستند و فایل های متنی ساده هستند.

نحو به این صورت است:

uci [OPTIONS] (COMMAND) [ARGUMENTS]

ما در این مقدمه بر روی (COMMAND)و بخش ها تمرکز خواهیم کرد. [ARGUMENTS]اینها دستوراتی هستند که در این مقدمه روی آنها تمرکز خواهیم کرد.

  • show
  • add
  • set
  • get
  • commit

همه نمونه ها روی یک فایل پیکربندی ساختگی اجرا می شوند /etc/config/foobar/. اگر می‌خواهید همراه با مثال‌ها دنبال کنید، این فایل را روی امگا خود ایجاد کنید:

touch /etc/config/foobar

استفاده عمومی

uciبه طور کلی در طول این فرآیند کار می کند:

  1. Stage (به طور موقت ذخیره می شود) با استفاده از دستوراتی مانند uci addیا به گزینه ها تغییر می کندuci set
  2. تغییرات مرحله‌ای را با استفاده ازuci commit

فراموش نکنید که uci commitپس از انجام تمام تغییرات خود اجرا کنید، در غیر این صورت پیکربندی به روز نمی شود!

show

فایل های پیکربندی را در ترمینال چاپ می کند.

جزئیات پیکربندی UCI به زیرسیستم ها تقسیم می شود . هر زیرسیستم فایل مخصوص به خود را دارد /etc/configو به بخش هایی تقسیم می شود که شامل گروه هایی از گزینه ها است.

به عنوان مثال، بیایید systemزیرسیستم روی امگا را بررسی کنیم. این شامل برخی از گزینه های اساسی مانند منطقه زمانی، نام میزبان (Omega-ABCD که در خط فرمان می بینید) و کنترل های LED است. دستور زیر را اجرا کنید:

uci show system

چیزی شبیه به:

system.@system[0]=system
system.@system[0].timezone='GMT0'
system.@system[0].ttylogin='0'
system.@system[0].log_size='64'
system.@system[0].urandom_seed='0'
system.@system[0].cronloglevel='8'
system.@system[0].hostname='Omega-F119'
system.ntp=timeserver
system.ntp.enabled='1'
system.ntp.enable_server='0'
system.ntp.server='0.lede.pool.ntp.org' '1.lede.pool.ntp.org' '2.lede.pool.ntp.org' '3.lede.pool.ntp.org'
system.@led[0]=led
system.@led[0].name='On'
system.@led[0].default='0'
system.@led[0].trigger='default-on'
system.@led[0].sysfs='omega2p:amber:system'

بیایید این را با فایل خام مقایسه کنیم. اجرا کن:

cat /etc/config/system

و چیزی شبیه به این دریافت خواهید کرد:

config system
        option timezone 'GMT0'
        option ttylogin '0'
        option log_size '64'
        option urandom_seed '0'
        option cronloglevel '8'
        option hostname 'Omega-F119'

config timeserver 'ntp'
        option enabled '1'
        option enable_server '0'
        list server '0.lede.pool.ntp.org'
        list server '1.lede.pool.ntp.org'
        list server '2.lede.pool.ntp.org'
        list server '3.lede.pool.ntp.org'

config led
        option name 'On'
        option default '0'
        option trigger 'default-on'
        option sysfs 'omega2p:amber:system'

ممکن است فایل فوق به اندازه کافی سازماندهی شده به نظر برسد. با این حال، اگر بخواهید آن را ویرایش کنید و اشتباه تایپی یا اشتباهی مرتکب شوید، می‌توانید در هر برنامه‌ای که به آن وابسته است، باگ یا خرابی ایجاد کنید، به خصوص در زمان بوت!

بخش ها

هنگام استفاده از uci showبخش ها با فرمت زیر نمایش داده می شوند:

[SUBSYSTEM].[SECTIONNAME]=[TYPE]

بخش ها می توانند با نام یا بدون نام باشند. بخش های بدون نام جایگزین SECTIONNAMEفیلد می @TYPE[INDEX]شوند INDEX. ممکن است بیش از یک بخش بدون نام در یک فایل پیکربندی وجود داشته باشد و در صورت تمایل می‌توانند در همان زمان باشند.

به عنوان مثال، firewallپیکربندی شما می تواند چندین بخش از نوع ruleزیر داشته باشد:

firewall.@rule[0]=rule
firewall.@rule[0].name='Allow-ICMPv6-Input'
firewall.@rule[0].src='wan'
firewall.@rule[0].proto='icmp'
firewall.@rule[1]=rule
firewall.@rule[1].name='Allow-DHCPv6'
firewall.@rule[1].src='wan'
firewall.@rule[1].proto='udp'
...
(and so on)

مرجع : https://docs.onion.io/omega2-docs/intro-to-uci.html

پیکربندی مرکزی OpenWrt به چندین فایل واقع در /etc/config/فهرست تقسیم می شود. هر فایل تقریباً به بخشی از سیستمی که پیکربندی می کند مربوط می شود. می توانید فایل های پیکربندی را با یک ویرایشگر متن ویرایش کنید یا آنها را با برنامه کاربردی خط فرمان تغییر دهید uci. فایل‌های پیکربندی UCI نیز از طریق APIهای برنامه‌نویسی مختلف (مانند Shell، Lua و C) قابل تغییر هستند، که همچنین اینگونه است که رابط‌های وب مانند LuCI تغییراتی در فایل‌های UCI ایجاد می‌کنند.

پس از تغییر یک فایل پیکربندی UCI، چه از طریق یک ویرایشگر متن یا خط فرمان، سرویس‌ها یا فایل‌های اجرایی که تحت تأثیر قرار می‌گیرند باید با یک فراخوانی init.d (یا در برخی موارد، به سادگی بارگیری مجدد شوند) شروع شوند ، به طوری که پیکربندی به روز شده UCI برای آنها اعمال می شود. بسیاری از برنامه‌ها به این ترتیب با نوشتن فایل‌های پیکربندی خاص نرم‌افزار استاندارد خود، اسکریپت init.d با UCI سازگار می‌شوند. اسکریپت init.d ابتدا چنین فایل پیکربندی را به درستی در محل مورد انتظار نرم افزار می نویسد و با راه اندازی مجدد فایل اجرایی دوباره خوانده می شود. توجه داشته باشید که فقط (دوباره) راه‌اندازی فایل اجرایی، بدون تماس init.d، منجر به به‌روزرسانی UCI برای انتقال پیکربندی UCI به فایل پیکربندی مورد انتظار برنامه نمی‌شود . تغییرات در فایل ها در/etc/config/سپس هیچ تاثیری نداشته باشد

به عنوان نمونه ای از تغییر پیکربندی UCI، فرض کنید می خواهید آدرس IP دستگاه را از پیش فرض ۱۹۲.۱۶۸.۱.۱به تغییر دهید ۱۹۲.۱۶۸.۲.۱. برای انجام این کار، با استفاده از هر ویرایشگر متنی مانند vi، خط را تغییر دهید.

option ipaddr	۱۹۲.۱۶۸.۱.۱
in the file /etc/config/network to:
option ipaddr	۱۹۲.۱۶۸.۲.۱
Next, commit the settings by running
/etc/init.d/network restart





فایل های پیکربندی OPenwrt

فایل های پیکربندی

/etc/config/dhcp تنظیمات Dnsmasq و odhcpd : DNS ، DHCP ، DHCPv6
/etc/config/dropbear گزینه های سرور SSH
/etc/config/firewall NAT ، فیلتر بسته، ارسال پورت و غیره
/etc/config/network سوئیچ، رابط و پیکربندی مسیر:
مبانی ، IPv4 ، IPv6 ، مسیرها ، قوانین ، WAN ، نام‌های مستعار ، سوئیچ‌ها ، VLAN ، انتقال IPv4/IPv6 ، تونل‌سازی
/etc/config/system متفرقه تنظیمات سیستم، NTP ، RNG ، Watchcat
/etc/config/wireless تنظیمات بی سیم و تعریف شبکه وای فای
IPv6
/etc/config/ahcpd پروتکل پیکربندی Ad-Hoc (AHCP) پیکربندی سرور و ارسال کننده
/etc/config/dhcp6c سرویس گیرنده WIDE-DHCPv6
/etc/config/dhcp6s سرور WIDE-DHCPv6
/etc/config/gw6c پیکربندی مشتری GW6c
دیگر
/etc/config/babeld پیکربندی بابلد
/etc/config/bbstored پیکربندی سرور BoxBackup
/etc/config/ddns پیکربندی پویا DNS (ddns-scripts)
/etc/config/dnscrypt-proxy پروکسی DNSCrypt
/etc/config/emailrelay E-MailRelay: سرور SMTP ساده و پروکسی با پشتیبانی POP . ارسال ایمیل بسته
/etc/config/etherwake Wake-on-Lan: etherwake
/etc/config/freifunk_p2pblock از iptables layer7-، ipp2p- و ماژول های اخیر برای مسدود کردن ترافیک p2p/sharing استفاده می کند.
/etc/config/fstab نقاط را سوار کنید و تعویض کنید
/etc/config/hd-idle یک شبح غیرفعال دیگر برای هارد دیسک های متصل
/etc/config/httpd گزینه های وب سرور (Busybox httpd، منسوخ شده)
/etc/config/ipset-dns ipset-dns را پیکربندی کنید
/etc/config/luci پیکربندی پایه LuCI
/etc/config/luci_statistics پیکربندی بسته آماری
/etc/config/mini_snmpd تنظیمات mini_snmpd
/etc/config/minidlna تنظیمات MiniDLNA
/etc/config/mjpg-streamer برنامه پخش جریانی برای وب کم های سازگار با Linux-UVC
/etc/config/mountd دیمون خودکار OpenWrt
/etc/config/mroute فایل های پیکربندی برای چندین مسیر WAN
/etc/config/multiwan پیکربندی ساده چند WAN
/etc/config/mwan3 پیکربندی چند WAN با تعادل بار و شکست
/etc/config/nodogsplash پیکربندی nodogsplash
/etc/config/ntpclient گرفتن زمان مناسب
/etc/config/nut_server کنترل یک UPS (منبع تغذیه بدون وقفه) و/یا اشتراک گذاری با سایر میزبان ها
/etc/config/nut_monitor نظارت بر یک UPS (منبع تغذیه اضطراری) از یک میزبان راه دور یا سرور محلی آجیل
/etc/config/nut_cgi رابط کاربری وب برای NUT (مشاهده فقط در UCI)
/etc/config/p910nd پیکربندی برای چاپگر غیر اسپولینگ daemon p910nd.server
/etc/config/pure-ftpd پیکربندی سرور Pure-FTPd
/etc/config/qos اجرای کیفیت خدمات برای آپلود
/etc/config/racoon Racoon IPsec Daemon
/etc/config/samba تنظیمات فایل مایکروسافت و دیمون خدمات چاپ
/etc/config/snmpd تنظیمات SNMPd
/etc/config/sqm تنظیمات SQM
/etc/config/sshtunnel تنظیمات بستهsshtunnel
/etc/config/stund پیکربندی سرور STUN
/etc/config/tinc پیکربندی بسته tinc
/etc/config/tor پیکربندی Tor
/etc/config/tor-hs پیکربندی سرویس های مخفی Tor
/etc/config/transmission پیکربندی بیت تورنت
/etc/config/uhttpd گزینه های وب سرور (uHTTPd)
/etc/config/upnpd تنظیمات سرور miniupnpd UPnP
/etc/config/users پایگاه داده کاربران برای خدمات مختلف
/etc/config/ushare تنظیمات سرور UPnP را به اشتراک بگذارید
/etc/config/vblade vblade userspace AOE target
/etc/config/vnstat تنظیمات دانلودر vnstat
/etc/config/wifitoggle وای فای را با یک دکمه روشن کنید
/etc/config/wol Wake-on-Lan: wol
/etc/config/znc پیکربندی ZNC bouncer

منبع : https://openwrt.org/docs/guide-user/base-system/uci

لیست دستورات Uci در openwrt

Command  هدف شرح
commit [<config>] تغییرات فایل پیکربندی داده شده یا اگر هیچ کدام داده نشده است، تمام فایل های پیکربندی را در سیستم فایل می نویسد. تمام دستورات «uci set»، «uci add»، «uci rename» و «uci delete» در یک مکان موقت قرار می‌گیرند و با «uci commit» فوراً فلش می‌شوند. این پس از ویرایش فایل های پیکربندی با ویرایشگر متن مورد نیاز نیست، بلکه برای اسکریپت ها، رابط های کاربری گرافیکی و سایر برنامه هایی که مستقیماً با فایل های UCI کار می کنند لازم است.
batch یک اسکریپت UCI چند خطی را اجرا می کند که معمولاً در یک دستور سند اینجا پیچیده می شود.
export [<config>] پیکربندی را در قالب قابل خواندن ماشین صادر می کند. به صورت داخلی برای ارزیابی فایل های پیکربندی به عنوان اسکریپت های پوسته استفاده می شود.
import [<config>] فایل های پیکربندی را در نحو UCI وارد می کند.
changes [<config>] تغییرات مرحله‌ای را در فایل پیکربندی داده‌شده یا اگر هیچ کدام داده نشده است، همه فایل‌های پیکربندی را فهرست کنید.
add <config> <section-type> یک بخش ناشناس از نوع section-typeبه پیکربندی داده شده اضافه کنید.
add_list <config>.<section>.<option>=<string> رشته داده شده را به یک گزینه لیست موجود اضافه کنید.
del_list <config>.<section>.<option>=<string> رشته داده شده را از یک گزینه لیست موجود حذف کنید.
show [<config>[.<section>[.<option>]]] گزینه، بخش یا پیکربندی داده شده را در نماد فشرده نشان دهید.
get <config>.<section>[.<option>] مقدار گزینه داده شده یا نوع بخش داده شده را بدست آورید.
set <config>.<section>[.<option>]=<value> مقدار گزینه داده شده را تنظیم کنید یا یک بخش جدید با نوع تنظیم شده به مقدار داده شده اضافه کنید.
delete <config>.<section>[.<option>] بخش یا گزینه داده شده را حذف کنید.
rename <config>.<section>[.<option>]=<name> نام گزینه یا بخش داده شده را به نام داده شده تغییر دهید.
revert <config>[.<section>[.<option>]] گزینه، بخش یا فایل پیکربندی داده شده را برگردانید.
reorder <config>.<section>=<position> یک بخش را به موقعیت دیگری منتقل کنید.





-c <path> مسیر جستجو را برای فایل‌های پیکربندی تنظیم کنید (پیش‌فرض: /etc/config) 
-d <str> تعیین‌کننده جداکننده مقادیر لیست در uci نشان می‌دهد 
-f <file> استفاده از <file> به‌عنوان ورودی به جای stdin 
-m هنگام وارد کردن، داده‌ها را در یک بسته موجود ادغام کنید 
-n نام بخش‌های بدون نام در صادرات (پیش‌فرض) 
-N بخش‌های بدون نام را نام‌گذاری نکنید 
-p <path> یک مسیر جستجو برای فایل‌های تغییر پیکربندی 
اضافه کنید -P <path> یک مسیر جستجو اضافه کنید فایل‌ها را تغییر دهید و از آن به‌عنوان پیش‌فرض استفاده کنید 
-q حالت آرام (پیام‌های خطا را چاپ نکنید) - 
حالت اجباری سخت (توقف خطاهای تجزیه‌کننده، پیش‌فرض) 
-S غیرفعال کردن حالت سخت 
-X از نحو توسعه‌یافته در «نمایش» استفاده نکنید





image Openwrt UCI

نمونه دستورات UCI برای شبکه :

Display just the value of an option

uci get httpd.@httpd[۰].port

Append an entry to a list

uci add_list system.ntp.server='۰.de.pool.ntp.org'

Replace a list completely

uci delete system.ntp.server
uci add_list system.ntp.server='۰.de.pool.ntp.org'
uci add_list system.ntp.server='۱.de.pool.ntp.org'
uci add_list system.ntp.server='۲.de.pool.ntp.org'

Adding a new section to subsystem configuration

uci add SUBSYSTEM_NAME SECTION_NAME

It will generate a new section called SECTION_NAME inside the subsystem called SUBSYSTEM_NAME. Afterwards you can add keys to this section as normal. It will print an alphanumeric code that you can use as “section” for further adding keys to it.

See this example:

uci add firewall rule
uci set firewall.@rule[-۱].src='wan'

Showing the not-yet-saved modified values

uci changes

Saving modified values of a single subsystem

uci commit SUBSYSTEM_NAME 
reload_config

Saving all modified values

uci commit
reload_config

دسترسی SSH برای تازه واردان

یکی از روش های مدیریت OpenWrt استفاده از رابط خط فرمان بر روی SSH است. OpenWrt به طور پیش فرض به اتصالات SSH ورودی در پورت گوش می دهد ۲۲/tcp. برای “ssh into your router”، می توانید با استفاده از آدرس IP LAN روتر خود، دستور زیر را در شبیه ساز ترمینال وارد کنید که معمولاً عبارت است از : ۱۹۲.۱۶۸.۱.۱

ssh root @ 192.168.1.1

اولین باری که به روتر خود ssh می کنید، احتمالاً هشداری در مورد اثر انگشت کلید RSA خواهید دید . اگر مطمئن هستید که این آدرس دستگاه OpenWrt شماست، به سادگی تایپ yesکرده و Return را فشار دهید. سپس رمز عبوری که به روتر خود داده اید را وارد کنید یا اگر این تنظیمات اولیه است، Return را فشار دهید. در اینجا یک جلسه نمونه است:

$ ssh root@192.168.1.1 <== شما این را تایپ کنید
اصالت میزبان "۱۹۲.۱۶۸.۱.۱ (۱۹۲.۱۶۸.۱.۱)" قابل اثبات نیست.
اثر انگشت کلید RSA SHA256:4VbDA/MOc7inPiyllF5f0r3Q6iEx89ddKdhLGBovsiY است.
آیا مطمئن هستید که می خواهید به اتصال ادامه دهید (بله/خیر)؟ بله <== و این
هشدار: "۱۹۲.۱۶۸.۱.۱" (RSA) برای همیشه به لیست میزبان های شناخته شده اضافه شد.
رمز عبور root@192.168.1.1: <== و رمز عبور در اینجا

BusyBox نسخه ۱.۲۸.۴ () پوسته داخلی (خاکستر)

  _______ ________ __
 | |.-----.-----.-----.| | | |.----.| |_
 | - || _ | -__| || | | || _|| _|
 |_______|| __|_____|__|__||________||__| |____|
          |__| بی سیم
 ------------------------------------------------ ---
 OpenWrt 18.06.2، r7676-cddd7b4c77
 ------------------------------------------------ ---

root@OpenWrt:~# <== دستور next را در اینجا تایپ کنید

برای پایان دادن به جلسه ssh به روتر خود، تایپ کرده exitو Return را فشار دهید.

بقیه این صفحه چندین شبیه ساز ترمینال را توضیح می دهد که ویندوز، لینوکس یا macOS می توانند برای دسترسی به دستگاه OpenWrt شما استفاده کنند.

توجه: برای افزودن یک کلید عمومی SSH به دستگاه OpenWrt خود، از رابط وب LuCI رجوع کنید

شبیه سازهای ترمینال ویندوز

ترمینال ویندوز یا گزینه های قدیمی PowerShell، Command Prompt، ConHost یا WSL Bash در دسترس هستند. برنامه های شخص ثالث مانند PuTTY ، MinGW (نصب شده با Git)، Cmder، SmarTTY، و WinSCP نیز شبیه سازهای ترمینال هستند که می توانند SSH را در روتر OpenWrt ارائه دهند.

ترمینال های داخلی ویندوز ۱۰/۱۱

Windows Terminal ، PowerShell و Command Prompt اجازه استفاده از سرویس گیرنده SSH را می دهد. آن کلاینت اکنون به صورت پیش‌فرض در دسترس است، اما اگر نسخه ویندوز شما قدیمی‌تر است، می‌توانید این راهنما را برای فعال کردن SSH دنبال کنید .

اگر یک توزیع WSL نصب کرده اید ، کلاینت SSH معمولاً در آنجا از قبل نصب شده است.

اگر مستقیماً راه‌اندازی کنید cmd.exe، powershell.exeیا wsl.exeترمینال قدیمی ConHost باز می‌شود. در غیر این صورت، می توانید ترمینال مدرن ویندوز را از فروشگاه MS نصب کنید و هر یک از این پوسته ها را از آنجا انتخاب کنید.

  1. هر یک از شبیه سازهای ترمینال بالا را باز کنید و بنویسید (“ssh” فرمان است، “root” کاربر OpenWrt است که به آن متصل می شوید و “۱۹۲.۱۶۸.۱.۱” IPssh root@192.168.1.1 پیش فرض OpenWrt است ).
  2. پیامی مبنی بر پذیرش یک کلید جدید از دستگاه OpenWrt وجود دارد، “بله” را بنویسید و کلید Enter را فشار دهید.
    1. اگر به دلایلی OpenWrt را مجدداً نصب کرده باشید، دستگاه کلید دیگری خواهد داشت و با خطای عدم تطابق کلید مواجه می شوید. خطا بیان می کند که خط فرمان برای کپی-پیست کردن در ترمینال برای حذف کلید قدیمی و ادامه دادن چیست. انجامش بده و دوباره امتحان کن اگر با این کار خطا برطرف نشد، ممکن است لازم باشد حذف کنید C:\Users\yourusername\.ssh\known_hostsو دوباره امتحان کنید.
  3. اگر می‌خواهید جلسه را ببندید، «خروج» را بنویسید.

ویژگی اختیاری SSH ویندوز همچنین شامل کلاینت SCP است (برای باز کردن/ویرایش/دانلود/آپلود فایل ها در OpenWrt از طریق SSH ). از آموزش های google for SCP برای یادگیری نحوه استفاده از آن استفاده کنید. در غیر این صورت، از WinSCP استفاده کنید که برای اهداف SCP راحت تر است.

پاورشل

Powershell دسترسی SSH را فراهم می کند .

زیرسیستم ویندوز برای لینوکس (WSL)

زیرسیستم ویندوز برای لینوکس روشی مناسب برای اجرای یک محیط لینوکس به انتخاب شما از جمله اکثر ابزارهای خط فرمان، ابزارهای کمکی و برنامه های کاربردی مستقیماً در ویندوز است. برای جزئیات دقیق نحوه نصب WSL در ویندوز ۱۰، به مستندات مایکروسافت مراجعه کنید: https://docs.microsoft.com/en-us/windows/wsl/install-win10

بتونه

PuTTY به شما امکان دسترسی خط فرمان به OpenWrt را می دهد.

  1. PuTTY را دانلود کنید، ۳۲ بیت putty.exeرا از Alternative binary filesبخش دریافت کنید.
  2. در سرویس گیرنده ویندوز خود شروع putty.exeکنید → پنجره ورود PuTTY ظاهر می شود.
  3. به Sessionرده پنجره ورود PuTTY بروید، به دنبال فیلد بگردید و به سادگی آدرس IP (به عنوان مثال ۱۹۲.۱۶۸.۱.۱ ) دستگاه OpenWrt خود را وارد کنید، پورت ۲۲ پیش فرض ارائه شده را نگه دارید .Host Name (or IP address)
  4. روی Openدکمه در پایین کلیک کنید تا یک اتصال باز شود. با این کار یک پنجره پوسته ظاهر می شود که از شما خواسته می login asشود. با رمز عبور OpenWrt که مدتی قبل تعریف کرده اید به عنوان root وارد شوید. اگر هنوز رمز عبوری را روی “root” تنظیم نکرده اید، رمز عبور از شما خواسته نمی شود.
  5. تمام شد، شما وارد خط فرمان OpenWrt شده اید.

تنظیم احراز هویت مبتنی بر کلید.

  1. یک جفت کلید با استفاده از puttygen.exe. کلید خصوصی را در رایانه شخصی ذخیره کنید و کلید عمومی را به /etc/dropbear/authorized_keysدستگاه OpenWrt خود اضافه کنید.
  2. Connection → SSH → Auth: در کادر «Parameters Authentication» در زیر «Private key file for Authentication» مسیر فایل کلید خصوصی خود را برای این اتصال (مثلاً openwrt.ppkفایلی که قبلا ایجاد کرده اید) ذکر کنید. بهترین کار این است که روی «مرور…» کلیک کنید و فایل را از طریق گفتگوی فایل انتخاب کنید.

اتصالات خودکار

  1. اتصال → داده: در کادر «جزئیات ورود»، «نام کاربری ورود خودکار» را وارد کنید root.
  2. یک جلسه ذخیره شده را بارگیری، ذخیره یا حذف کنید، openwrt.lanدر Saved Sessions وارد شده و روی دکمه Save کلیک کنید.
  3. برای ایجاد یک میانبر PuTTY با ورود خودکار، یکی ایجاد کنید و جلسه ذخیره شده را با یک @علامت اضافه کنید، به عنوان مثال PuTTY را با:putty.exe @openwrt.lan

WinSCP

WinSCP به شما امکان می دهد فایل سیستم OpenWrt را در Windows Exlorer مانند GUI -style مرور کنید.

  1. WinSCP را دانلود کنید، نسخه بتا Installation packageیا غیربتا را دریافت portable executablesکنید و آنها را در کلاینت ویندوز خود نصب یا از حالت فشرده خارج کنید
  2. در کلاینت ویندوز خود شروع WinSCP.exeکنید، پنجره ورود به سیستم WinSCP ظاهر می شود
  3. روی New Siteسمت چپ کلیک کنید، مطمئن شوید که روی scpFile protocol تنظیم شده است، سپس آدرس IP دستگاه OpenWrt خود (192.168.1.1) را در سمت راست وارد کنید، پورت پیش فرض را نگه دارید . در root root ، در ، رمز عبور root خود را وارد کنید (یا اگر هنوز رمز عبور تنظیم نکرده اید، آن را خالی بگذارید)Host name۲۲User namePassword
  4. Loginدر پایین پنجره کلیک کنید .
  5. انجام شده. اکنون یک نمای Exlorer مانند از سیستم فایل OpenWrt خود دارید.

ویرایش فایل های پیکربندی OpenWrt با ویرایشگر رابط کاربری گرافیکی یکپارچه WinSCP.

  1. برای ویرایش یک فایل پیکربندی OpenWrt با ویرایشگر مبتنی بر رابط کاربری گرافیکی WinSCP ، فقط روی فایل در WinSCP کلیک راست کرده و Editاز منوی زمینه انتخاب کنید.

Cmder

Cmder برای ویندوز یک شبیه ساز ترمینال منبع باز است که بر روی ویندوز اجرا می شود. استفاده از آن رایگان است و یک “پوسته خط فرمان” آسان را ارائه می دهد که به شما امکان می دهد به OpenWrt ssh کنید. فونت های جذاب و رنگ بندی آن برای چشم ها آسان است. توزیع کامل ترجیح داده می شود (به توزیع کوچک )، زیرا یک شبیه سازی bash را با مجموعه ای از دستورات Unix-y ارائه می دهد.

  1. Cmder را دانلود کنید .
  2. فایل cmder.zip را از حالت فشرده خارج کنید.
  3. پوشه Cmder را باز کنید و روی نماد Cmder دوبار کلیک کنید. پنجره Cmder را می بینید که مشابه تصویر زیر باز می شود.
  4. برای ssh به روتر OpenWrt در ۱۹۲.۱۶۸.۱.۱، تایپ کنید ssh root@192.168.1.1و سپس Return را فشار دهید.

SmartTTY

SmarTTY به شما امکان دسترسی خط فرمان به OpenWrt را می دهد و به شما امکان می دهد فایل ها را در OpenWrt باز/ویرایش/دانلود/آپلود کنید و به طور کلی مدرن تر و کاربرپسندتر از PuTTY است (ابزار دیگری که در زیر توضیح داده شده است).

  1. SmartTTY را دانلود کنید، «دانلود» را برای نصب‌کننده یا «نسخه قابل حمل» را انتخاب کنید اگر می‌خواهید آن را به عنوان یک برنامه مستقل که بدون نصب کار می‌کند، انتخاب کنید.
  2. پس از نصب یا پس از باز کردن آرشیو، روی فایل اجرایی SmartTTY دوبار کلیک کنید.
  3. با پنجره ای با دو گزینه روبرو می شوید، روی “تنظیم یک اتصال SSH جدید ” دوبار کلیک کنید (گزینه دیگر برای اتصالات سریال است، برای دانگل های usb- TTL و مواردی که به پین ​​های سریال اشکال زدایی دستگاه روی برد متصل می شوید، برنده شدیم. اکنون از آن استفاده نکنید).
  4. پنجره به تنظیمات SSH تغییر می کند ، اطلاعات زیر را بنویسید:
    1. نام میزبان: آدرس IP دستگاه OpenWrt (پیش‌فرض ۱۹۲.۱۶۸.۱.۱ است )
    2. نام کاربری: root (این “مدیر” و تنها کاربر در OpenWrt پیش فرض است)
    3. رمز عبور: این قسمت را برای اولین اتصال خود خالی بگذارید، سپس رمز عبوری را که تنظیم کرده اید بنویسید (چه در Luci GUI یا بعد از اولین دسترسی SSH )
  5. روی دکمه “اتصال” در پایین کلیک کنید و اکنون صفحه ترمینال بزرگی را خواهید دید
  6. یک میان‌افزار پیش‌فرض OpenWrt فاقد مؤلفه سرور است که به شما امکان می‌دهد فایل‌ها را در SmartTTY باز/ویرایش/مشاهده/آپلود/دانلود کنید، بنابراین پس از اتصال به اینترنت opkg update && opkg install openssh-sftp-serverبرای نصب آن بنویسید. اگر مرحله بعدی ناموفق بود، ممکن است لازم باشد دستگاه OpenWrt را مجددا راه اندازی کنید تا این سرویس جدید به درستی راه اندازی شود.
  7. اکنون می‌توانید روی File → Open a Remote File کلیک کنید تا پنجره‌ای باز شود که سیستم فایل دستگاه OpenWrt را نشان می‌دهد و می‌توانید در آن پیمایش کنید و فایل‌های متنی را برای مثال به طور معمول باز کنید (آنها در یک پنجره ویرایشگر متنی SmartTTY باز می‌شوند)
  8. اگر می‌خواهید فایل‌ها را در/از یک پوشه خاص در دستگاه آپلود یا دانلود کنید، می‌توانید روی منوی SCP کلیک کنید و مناسب‌ترین اقدام را از آنجا انتخاب کنید.

پس از اولین باری که به دستگاهی وصل شدید، SmarTTY یک نمایه را ذخیره کرد، بنابراین می توانید با دوبار کلیک کردن روی نماد آن در اولین پنجره ای که هنگام راه اندازی SmartTTY می بینید، دوباره به همان دستگاه (در آن آدرس IP با آن رمز عبور) متصل شوید. در صورت نیاز می توانید روی این نماد نمایه کلیک راست کنید تا دوباره آن را ویرایش کنید.

شبیه ساز ترمینال لینوکس

همه توزیع‌های لینوکس یک سرویس گیرنده ssh خط فرمان را به عنوان بخشی از نصب پیش‌فرض ارائه می‌کنند.

  1. یک شبیه ساز ترمینال را باز کنید و بنویسید (“ssh” فرمان است، “root” کاربر OpenWrt است که به آن متصل می شوید و “۱۹۲.۱۶۸.۱.۱” IPssh root@192.168.1.1 پیش فرض OpenWrt است )
  2. پیامی در مورد پذیرش یک کلید جدید از دستگاه OpenWrt وجود دارد، “بله” را بنویسید و کلید Enter را فشار دهید.
    1. اگر به دلایلی OpenWrt را مجدداً نصب کرده باشید، دستگاه کلید دیگری خواهد داشت و با خطای عدم تطابق کلید مواجه می شوید. خطا بیان می کند که خط فرمان برای کپی-پیست کردن در ترمینال برای حذف کلید قدیمی و ادامه دادن چیست.
  3. اگر می خواهید جلسه را ببندید، “خروج” را بنویسید

لینوکس همچنین معمولاً دارای کلاینت های SCP/ SFTP (برای باز کردن/ویرایش/دانلود/آپلود فایل ها در OpenWrt) است که ممکن است به صورت پیش فرض نصب شوند یا نباشند. شما باید اسناد توزیع خود را جستجو کنید یا با رابط مدیریت بسته خود برای “scp” و “sftp” جستجو کنید تا مکان و وضعیت نصب فعلی آن را پیدا کنید. راهنمای scp را برای سرویس گیرنده SCP خط فرمان بخوانید یا چند آموزش را در گوگل جستجو کنید تا نحوه استفاده از آن را بیاموزید.

فرمانده نیمه شب

Midnight Commander نرم افزار Norton Commander مانند فایل منیجر است که روی لینوکس و macOS کار می کند. می توانید از طریق mc به فایل های راه دور در OpenWrt دسترسی داشته باشید:

  1. ‘F9’ را فشار دهید
  2. تنظیمات پنل “چپ” را انتخاب کنید
  3. “پیوند پوسته” را انتخاب کنید
  4. “root@192.168.1.1/” را وارد کرده و OK را فشار دهید
  5. اکنون لیستی از فایل ها و دایرکتوری ها را در ریشه OpenWrt خواهید دید

در داخل بر روی scp مانند پروتکل FISH کار می کند بنابراین به سرور SFTP نصب شده نیاز ندارد .

شبیه سازهای ترمینال macOS

در macOS (مک OSX سابق) هر شبیه ساز ترمینال به شما امکان ssh را می دهد.

  1. ترمینال – برنامه ترمینال داخلی macOS، آن را در /Applications/Utilities پیدا کنید.
  2. iTerm2 یک برنامه ترمینال بسیار پیشرفته، ابزار اهدایی – ارزشش را دارد.

برای ssh به روتر OpenWrt خود در ۱۹۲.۱۶۸.۱.۱، تایپ کنید ssh root@192.168.1.1، سپس Return را فشار دهید.

شبیه ساز ترمینال ChromeOS

منبع : https://openwrt.org/docs/guide-user/base-system/uci

منبع۲ :https://openwrt.org/docs/guide-quick-start/sshadministration

ارسال پاسخ

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *