रास्पबेरी पाई को एक एक्सेस पॉइंट के रूप में स्थापित करना - आसान तरीका


16

मुझे पता है कि यह कैसे करना है जैसे कि एक रास्पबेरी पाई को एक स्टैंडअलोन नेटवर्क (NAT) में एक्सेस प्वाइंट के रूप में स्थापित करने के लिए आधिकारिक प्रलेखन द्वारा वर्णित उदाहरण के लिए । लेकिन इसके लिए कई अलग-अलग घटकों की आवश्यकता होती है, जिन्हें एक साथ खेलना चाहिए और प्रत्येक घटक को अपने तरीके से कॉन्फ़िगर करना चाहिए। ये नेटवर्किंग (ifupdown) , dhcpcd , hostapd , dnsmasq और पुल- बर्तन हैं

आजकल रास्पियन स्ट्रेच में सभी आवश्यक घटकों का निर्माण किया गया है, इसलिए अतिरिक्त सॉफ़्टवेयर स्थापित करना आवश्यक नहीं है। यह सेटअप को बहुत सरल बना सकता है।

क्या यह संभव है कि अतिरिक्त सॉफ्टवेयर स्थापित किए बिना रास्पियन को वाईफाई एक्सेस बिंदु के रूप में काम करने के लिए कॉन्फ़िगर किया जाए ?

जवाबों:


26

━━━ एक पहुंच बिंदु स्थापित करना access

हम एक ईथरनेट पोर्ट eth0 के साथ एक एक्सेस प्वाइंट के बारे में बात कर रहे हैं ।

यदि आप wlan0 क्लाइंट कनेक्शन के साथ एक और wifi नेटवर्क (wlan repeater) के साथ एक एक्सेस प्वाइंट चाहते हैं तो एक्सेस प्वाइंट को WiFi राउटर / रिपीटर के रूप में देखें, जो ब्रिज के साथ वैकल्पिक है

अतिरिक्त सॉफ़्टवेयर को स्थापित किए बिना, रास्पियन खिंचाव को वाईफ़ाई पहुंच बिंदु के रूप में कॉन्फ़िगर करना संभव है । सभी आवश्यक घटक उपलब्ध हैं: नेटवर्किंग, डीएचसीपी सर्वर और ब्रिजिंग सिस्टमड-नेटवर्कड के साथ आती है और वाईफाई को wpa_supplicant के साथ सेटअप किया जा सकता है । दो इंटरफेस eth0 और wlan0 को कनेक्ट करके रूटिंग या ब्रिजिंग द्वारा किया जा सकता है। त्वरित स्थापना के लिए पहले सेटअप और फिर विवरण के नीचे। पहले हमें systemd-networkd पर स्विच करना होगा


2020-01-18 पर अपडेट की गई रास्पबेरी पाई 4 बी पर रास्पियन बस्टर लाइट 2019-09-26 के साथ परीक्षण किया गया।
के साथ किए गए अपडेट sudo apt update && sudo apt full-upgrade && sudo reboot
यहां आप पिछले रास्पियन संस्करणों के लिए अंतिम परीक्षण संशोधन पा सकते हैं ।


♦ सामान्य सेटअप

Systemd-networkd पर स्विच करें

विस्तृत जानकारी के लिए (1) देखें और सिस्टम रिज़ॉल्यूशन के साथ नाम रिज़ॉल्यूशन को कैसे कॉन्फ़िगर करें । यहाँ केवल संक्षेप में। इन आदेशों का पालन करें:

# deinstall classic networking
rpi ~$ sudo -Es
rpi ~# apt --autoremove purge ifupdown dhcpcd5 isc-dhcp-client isc-dhcp-common
rpi ~# rm -r /etc/network /etc/dhcp

# setup systemd-resolved
rpi ~# apt --autoremove purge avahi-daemon
rpi ~# apt install libnss-resolve
rpi ~# ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf
rpi ~# systemctl enable systemd-resolved.service

# enable systemd-networkd
rpi ~# systemctl enable systemd-networkd.service

पहुंच बिंदु के रूप में wpa_supplicant कॉन्फ़िगर करें

कॉन्फ़िगर करने के लिए wpa_supplicant पहुँच बिंदु के रूप में के लिए अपनी सेटिंग के साथ इस फ़ाइल बनाने country=, ssid=, psk=और हो सकता है frequency=। आप केवल catEOF के साथ और अपनी कमांड लाइन में इसे एक ब्लॉक में कॉपी और पेस्ट कर सकते हैं, जिसमें दोनों EOF (फाइलर ईओएफ को फाइल का हिस्सा नहीं मिलेगा) शामिल हैं:

rpi ~# cat > /etc/wpa_supplicant/wpa_supplicant-wlan0.conf <<EOF
country=DE
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
    ssid="RPiNet"
    mode=2
    frequency=2437
    #key_mgmt=NONE   # uncomment this for an open hotspot
    # delete next 3 lines if key_mgmt=NONE
    key_mgmt=WPA-PSK
    proto=RSN WPA
    psk="password"
}
EOF
rpi ~# chmod 600 /etc/wpa_supplicant/wpa_supplicant-wlan0.conf
rpi ~# systemctl disable wpa_supplicant.service
rpi ~# systemctl enable wpa_supplicant@wlan0.service

सामान्य सेटअप समाप्त। वापस जाओ।


Access एक स्टैंड अलोन एक्सेस प्वाइंट की स्थापना

इस सेटअप के लिए उदाहरण:

                 wifi
mobile-phone <~.~.~.~.~> (wlan0)RPi(eth0)
            \             /
           (dhcp)   192.168.4.1

करो "जनरल सेटअप" तो कॉन्फ़िगर करने के लिए निम्न फ़ाइल बनाने wlan0 । हमारे पास केवल पहुंच बिंदु है। कोई ईथरनेट डिवाइस कॉन्फ़िगर नहीं किया गया है।

rpi ~# cat > /etc/systemd/network/08-wlan0.network <<EOF
[Match]
Name=wlan0
[Network]
Address=192.168.4.1/24
MulticastDNS=yes
DHCPServer=yes
EOF

अगर आप ऐसा चाहते हैं तो रिबूट करें।
बस।
अन्यथा इस समय, रीबूट करने की आवश्यकता नहीं है।


। रूटिंग के बिना, एक्सेस प्वाइंट और eth0 के साथ सेट करना

इस सेटअप के लिए उदाहरण:

                                 |
                 wifi            |           wired            wan
mobile-phone <~.~.~.~.~> (wlan0)RPi(eth0) <---------> router <---> INTERNET
            \             /      |     \             /
           (dhcp)   192.168.4.1  |    (dhcp)   192.168.50.1

सेट अप

"स्टैंड अप अलोन एक्सेस प्वाइंट सेट करें " तो eth0 को कॉन्फ़िगर करने के लिए निम्न फ़ाइल बनाएं ।

rpi ~$ sudo -Es   # if not already executed before
rpi ~# cat > /etc/systemd/network/04-eth0.network <<EOF
[Match]
Name=eth0
[Network]
DHCP=yes
EOF

रीबूट।
बस।

विवरण

इंटरफ़ेस eth0 इंटरनेट राउटर से एक ईथरनेट केबल के साथ जुड़ा हुआ है और इसे इंटरनेट राऊटर से DHCP द्वारा कॉन्फ़िगरेशन मिलता है। इसके Address=192.168.50.2बजाय उदाहरण के साथ इसे एक स्थिर आईपी पता देने के लिए कोई समस्या नहीं है DHCP=yes

बिना रूट किए आप मोबाइल-फोन के साथ इंटरनेट में नहीं जा सकते। आप केवल अपडेट या कुछ और प्राप्त करने के लिए आरपीआई से ही इसमें प्रवेश कर सकते हैं।


Recommended नैट (अनुशंसित) के साथ एक पहुंच बिंदु और eth0 के साथ स्थापित करना

इस सेटअप के लिए उदाहरण:

                 wifi                        wired            wan
mobile-phone <~.~.~.~.~> (wlan0)RPi(eth0) <---------> router <---> INTERNET
            \             /            \
           (dhcp)   192.168.4.1       (dhcp)

सेट अप

करो "जनरल सेटअप" तो कॉन्फ़िगर करने के लिए निम्न फ़ाइलों को बनाने के wlan0 और eth0 । यदि आपने पिछले सेटअप में से किसी एक को आज़माया है तो आप बस दो फाइलों को अधिलेखित कर सकते हैं। सुनिश्चित करें कि आप राउटर से पहुंच बिंदु के लिए एक अलग सबनेट का उपयोग करते हैं। इस उदाहरण में राउटर सबनेट 192.168.4.0/24 का उपयोग नहीं करता है। अगर आपको एक और सबनेट की जरूरत है तो बस एड्रेस लाइन को बदल दें, जैसे Address=192.168.5.1/24

rpi ~$ sudo -Es   # if not already executed before
rpi ~# cat > /etc/systemd/network/08-wlan0.network <<EOF
[Match]
Name=wlan0
[Network]
Address=192.168.4.1/24
MulticastDNS=yes
# IPMasquerade is doing NAT
IPMasquerade=yes
DHCPServer=yes
[DHCPServer]
DNS=84.200.69.80 1.1.1.1
EOF

rpi ~# cat > /etc/systemd/network/04-eth0.network <<EOF
[Match]
Name=eth0
[Network]
DHCP=yes
IPForward=yes
EOF

रीबूट।
बस।

विवरण

यदि आपके पास इंटरनेट राउटर तक पहुंच नहीं है, तो आप इसे एनएटी (नेटवर्क एड्रेस ट्रांसलेशन) के साथ नकली बना सकते हैं ताकि यह झूठ हो सके कि सभी पैकेज आपके रासपी एपी से आ रहे हैं। लेकिन यह स्वच्छ मार्ग नहीं है और इसकी सीमाएँ हैं। राउटर के सबनेट पर ग्राहक वाईफ़ाई पर ग्राहकों से जुड़ नहीं सकते। लेकिन ज्यादातर मामलों में इसकी आवश्यकता नहीं होती है, इसलिए इस सेटअप की सिफारिश की जाती है क्योंकि यह सेटअप को सरल करता है। यदि आपको राउटर नेटवर्क से वाईफाई क्लाइंट से कनेक्ट करने की आवश्यकता है, तो आपको अगले भाग में डिबार किए गए के रूप में पूर्ण रूटिंग का उपयोग करना होगा।


। रूटिंग के साथ एक एक्सेस पॉइंट और eth0 के साथ सेट करना

इस सेटअप के लिए उदाहरण:

                 wifi                        wired            wan
mobile-phone <~.~.~.~.~> (wlan0)RPi(eth0) <---------> router <---> INTERNET
            \             /            \              /
           (dhcp)   192.168.4.1   192.168.50.2   192.168.50.1

सेट अप

करो "जनरल सेटअप" तो कॉन्फ़िगर करने के लिए निम्न फ़ाइलों को बनाने के wlan0 और eth0 । यदि आपने पिछले सेटअप में से किसी एक को आज़माया है तो आप बस दो फाइलों को अधिलेखित कर सकते हैं। सुनिश्चित करें कि आप एक्सेस पॉइंट और राउटर नेटवर्क के लिए अलग-अलग सबनेट का उपयोग करते हैं। हमें स्थैतिक आईपी पते का उपयोग करना होगा क्योंकि हमें उन्हें गेटवे के रूप में उपयोग करना चाहिए।

rpi ~$ sudo -Es   # if not already executed before
rpi ~# cat > /etc/systemd/network/08-wlan0.network <<EOF
[Match]
Name=wlan0
[Network]
Address=192.168.4.1/24
MulticastDNS=yes
DHCPServer=yes
[DHCPServer]
DNS=84.200.69.80 1.1.1.1
EOF

rpi ~# cat > /etc/systemd/network/04-eth0.network <<EOF
[Match]
Name=eth0
[Network]
Address=192.168.50.2/24
Gateway=192.168.50.1
DNS=84.200.69.80 1.1.1.1
IPForward=yes
EOF

रीबूट।

रूटिंग को पूरा करने के लिए आपको अपने इंटरनेट राउटर में एक स्थैतिक मार्ग सेट करना होगा ताकि यह रासपी पर आने वाले पैकेजों के लिए मार्ग का पता लगा सके जो वाईफाई से जुड़े ग्राहकों तक पहुंच बिंदु तक हो। अधिकांश इंटरनेट राउटर पर आप एक स्थैतिक मार्ग सेट कर सकते हैं लेकिन यह कैसे करें कि मॉडल से मॉडल में भिन्न हो। यह आपको पता लगाना है। उदाहरण के लिए आपके RasPi eth0 इंटरफ़ेस में स्थिर IP पता 192.168.50.2 है। फिर आपके राउटर पर गेटवे (अगला हॉप) 192.168.50.2, गंतव्य नेटवर्क 192.168.4.0/24 (या 192.168.4.0 नेटमास्क 255.255.255.0) है।

इंटरनेट राउटर के लिए इसका मतलब है: "सबनेट से संबंधित पैकेज 192.168.4.0/24(एपी से गंतव्य नेटवर्क) को अगले राउटर पर मेरे सबनेट, रासपी एपी 192.168.50.2(गेटवे) पर भेजें । यह जानता है कि कहां जाना है।"

बस।


Access एक पुल के साथ एक पहुंच बिंदु स्थापित करना

इस सेटअप के लिए उदाहरण:

                               RPi
               wifi   ┌──────bridge──────┐   wired            wan
mobile-phone <.~.~.~> │(wlan0) br0 (eth0)│ <-------> router <-----> INTERNET
            \                   |                   / DHCP-server
           (dhcp              (dhcp           192.168.50.1
        from router)       from router)

यदि आपके पास पहले से ही डीएचसीपी सर्वर और इंटरनेट राउटर के साथ एक ईथरनेट नेटवर्क है और आप इसे वाईफाई एक्सेस प्वाइंट के साथ विस्तारित करना चाहते हैं, लेकिन समान आईपी पते के साथ तो आप एक पुल का उपयोग करते हैं। यह अक्सर एक राउटर के अपलिंक के रूप में उपयोग किया जाता है।

सेट अप

करो "जनरल सेटअप" तो नेटवर्क इंटरफेस कॉन्फ़िगर करने के लिए निम्नलिखित तीन फ़ाइलों को बनाने के। यदि आपने पिछले सेटअप में से एक का प्रयास किया है, तो आप केवल वर्तमान में /etc/systemd/network/छोड़कर सभी फ़ाइलों को हटा सकते हैं 99-default.link। आईपी ​​पते उदाहरण हैं। आपको अपना खुद का उपयोग करना होगा।

rpi ~$ sudo -Es   # if not already executed before
rpi ~# cat > /etc/systemd/network/02-br0.netdev <<EOF
[NetDev]
Name=br0
Kind=bridge
EOF

rpi ~# cat > /etc/systemd/network/04-br0_add-eth0.network <<EOF
[Match]
Name=eth0
[Network]
Bridge=br0
EOF

rpi ~# cat > /etc/systemd/network/12-br0_up.network <<EOF
[Match]
Name=br0
[Network]
MulticastDNS=yes
DHCP=yes
# to use static IP uncomment these and comment DHCP=yes
#Address=192.168.50.60/24
#Gateway=192.168.50.1
#DNS=84.200.69.80 1.1.1.1
EOF

अब हमें पुल का उपयोग करने के लिए wpa_supplicant बताना है । हम इसकी सेवा को संशोधित करके करते हैं:

rpi ~# systemctl edit wpa_supplicant@wlan0.service

खाली संपादक में इन कथनों को डालें, उन्हें सहेजें और संपादक को छोड़ दें:

[Service]
ExecStartPre=/sbin/iw dev %i set type __ap
ExecStartPre=/bin/ip link set %i master br0

ExecStart=
ExecStart=/sbin/wpa_supplicant -c/etc/wpa_supplicant/wpa_supplicant-%I.conf -Dnl80211,wext -i%I -bbr0

ExecStopPost=-/bin/ip link set %i nomaster
ExecStopPost=-/sbin/iw dev %i set type managed

रीबूट।
बस।

विवरण

हमें wpa_supplicant बताना होगा कि इसका इंटरफ़ेस wlan0 एक पुल का गुलाम है। अन्यथा यह क्लाइंट को "गलत पासवर्ड" से जोड़ता है जिसका अर्थ है कि महत्वपूर्ण बातचीत काम नहीं करती है। जब हम wlan0 के -dbr0लिए पुल का उपयोग करने के विकल्प के साथ / sbin / wpa_supplicant बताते हैं तो इंटरफ़ेस पहले से ही पुल का सदस्य होना चाहिए। यही हम wpa_supplicant सेवा के लिए फ़ाइल (ओवरले) में गिरावट के साथ करते हैं । खाली स्टेटमेंट ExecStart=पुरानी प्रविष्टि को हटा देता है। अन्यथा आपके पास दो लाइनें हैं ExecStart=और wpa_supplicant दो बार शुरू होगा। मूल ExecStart=आप के साथ देख सकते हैं systemctl cat wpa_supplicant@wlan0.service

आम तौर पर आप जिस राउटर से ईथरनेट केबल से जुड़े होते हैं, उसमें डीएचसीपी सर्वर सक्षम होता है। यह पुल स्टेशनों से डीएचसीपी अनुरोधों (एक्सेस प्वाइंट से जुड़े उपकरणों) के लिए भी पारदर्शी है, इसलिए आपको आईपी पते और विकल्पों के साथ इसके इंटरफेस के कॉन्फ़िगरेशन के बारे में चिंता करने की ज़रूरत नहीं है। राउटर इसे सर्व करेगा।
भ्रमण:
लेकिन यदि राउटर में डीएचसीपी सर्वर नहीं है, तो आप रासपी पर एक सेटअप कर सकते हैं। systemd-networkd में इसके अंतर्निहित DHCP सर्वर को कॉन्फ़िगर करने के विकल्प हैं, लेकिन समस्या यह है कि systemd-networkd यह मानता है कि यह राउटर पर ही चल रहा है और यह इस मामले में सच नहीं है। यह स्टेशनों को गलत विकल्प प्रदान करेगा, विशेष रूप से राउटर विकल्प। इसे कॉन्फ़िगर करने का कोई तरीका नहीं है। इसलिए हमें इंस्टॉल करना होगाdnsmasqइस मामले में जिसे आवश्यकतानुसार कॉन्फ़िगर किया जा सकता है। इसे स्थापित करें और इसे कॉन्फ़िगर करें (उदाहरण के लिए, अपने स्वयं के आईपी पते का उपयोग करें):

rpi ~$ sudo -Es
rpi ~# apt install dnsmasq
rpi ~# systemctl stop dnsmasq
rpi ~# mv /etc/dnsmasq.conf /etc/dnsmasq.conf.orig

rpi ~# cat > /etc/dnsmasq.conf <<EOF
interface=br0
  dhcp-range=192.168.50.128,192.168.50.164,255.255.255.0,24h
  dhcp-option=option:router,192.168.50.1
  dhcp-option=option:dns-server,8.8.8.8,1.1.1.1
EOF

rpi ~# systemctl start dnsmasq
rpi ~# exit
rpi ~$

इस उदाहरण में आईपी पते 192.168.50.128 से 192.168.50.164 स्टेशनों को देने के लिए आरक्षित हैं। अन्य स्थिर आईपी पते इस पूल के बाहर एक का उपयोग करते हैं, पुल के लिए भी आईपी पता।


♦ अनुकूलन

जब आप wpa_supplicant शुरू करते हैं तो आपको ज्यादातर यह संदेश पत्रिका में मिलते हैं:

wpa_supplicant[427]: random: Cannot read from /dev/random: Resource temporarily unavailable
wpa_supplicant[427]: random: Only 12/20 bytes of strong random data available from /dev/random
wpa_supplicant[427]: random: Not enough entropy pool available for secure operations
wpa_supplicant[427]: WPA: Not enough entropy in random pool for secure operations - update keys later when the first station connects

यह कोई बड़ा मुद्दा नहीं है। wpa_supplicant encrpyting कुंजी उत्पन्न करने के लिए यादृच्छिक संख्या की आवश्यकता है। यह थोड़ा धीमा किया जाता है इसलिए इसे इंतजार करना पड़ता है। सौभाग्य से RasPi के पास T rue R andom N umber G enerator (TRNG) है। हम इसका इस्तेमाल और सॉफ्टवेयर का एक टुकड़ा स्थापित करके यादृच्छिक संख्या हो रही तेजी लाने के कर सकते हैं (3) के साथ:

rpi ~$ sudo apt install rng-tools

अपडेट:
चूंकि रास्पियन स्ट्रेच 2019-04-08 को स्थापित करने की कोई आवश्यकता नहीं है rng-tools। वे डिफ़ॉल्ट रूप से स्थापित हैं।


Hooting समस्या निवारण

systemd-networkd

सेवा की स्थिति देखें:

rpi ~$ systemctl status systemd-networkd.service
rpi ~$ systemctl status wpa_supplicant@wlan0.service

या थोड़ा और भी:

rpi ~$ journalctl --boot --pager-end

मुझे चल रहे लॉगिंग का पालन करना सहायक लगा:

rpi ~$ journalctl --boot --follow

यदि आपने फ़ाइल में कोई कमी की है तो आप परिणाम देख सकते हैं:

rpi ~$ systemctl cat wpa_supplicant@wlan0.service

एक इकाई के रनटाइम वातावरण की जांच करने के लिए आप इसे दिखा सकते हैं और उदाहरण के लिए देखो कि क्या दो ExecStart=लाइनें हैं:

rpi ~$ systemctl show wpa_supplicant@wlan0.service

और अगर कुछ भी नहीं दूसरों की मदद आप फ़ाइल में एक बूंद के /sbin/wpa_supplicantसाथ डीबग विकल्प सक्षम कर सकते हैं -d:

rpi ~$ sudo systemctl edit wpa_supplicant@wlan0.service
ExecStart=
ExecStart=/sbin/wpa_supplicant -c/etc/wpa_supplicant/wpa_supplicant-%I.conf -Dnl80211,wext -i%I -bbr0 -d

आउटपुट जर्नल में है। इस तरह मैंने इस मुद्दे को गलत महत्वपूर्ण बातचीत के साथ पाया है।

वाई - फाई

यदि आपके पास एक्सेस प्वाइंट सेट है तो आपको इसे मोबाइल फोन से ढूंढना चाहिए। उपलब्ध नेटवर्कों को दिखाते हुए , इसे RPiNet नाम के साथ प्रस्तुत किया गया है और आप इससे जुड़ सकते हैं। RasPi पर आप कमांड का उपयोग भी कर सकते हैं:

rpi ~$ sudo iw dev wlan0 info
phy#0
        Interface wlan0
                ifindex 3
                wdev 0x2
                addr b8:27:eb:06:e8:8b
                ssid RPiNet
                type AP
                channel 1 (2412 MHz), width: 20 MHz, center1: 2412 MHz

जैसा कि आप देख सकते हैं कि यह एपी (एक्सेस प्वाइंट) है और यह आपको यह भी दिखाएगा कि यह किस चैनल का उपयोग कर रहा है। एक समस्या आवृत्ति में एक चैनल का अनुवाद करने के लिए हो सकती है। आवृत्ति को एक चैनल से मेल खाना चाहिए। आप WLAN चैनलों की सूची के लिए (2) देख सकते हैं। उदाहरण के लिए आपको 5.1 गीगाहर्ट्ज बैंड पर चैनल 36 का उपयोग करना frequency=5180है /etc/wpa_supplicant\wpa_supplicant.conf। लेकिन आपको यकीन होना चाहिए कि आपकी वाईफाई 5.1 गीगाहर्ट्ज बैंड को सपोर्ट करती है। आप के साथ जाँच कर सकते हैं sudo iw phy। यह आपको जानकारी का एक गुच्छा देगा। इसमें 5000 मेगाहर्ट्ज से ऊपर समर्थित आवृत्तियाँ भी होनी चाहिए। यदि आप केवल 24xx मेगाहर्ट्ज की आवृत्तियों को देखते हैं तो निश्चित रूप से आप केवल इसका उपयोग कर सकते हैं।

एक और बिंदु यादृच्छिक संख्या हो सकता है। सुरक्षित कनेक्शन के लिए कुंजी एन्क्रिप्ट करने के लिए wpa_supplicant को यादृच्छिक संख्या की आवश्यकता होती है। रास्पबेरी पाई पर यह उत्पन्न करना बहुत धीमा है। यदि यह एन्क्रिप्ट करने वाली कुंजी उत्पन्न करने के लिए पर्याप्त एन्ट्रापी नहीं है तो wpa_supplicant प्रमाणीकरण को अस्वीकार कर देगा। आप देख सकते हैं cat /proc/sys/kernel/random/entropy_availकि कितने एंट्रोपी उपलब्ध हैं। यह त्वरित पर्याप्त काम करने के लिए> 1000 होना चाहिए। इसे गति देने के लिए, rng-toolsडिफ़ॉल्ट रूप से इंस्टॉल किए जाते हैं। अधिक जानकारी के लिए ऑप्टिमाइज़ करने वाले अनुभाग को देखें।


संदर्भ:
[1] Howto विस्थापित गतिशील विफलता के साथ systemd-networkd नेटवर्किंग से
[2] WLAN चैनलों की सूची
[3] RNG उपकरण


rpi ~ # systemd-tmpfiles --create --prefix / var / log / journalroot इस आउटपुट संदेश के साथ नाखून var / log / journal ', value = 0x00800000, mask = 0x00800000: ऑपरेशन समर्थित नहीं है' फ़ाइल के लिए विशेषता सेट नहीं कर सकता कार्यान्वित किया। प्रक्रिया को लागू करने की एक अच्छी शुरुआत नहीं।
जन पति

1
हाय @JHHus आपकी प्रतिक्रिया के लिए धन्यवाद। यह केवल एक चेतावनी है एक त्रुटि नहीं और कोई फर्क नहीं पड़ता। मुझे भी यह हर बार मिलता है। लगातार पत्रिका बनाई जाती है। के साथ देखो ls /var/log/journal/। आपको एक निर्देशिका दिखाई देगी जो दिखती है fa9462093e8d419cb646d0a0c44771c2। यह आपके द्वारा उपयोग की जाने वाली पत्रिका के लिए संग्रहण है journalctl। मैं अपना जवाब अपडेट करूंगा।
इंगो

हाँ, मैंने जाँच की कि क्या फ़ाइल बनाई गई थी। लेकिन मैं रुक गया और रुक गया। मैं आज जारी रखूंगा। अब तक यह विषय पर बेहतर "ट्यूटोरियल" में से एक है। इसे पोस्ट करने के लिए धन्यवाद। PS इसे लगातार ठीक कह रहा है? जब यह अस्थायी प्रक्रिया का उपयोग करके बनाया जाता है तो थोड़ा भ्रमित होना।
जान हुस

2
@ मुझे लगता है कि यह proto=WPA2एपी विन्यास में उपयोग करने के लिए अनुशंसित है । मेरा फोन, कम से कम, इसके बिना "कमजोर सुरक्षा" के बारे में शिकायत करता है।
रॉबिन डीनसे

2
@ रॉबिनडाइन आप सही हैं, बिल्कुल। मैंने इसकी देखरेख की है। संकेत के लिए धन्यवाद। मैंने जोड़ा है proto=RSN। यह वह जगह है जो पसंद करता है ( proto=WPA2एक उपनाम नामकरण )।
इंगो

4

इससे भी आसान एक एपी के रूप में एक रास्पबेरी Pi की स्थापना के रास्ते का उपयोग करना है अनुकरणीय-एपी Github रेपो जो एक एपी में एक पाई 3 बी + / 4 के विन्यास स्वचालित करता है।

अपने इंटरनेट से जुड़े राउटर में पाई को एक मुफ्त पोर्ट से कनेक्ट करें जिसमें डीएचसीपी सक्षम है (शायद अधिकांश उपभोक्ता राउटर में मामला)।

एक बार कनेक्ट होने पर, SSCP में DHCP पर SSH को eth0रूटर द्वारा सौंपा गया IP सौंपा गया और फिर:

git clone https://github.com/f1linux/pi-ap

cd pi-ap

nano variables.sh   # Change default values for SSID & password

sudo ./install.sh

चाय पीते हैं और लगभग 2 मिनट इंतजार करने के बाद आपके द्वारा सेट की गई SSID variables.shआपकी वायरलेस नेटवर्क सूची में दिखाई देगी। विज्ञापित होने वाले पाई के WLAN से कनेक्ट करें।

पाई के wlan0इंटरफेस पर सीधे एपीएच को एसएसएच करने के लिए , डिफ़ॉल्ट आईपी का उपयोग करें192.168.0.1

कृपया ध्यान दें : डिफ़ॉल्ट डीएचसीपी सबनेट पी-एपी का उपयोग वाईफाई क्लाइंट आईपी को असाइन करने के लिए किया variables.shजाता है 192.168.0.0/28। आप पहले से ही अपने नेटवर्क पर कि सबनेट उपयोग कर रहे हैं, में एक अलग सबनेट सेट variables.shवाईफाई ग्राहकों के लिए पहले क्रियान्वित install.sh

अच्छे परिणाम प्राप्त करने के लिए कोई सबनेट कैलकुलेटर या गंभीर नेटवर्किंग कौशल की आवश्यकता नहीं है। पीआई-एप भी मैक एसीएल के माध्यम से एक्सेस प्रतिबंध का समर्थन करता है।

अस्वीकरण : मैं पी-एपी के डेवलपर हूँ ।


0

━━━ चौकियों के साथ कदम से कदम स्थापना की जाँच करें by

यह उत्तर सेटअप के लिए नहीं सोचा गया है। एक स्थिर बिंदु के लिए अन्य बिंदु पर पहुंच बिंदु सेट करना देखें

यह उत्तर मुख्य रूप से समस्या निवारण के लिए है और यह दिखाने के लिए कि यह विस्तृत कमांड के साथ कैसे कदम और चौकियों द्वारा काम करता है लेकिन पृष्ठभूमि जानकारी के बिना। मुझे लगता है कि आपके पास रास्पबेरी पाई से जुड़ा एक मॉनिटर, कीबोर्ड और माउस है। इस पते पर आईपी पते और अन्य सेटिंग्स उदाहरण हैं। आपको अपना उपयोग करना होगा। आप हमेशा journalctl -b -eलॉग इन जानकारी के लिए देख सकते हैं ।

Download ZIPअपने रसूख पीसी के लिए छवि Raspbian खिंचाव लाइट 2018-11-13

चेकपॉइंट 1: डाउनलोड साइट पर उस चेकसम की तुलना करें।

pc ~$ sha256sum 2018-11-13-raspbian-stretch-lite.zip

47ef1b2501d0e5002675a50b6868074e693f78829822eef64f3878487953234d 2018-11-13-raspbian-stretch-lite.zip

अगला चरण: संलग्न एसडी कार्ड में छवि को जलाएं:

pc ~$ unzip -p 2018-11-13-raspbian-stretch-lite.zip | sudo dd of=/dev/sdb bs=4M conv=fsync

चेकपॉइंट 2: एसडी कार्ड पर विभाजन की जाँच करें:

pc ~$ sudo parted /dev/sdb print
Model: Mass Storage Device (scsi)
Disk /dev/sdb: 3965MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:

Number  Start   End     Size    Type     File system  Flags
 1      4194kB  50,2MB  46,0MB  primary  fat32        lba
 2      50,3MB  1866MB  1816MB  primary  ext4

अगला चरण: बूट विभाजन को माउंट करें और एक wpa_supplicant.confफ़ाइल बनाएँ :

pc ~$ mkdir boot/
pc ~$ sudo mount /dev/sdb1 boot/
pc ~$ sudo -e boot/wpa_supplicant.conf

# insert this into the empty editor with your settings, save it and quit the editor
country=DE
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
    ssid="RPiNet"
    mode=2
    key_mgmt=WPA-PSK
    psk="password"
    frequency=2412
}

pc ~$ sudo umount boot/

SD कार्ड को अपने RasPi और बूट में रखें।

चेकपॉइंट 3: लॉगिन करने के बाद, वायर्ड कनेक्शन की जांच करें। Eth0 इंटरफेस एक आईपी पता होना चाहिए:

rpi ~$ ip -4 addr show dev eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    inet 192.168.50.177/24 brd 192.168.50.255 scope global eth0
       valid_lft forever preferred_lft forever

rpi ~$ ping -I eth0 -c3 google.com
PING google.com (172.217.22.78) from 192.168.50.177 eth0: 56(84) bytes of data.
64 bytes from fra15s17-in-f14.1e100.net (172.217.22.78): icmp_seq=1 ttl=55 time=15.0 ms
64 bytes from fra15s17-in-f14.1e100.net (172.217.22.78): icmp_seq=2 ttl=55 time=14.7 ms
64 bytes from fra15s17-in-f14.1e100.net (172.217.22.78): icmp_seq=3 ttl=55 time=15.1 ms

--- google.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 14.729/14.965/15.125/0.170 ms

यह बॉक्स से बाहर काम करना चाहिए। यदि यह काम नहीं करता है तो आपको अपने नेटवर्क सेटअप के साथ एक सामान्य समस्या है। कृपया इसे जारी रखने से पहले ठीक करें।

चौकी 4: पहुँच बिंदु की जाँच करें:

rpi ~$ sudo iw dev wlan0 info
Interface wlan0
        ifindex 3
        wdev 0x1
        addr b8:27:eb:06:e8:8b
        ssid RPiNet
        type AP
        wiphy 0
        channel 1 (2412 MHz), width: 20 MHz, center1: 2412 MHz
        txpower 31.00 dBm

Wlan0 इंटरफ़ेस shoud एक आईपी पता है। क्योंकि हमने इंटरफ़ेस को कॉन्फ़िगर नहीं किया है, इसमें 169.254.0.0/16 से लिंक-स्थानीय पता होगा

rpi ~$ ip -4 addr show dev wlan0
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    inet 169.254.210.182/16 brd 169.254.255.255 scope global wlan0
       valid_lft forever preferred_lft forever

आप RPINet को अपने मोबाइल फोन पर एक्सेन्ट पॉइंट्स की सूची में देखेंगे लेकिन आप अभी तक इससे कनेक्ट नहीं कर सकते हैं।

अगला चरण: पूर्ण उन्नयन और रिबूट:

rpi ~$ sudo apt update
rpi ~$ sudo apt full-upgrade
rpi ~$ sudo systemctl reboot

रिबूट और लॉगिन करने के बाद, systemd-networkd पर स्विच करें :

rpi ~$ sudo -Es
rpi ~# mkdir -p /var/log/journal
rpi ~# systemd-tmpfiles --create --prefix /var/log/journal #ignore warnings (*)

rpi ~# apt install rng-tools
rpi ~# systemctl mask networking.service
rpi ~# systemctl mask dhcpcd.service
rpi ~# sudo mv /etc/network/interfaces /etc/network/interfaces~
rpi ~# sed -i '1i resolvconf=NO' /etc/resolvconf.conf

rpi ~# systemctl enable systemd-networkd.service
rpi ~# systemctl enable systemd-resolved.service
rpi ~# ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf

(*) आपको एक या दो भ्रमित करने वाली चेतावनियाँ मिलेंगी ... "फ़ाइल विशेषता सेट नहीं की जा सकती ..." यह त्रुटियां नहीं हैं और इस मामले में कोई फर्क नहीं पड़ता।

इंटरफेस के लिए इन फ़ाइलों को बनाने के लिए eth0 और wlan0 अपनी सेटिंग्स के साथ:

rpi ~# cat > /etc/systemd/network/04-eth0.network <<EOF
[Match]
Name=eth0
[Network]
Address=192.168.50.60/24
Gateway=192.168.50.1
DNS=84.200.69.80 84.200.70.40
IPForward=yes
EOF

rpi ~# cat > /etc/systemd/network/08-wlan0.network <<EOF
[Match]
Name=wlan0
[Network]
Address=192.168.4.1/24
DHCPServer=yes
[DHCPServer]
DNS=84.200.69.80 84.200.70.40
EOF

नाम बदलें /etc/wpa_supplicant/wpa_supplicant.conf इसलिए यह इंटरफ़ेस सेटिंग और रीबूट से मेल खाता है:

rpi ~# mv /etc/wpa_supplicant/wpa_supplicant.conf /etc/wpa_supplicant/wpa_supplicant-wlan0.conf
rpi ~# systemctl disable wpa_supplicant@wlan0.service
rpi ~# systemctl reboot

चेकपॉइंट 5: रिबूट और लॉगइन चेक वायर्ड कनेक्शन के बाद eth0 :

rpi ~$ ip -4 addr show dev eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    inet 192.168.50.60/24 brd 192.168.50.255 scope global eth0
       valid_lft forever preferred_lft forever

rpi ~$ ping -I eth0 -c3 google.com
PING google.com (172.217.10.14) from 192.168.50.60 eth0: 56(84) bytes of data.
64 bytes from lga34s12-in-f14.1e100.net (172.217.10.14): icmp_seq=1 ttl=51 time=93.5 ms
64 bytes from lga34s12-in-f14.1e100.net (172.217.10.14): icmp_seq=2 ttl=51 time=93.5 ms
64 bytes from lga34s12-in-f14.1e100.net (172.217.10.14): icmp_seq=3 ttl=51 time=93.5 ms

--- google.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 93.519/93.551/93.592/0.030 ms

चेकपॉइंट 6: वाईफ़ाई कनेक्शन की जाँच करें wlan0 :

rpi ~$ sudo systemctl start wpa_supplicant@wlan0.service
rpi ~$ sudo iw dev wlan0 info
Interface wlan0
        ifindex 3
        wdev 0x1
        addr b8:27:eb:06:e8:8b
        ssid RPiNet
        type AP
        wiphy 0
        channel 1 (2412 MHz), width: 20 MHz, center1: 2412 MHz
        txpower 31.00 dBm

rpi ~$ ip -4 addr show dev wlan0
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    inet 192.168.4.1/24 brd 192.168.4.255 scope global wlan0
       valid_lft forever preferred_lft forever

अपने मोबाइल फोन पर वाईफाई की जांच करें। आपको ढूंढना चाहिए RPiNetऔर आप इससे जुड़ सकते हैं। आपका मोबाइल फ़ोन इंटरनेट में नहीं आ सकता क्योंकि रूटिंग अभी तक कॉन्फ़िगर नहीं की गई है।

अगला चरण: इंटरनेट कनेक्शन के लिए NAT सक्षम करें। NAT को कॉन्फ़िगर करने के लिए आपको wpa_supplicant सेवा का विस्तार करना होगा:

rpi ~$ sudo systemctl edit wpa_supplicant@wlan0.service

खाली संपादक में इन कथनों को डालें, उन्हें सहेजें और संपादक को छोड़ दें:

[Service]
ExecStartPre=/sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
ExecStopPost=-/sbin/iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE

फिर करो:

rpi ~$ sudo systemctl daemon-reload
rpi ~$ sudo systemctl restart systemd-networkd.service
rpi ~$ sudo systemctl restart wpa_supplicant@wlan0.service

चेकपॉइंट 7: अब आपको मोबाइल फोन के साथ इंटरनेट में सक्षम होना चाहिए।


@ आपने हटाए गए उत्तर में पूछा: "यह कैसे नया रास्पियन रिलीज बस्टर के साथ किया जा सकता है?" यदि आप एक एक्सेस प्वाइंट सेटअप करना चाहते हैं, तो यह उत्तर "" चेक स्टेप बाय स्टेप बाय स्टेप चौकियों के साथ "सही नहीं है। इसके लिए आपको इस तरफ अन्य उत्तर "━━━ एक्सेस प्वाइंट पॉइंट सेट करना" का उपयोग करना चाहिए। यह रास्पियन बस्टर के साथ भी काम करता है। मेरे पास इसका सत्यापन है।
इंगो
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.