Google is committed to advancing racial equity for Black communities. See how.
इस पेज का अनुवाद Cloud Translation API से किया गया है.
Switch to English

OTBR डॉकर चलाएं

OpenThread Border Router (OTBR) को थ्रेड नेटवर्क में शामिल होने के लिए थ्रेड RCP नोड की आवश्यकता होती है। ओटीबीआर डॉकर एक भौतिक आरसीपी (ओपनथ्रेड डोंगल) या एक नकली आरसीपी दोनों के लिए समर्थन प्रदान करता है।

यदि आप ओटीबीआर डॉकर को अन्य भौतिक थ्रेड उपकरणों से कनेक्ट करना चाहते हैं, तो एक भौतिक आरसीपी का उपयोग करें। यदि आप सिम्युलेटेड थ्रेड नेटवर्क के साथ बॉर्डर रूटिंग का परीक्षण करना चाहते हैं, तो सिम्युलेटेड आरसीपी का उपयोग करें।

शारीरिक आरसीपी

भौतिक RCP के लिए किसी भी समर्थित OpenThread प्लेटफ़ॉर्म का उपयोग करें। अधिक जानकारी के लिए OpenThread Border Router Build और कॉन्फ़िगरेशन गाइड से बिल्ड और फ्लैश RCP चरण देखें।

आरसीपी संलग्न करें

  1. बिल्डिंग और फ्लैशिंग के बाद, यूएसबी के माध्यम से ओटीसीबी डॉकर चलाने वाली मशीन को आरसीपी डिवाइस संलग्न करें।
  2. जाँच /dev :
    ls /dev/tty*
    /dev/ttyACMO
    द्वारा RCP डिवाइस के लिए सीरियल पोर्ट नाम निर्धारित करें

ओटीबीआर डॉकर कंटेनर शुरू करें

एक नई टर्मिनल विंडो में, आरटीसीपी के सीरियल पोर्ट को संदर्भित करते हुए, ओटीबीआर डोकर शुरू करें। उदाहरण के लिए, यदि RCP /dev/ttyACM0 :

docker run --sysctl "net.ipv6.conf.all.disable_ipv6=0 \
        net.ipv4.conf.all.forwarding=1 net.ipv6.conf.all.forwarding=1" \
        -p 8080:80 --dns=127.0.0.1 -it --volume \
        /dev/ttyACM0:/dev/ttyACM0 --privileged openthread/otbr \
        --radio-url spinel+hdlc+uart:///dev/ttyACM0

सफलता मिलने पर, आपके पास इसके समान आउटपुट होना चाहिए:

WARNING: Localhost DNS setting (--dns=127.0.0.1) may fail in containers.
RADIO_URL: spinel+hdlc+uart:///dev/ttyACM0
TUN_INTERFACE_NAME: wpan0
NAT64_PREFIX: 64:ff9b::/96
AUTO_PREFIX_ROUTE: true
AUTO_PREFIX_SLAAC: true
Current platform is ubuntu
* Applying /etc/sysctl.d/10-console-messages.conf ...
kernel.printk = 4 4 1 7
* Applying /etc/sysctl.d/10-ipv6-privacy.conf ...
net.ipv6.conf.all.use_tempaddr = 2
net.ipv6.conf.default.use_tempaddr = 2
* Applying /etc/sysctl.d/10-kernel-hardening.conf ...
kernel.kptr_restrict = 1
* Applying /etc/sysctl.d/10-link-restrictions.conf ...
fs.protected_hardlinks = 1
fs.protected_symlinks = 1
* Applying /etc/sysctl.d/10-magic-sysrq.conf ...
kernel.sysrq = 176
* Applying /etc/sysctl.d/10-network-security.conf ...
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.all.rp_filter = 1
net.ipv4.tcp_syncookies = 1
* Applying /etc/sysctl.d/10-ptrace.conf ...
kernel.yama.ptrace_scope = 1
* Applying /etc/sysctl.d/10-zeropage.conf ...
vm.mmap_min_addr = 65536
* Applying /etc/sysctl.d/60-otbr-ip-forward.conf ...
net.ipv6.conf.all.forwarding = 1
net.ipv4.ip_forward = 1
* Applying /etc/sysctl.conf ...
 * Starting userspace NAT64 tayga             [ OK ]
/usr/sbin/service
 * Starting domain name service... bind9      [ OK ]
/usr/sbin/service
 * dbus is not running
 * Starting system message bus dbus           [ OK ]
   ...fail!
otWeb[155]: border router web started on wpan0
otbr-agent[224]: Thread interface wpan0
otbr-agent[224]: Thread is down
otbr-agent[224]: Check if Thread is up: OK
otbr-agent[224]: Stop publishing service
otbr-agent[224]: PSKc is not initialized
otbr-agent[224]: Check if PSKc is initialized: OK
otbr-agent[224]: Initialize OpenThread Border Router Agent: OK
otbr-agent[224]: Border router agent started.

ओटीबीआर डॉकर अब चल रहा है। इस टर्मिनल विंडो को पृष्ठभूमि में खुला और चलाना छोड़ दें। यदि आप प्रक्रिया छोड़ देते हैं या विंडो बंद कर देते हैं, तो ओटीबीआर डॉकर नीचे जाएगा।

ओटीबीआर डॉकर सेटअप के साथ जारी रखने के लिए टेस्ट कनेक्टिविटी पर जाएं।

नकली आरसीपी

सिम्युलेटेड RCP के लिए एक सिम्युलेटेड OpenThread RCP बिल्ड का उपयोग करें। यदि आप किसी एकल मशीन पर सिम्युलेटेड थ्रेड नेटवर्क के साथ बॉर्डर रूटिंग का परीक्षण करना चाहते हैं तो यह उपयोगी है।

नकली आरसीपी आवेदन बनाएँ

  1. OpenThread रिपॉजिटरी को क्लोन करें:
    cd ~
    git clone https://github.com/openthread/openthread
  2. बूटस्ट्रैप और सिम्युलेटेड एप्लिकेशन का निर्माण करें:
    cd openthread
    ./bootstrap
    make -f examples/Makefile-simulation
    

एक द्विदिश डेटा स्ट्रीम सेट अप करें

सिम्युलेटेड आरसीपी और ओटीबीआर डॉकर के बीच डेटा ट्रांसफर करने के लिए एक द्विदिश डेटा स्ट्रीम स्थापित करने के लिए socat कमांड लाइन उपयोगिता का उपयोग करें।

  1. इस प्रक्रिया को चलाने के लिए एक नई टर्मिनल विंडो खोलें, क्योंकि इसे चलाना छोड़ दिया जाना चाहिए जबकि OTBR डोकर चल रहा है।
  2. स्थापित socat :
    sudo apt-get install socat
  3. प्रारंभ socat :
    socat -d -d pty,raw,echo=0 pty,raw,echo=0
    2018/09/06 09:58:29 socat[242994] N PTY is /dev/pts/2
    2018/09/06 09:58:29 socat[242994] N PTY is /dev/pts/7
    2018/09/06 09:58:29 socat[242994] N starting data transfer loop with FDs [5,5] and [7,7]
    

आउटपुट में बोल्ड किए गए दो सीरियल पोर्ट पर ध्यान दें। नकली आरसीपी के लिए पहले एक और ओटीबीआर डॉकर के लिए दूसरा उपयोग करें। ऊपर के उदाहरण आउटपुट में:

  • /dev/pts/2 = नकली RCP पोर्ट
  • /dev/pts/7 = OTBR डॉकर

इस टर्मिनल विंडो को पृष्ठभूमि में खुला और चलाना छोड़ दें।

नकली आरसीपी शुरू करें

  1. सिम्युलेटेड आरसीपी को चलाने के लिए एक नई टर्मिनल विंडो खोलें, क्योंकि ओटीबीआर डॉकर को चलाते समय इसे छोड़ देना चाहिए।
  2. socat आउटपुट में पहले सीरियल पोर्ट का उपयोग करते हुए, नकली आरसीपी एप्लिकेशन शुरू करें। उदाहरण के लिए, का उपयोग करते हुए अगर /dev/pts/2 से socat उत्पादन:
    ~/openthread/output/simulation/bin/ot-rcp 1 \
        > /dev/pts/2 < /dev/pts/2

इस कमांड से कोई आउटपुट नहीं है। इस टर्मिनल विंडो को पृष्ठभूमि में खुला और चलाना छोड़ दें।

ओटीबीआर डॉकर कंटेनर शुरू करें

एक नया टर्मिनल विंडो में, में दूसरा सीरियल पोर्ट का उपयोग कर OTBR डोकर शुरू, socat उत्पादन। उदाहरण के लिए, socat आउटपुट से /dev/pts/7 का उपयोग करने पर:

docker run --sysctl "net.ipv6.conf.all.disable_ipv6=0 \
        net.ipv4.conf.all.forwarding=1 net.ipv6.conf.all.forwarding=1" \
        -p 8080:80 --dns=127.0.0.1 -it --volume \
        /dev/pts/7:/dev/ttyUSB0 --privileged openthread/otbr

ध्यान दें कि कमांड /dev/ttyUSB0 पोर्ट का भी उपयोग कर रहा है। यह डॉकटर कंटेनर के भीतर डिफ़ॉल्ट माउंट बिंदु है।

सफलता मिलने पर, आपके पास इसके समान आउटपुट होना चाहिए:

WARNING: Localhost DNS setting (--dns=127.0.0.1) may fail in containers.
RADIO_URL: spinel+hdlc+uart:///dev/ttyUSB0
TUN_INTERFACE_NAME: wpan0
NAT64_PREFIX: 64:ff9b::/96
AUTO_PREFIX_ROUTE: true
AUTO_PREFIX_SLAAC: true
Current platform is ubuntu
* Applying /etc/sysctl.d/10-console-messages.conf ...
kernel.printk = 4 4 1 7
* Applying /etc/sysctl.d/10-ipv6-privacy.conf ...
net.ipv6.conf.all.use_tempaddr = 2
net.ipv6.conf.default.use_tempaddr = 2
* Applying /etc/sysctl.d/10-kernel-hardening.conf ...
kernel.kptr_restrict = 1
* Applying /etc/sysctl.d/10-link-restrictions.conf ...
fs.protected_hardlinks = 1
fs.protected_symlinks = 1
* Applying /etc/sysctl.d/10-magic-sysrq.conf ...
kernel.sysrq = 176
* Applying /etc/sysctl.d/10-network-security.conf ...
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.all.rp_filter = 1
net.ipv4.tcp_syncookies = 1
* Applying /etc/sysctl.d/10-ptrace.conf ...
kernel.yama.ptrace_scope = 1
* Applying /etc/sysctl.d/10-zeropage.conf ...
vm.mmap_min_addr = 65536
* Applying /etc/sysctl.d/60-otbr-ip-forward.conf ...
net.ipv6.conf.all.forwarding = 1
net.ipv4.ip_forward = 1
* Applying /etc/sysctl.conf ...
 * Starting userspace NAT64 tayga             [ OK ]
/usr/sbin/service
 * Starting domain name service... bind9      [ OK ]
/usr/sbin/service
 * dbus is not running
 * Starting system message bus dbus           [ OK ]
   ...fail!
otWeb[155]: border router web started on wpan0
otbr-agent[224]: Thread interface wpan0
otbr-agent[224]: Thread is down
otbr-agent[224]: Check if Thread is up: OK
otbr-agent[224]: Stop publishing service
otbr-agent[224]: PSKc is not initialized
otbr-agent[224]: Check if PSKc is initialized: OK
otbr-agent[224]: Initialize OpenThread Border Router Agent: OK
otbr-agent[224]: Border router agent started.

ओटीबीआर डॉकर अब चल रहा है। इस टर्मिनल विंडो को पृष्ठभूमि में खुला और चलाना छोड़ दें। यदि आप प्रक्रिया छोड़ देते हैं या विंडो बंद कर देते हैं, तो ओटीबीआर डॉकर नीचे जाएगा।