การตั้งค่า WiFi และอีเธอร์เน็ต


44

ฉันกำลังดิ้นรนกับการกำหนดค่าของ Raspberry Pi ของฉัน ฉันต้องการบรรลุสิ่งต่อไปนี้:

eth0: จะใช้กับ ip แบบคงที่และสามารถเชื่อมต่อกับเครือข่ายท้องถิ่น (นี่จะเป็นเซิร์ฟเวอร์ NFS ของฉัน) wlan0: ควรเชื่อมต่อกับเครือข่ายไร้สายของฉันสำหรับการเข้าถึงอินเทอร์เน็ต

ด้วยเหตุผลบางอย่างฉันไม่สามารถเปิดใช้งานการเชื่อมต่อทั้งสองพร้อมกันได้ (ใช่ฉันมีแหล่งจ่ายไฟที่ดี) อีเธอร์เน็ตจะปิดการใช้งานไร้สายโดยไม่มีเหตุผลเลย หากฉันได้รับทั้งสองอย่างแล้วฉันไม่สามารถ ping google.com คำถามของฉันฉันควรทำอย่างไรให้ถูกต้อง? ฉันมีสิ่งต่อไปนี้ในไฟล์อินเตอร์เฟสของฉัน:

auto lo
iface lo inet loopback

auto eth0
allow-hotplug eth0
iface eth0 inet static
address 192.168.1.101
netmask 255.255.255.0
gateway 0.0.0.0

#auto wlan0
allow-hotplug wlan0
iface wlan0 inet manual
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

iface home inet static
address 192.168.0.157
netmask 255.255.255.0
broadcast 192.168.0.255
gateway 192.168.0.1

iface default inet dhcp

ขอแสดงความนับถือและขอบคุณมาก!


ตรวจสอบให้แน่ใจว่าคุณใช้เฟิร์มแวร์และซอฟต์แวร์ล่าสุด ฉันพยายามจัดสรรให้กับเฟิร์มแวร์เก่ามันทำให้ฉันบ้า อัปเกรดทุกอย่างตั้งแต่เริ่มต้นและมีการรวมเข้าด้วยกันและง่ายต่อการเชื่อมต่อ
Piotr Kula

ขอบคุณสำหรับรายละเอียดเชิงลึกเกี่ยวกับเรื่องนี้ฉันได้พยายามที่จะใช้สิ่งที่เขียนที่นี่และให้ pi ของฉันทำงานร่วมกับอะแดปเตอร์ทั้งสอง

1
ฉันคิดว่าควรโพสต์คำตอบนี้เป็นคำตอบ ...
jmc

1
มันเป็นรูปแบบที่ไม่ดีและสร้างความเสียหายต่อการใช้งานของเว็บไซต์เพื่อ "อัปเดตคำถามเพื่อรวมคำตอบ" คุณควรโพสต์คำตอบสำหรับคำถามของคุณเอง จากนั้นจะหาคนอื่นได้ง่าย - และอาจดึงดูดผู้คนมากขึ้นจากการช่วยเหลือ
Lyndon White

คำตอบ:


25

สิ่งนี้ใช้กับ Raspbian Wheezy ก่อน 2015-05-05 สำหรับภายหลัง (และ Jessie / Stretch) ดูฉันจะตั้งค่าเครือข่าย / WiFi / IP แบบคงที่ได้อย่างไร

ตามคำแนะนำของชุมชนคำตอบของฉันถูกดึงออกมาจากคำถาม

ฉันทำให้มันใช้งานได้ในตอนนี้ดังนั้นฉันจะแชร์ไฟล์การกำหนดค่าทั้งหมดของฉันกับชุมชน ก่อนอื่นให้ดูที่ไฟล์ wpa_supplicant.conf:

pi@raspberrypi ~ $ sudo cat /etc/wpa_supplicant/wpa_supplicant.conf 
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
    ssid="****"
    scan_ssid=1
    proto=RSN
    key_mgmt=WPA-PSK
    pairwise=CCMP TKIP
    group=CCMP TKIP
    psk="****"
    id_str="home"
    priority=5
}

ถัดไปไฟล์อินเตอร์เฟสการอัพเดตใหม่ของฉัน

pi@raspberrypi ~ $ sudo cat /etc/network/interfaces
auto lo
iface lo inet loopback

auto eth0
allow-hotplug eth0
iface eth0 inet static
address 192.168.1.101
netmask 255.255.255.0

auto wlan0
allow-hotplug wlan0
iface wlan0 inet static
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
address 192.168.0.157
netmask 255.255.255.0
broadcast 192.168.0.255
gateway 192.168.0.1

iface default inet dhcp

และตอนนี้มาถึงส่วนที่ยุ่งยากคุณต้องปิดใช้งาน hotplugging ของอุปกรณ์ eth0 (มิฉะนั้นจะปิดใช้งาน wlan0 ของคุณ) คุณทำได้โดยการแก้ไขไฟล์ต่อไปนี้:

pi@raspberrypi ~ $ sudo cat /etc/default/ifplugd 
INTERFACES="eth0"
HOTPLUG_INTERFACES="eth0"
ARGS="-q -f -u0 -d10 -w -I"
SUSPEND_ACTION="stop"

ฉันยังมีต่อไปนี้ในสคริปต์เริ่มต้นของฉันนี้จะทำให้แน่ใจว่า wifi ของฉันจะเริ่มต้นขึ้น (บางครั้งก็ไม่มีเหตุผลเลยว่ามันจะไม่เริ่มต้น) คุณต้องฆ่า ifplugd daemon บนอุปกรณ์ eth0 ด้วย:

pi@raspberrypi ~ $ sudo cat /etc/rc.local
#!/bin/sh -e

# Print the IP address
_IP=$(hostname -I) || true
if [ "$_IP" ]; then
  printf "My IP address is %s\n" "$_IP"
fi

# Disable the ifplugd eth0
sudo ifplugd eth0 --kill
sudo ifup wlan0

exit 0

และนั่นควรจะใช้ได้!


3
ifplugdคุณไม่จำเป็นต้องปิดการใช้งานทั้งหมด แต่ให้ปิดการใช้งาน (ลบ) symlink ที่ละเมิด/etc/ifplugd/action.d/action_wpaซึ่งทำให้ wlan0 ไม่ทำงานเมื่อเชื่อมต่อ Ethernet
minmaxavg

ปิดการใช้งาน hotplugging ของอุปกรณ์ eth0 เราไม่ควรลบauto ethoบรรทัด? นอกจากนี้ฉันยังมี:~ $ sudo service isc-dhcp-server start Job for isc-dhcp-server.
IggyPass

8

หากอุปกรณ์ไม่มีการเข้าถึงอินเทอร์เน็ตหรือการเข้าถึงอื่นนอกเครือข่ายย่อยท้องถิ่นคุณควรกำจัดเกตเวย์ การแสดงเกตเวย์บนอินเทอร์เฟซทั้งสองอาจเป็นสาเหตุของความผิดพลาด

หากอีเธอร์เน็ตใช้สำหรับเครือข่ายย่อยท้องถิ่นเท่านั้นให้ลบเกตเวย์นั้น


Tevo D ถูกต้อง เมื่อ eth0 ของคุณเชื่อมต่อคุณจะมีเส้นทางเริ่มต้น (เครือข่าย 0.0.0.0) ออกจากอินเตอร์เฟซที่ eth0 ของคุณที่จะทำให้เกิดการปิดการจราจรเครือข่ายจะได้รับการส่งออกอินเตอร์เฟซที่ eth0 ของคุณและเข้าสู่"บิตถัง"
HeatfanJohn

โอเคฉันลบเกตเวย์ใน eth0 ตอนนี้ฉันเห็นว่าไร้สายของฉันเชื่อมต่อ (กำลังเรียกใช้ iwconfig) แต่เมื่อฉันรัน ifconfig ไร้สายไม่ได้ใช้ที่อยู่ IP แบบคงที่หรือเกตเวย์ที่ฉันกำหนด (มันว่างเปล่า) เบาะแสอะไรกับสิ่งนั้น?
DanFritz

พบวิธีแก้ปัญหาขอบคุณสำหรับความช่วยเหลือของคุณ ฉันได้อัปเดตคำถามของฉันด้วยไฟล์การกำหนดค่าทั้งหมดของฉัน (สำหรับคนอื่น ๆ )
DanFritz

@TevoD ฉันใช้คำแนะนำของคุณเพื่อแสดงความคิดเห็นเกตเวย์มันใช้งานได้ แต่ 1 นาทีจากนั้นเชื่อมต่อ WiFi (แต่ Ethernet ใช้งานได้) คุณช่วยฉันได้ไหม
H.Ghassami
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.