Menyiapkan WiFi dan Ethernet

44

Saya kesulitan dengan konfigurasi Raspberry Pi saya. Saya ingin mencapai yang berikut:

eth0: akan digunakan dengan ip statis dan hanya dapat terhubung ke jaringan area lokal (ini akan menjadi server NFS saya) wlan0: Harus terhubung ke jaringan nirkabel saya untuk akses internet

Untuk beberapa alasan saya tidak dapat mengaktifkan kedua koneksi secara bersamaan (ya saya memiliki catu daya yang baik). Ethernet akan menonaktifkan nirkabel tanpa alasan sama sekali. Jika saya akhirnya mendapatkan keduanya maka saya tidak dapat melakukan ping google.com. Pertanyaan saya bagaimana saya harus melakukan ini dengan benar? Saya memiliki yang berikut ini di file antarmuka saya:

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

Salam, dan terima kasih banyak!

DanFritz
sumber
pastikan Anda menjalankan firmware dan perangkat lunak terbaru. saya berjuang membagikan pada firmware lama itu membuat saya gila. memutakhirkan semuanya dari awal dan memiliki pemohon yang terintegrasi dan sangat mudah untuk terhubung
Piotr Kula
terima kasih atas rincian mendalam tentang hal ini, saya telah berhasil mengimplementasikan apa yang ditulis di sini dan membuat pi saya bekerja dengan kedua adaptor.
1
Saya pikir solusinya harus diposting sebagai jawaban ...
jmc
1
Ini adalah bentuk yang buruk dan merusak kegunaan situs, untuk "memperbarui pertanyaan untuk memasukkan jawaban". Anda harus memposting jawaban untuk pertanyaan Anda sendiri. Maka akan mudah untuk menemukan orang lain - dan dapat menarik upvotes dari orang-orang yang membantu
Lyndon White

Jawaban:

25

Ini berlaku untuk Raspbian Wheezy sebelum 2015-05-05 untuk nanti (dan Jessie / Stretch) Lihat Bagaimana cara mengatur jaringan / WiFi / IP Statis

Seperti yang disarankan oleh komunitas, jawaban saya diambil dari pertanyaan.

Saya membuatnya berfungsi sekarang jadi saya akan membagikan semua file konfigurasi saya dengan komunitas. Pertama mari kita lihat file 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
}

Berikutnya file antarmuka pembaruan baru saya

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

Dan sekarang sampai pada bagian yang sulit, Anda harus menonaktifkan hotplugging perangkat eth0 (jika tidak maka akan menonaktifkan wlan0 Anda). Anda melakukan ini dengan mengedit file berikut:

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

Saya juga memiliki yang berikut dalam skrip startup saya, ini akan memastikan wifi saya memulai (kadang-kadang tanpa alasan sama sekali tidak akan mulai). Anda juga harus membunuh daemon ifplugd di perangkat 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

Dan itu seharusnya berhasil!

DanFritz
sumber
3
Anda tidak perlu menonaktifkan keseluruhan ifplugd. Sebagai gantinya, cukup nonaktifkan (hapus) symlink yang menyinggung /etc/ifplugd/action.d/action_wpa, yang membuat wlan0 tidak berfungsi ketika Ethernet terhubung.
minmaxavg
untuk menonaktifkan hotplugging pada perangkat eth0, bukankah kita harus menghapus auto ethobaris? Selain itu saya masih memiliki:~ $ sudo service isc-dhcp-server start Job for isc-dhcp-server.
IggyPass
8

Jika suatu perangkat tidak memiliki akses internet atau akses lain di luar subnet lokal, maka Anda harus menghilangkan gateway. Mendaftarkan gateway pada kedua antarmuka kemungkinan besar penyebabnya.

Jika ethernet untuk subnet lokal, hapus saja gateway itu.

Tevo D
sumber
Tevo D benar. Ketika eth0 Anda terhubung, Anda akan memiliki rute default (jaringan 0.0.0.0) keluar antarmuka eth0 Anda yang akan menyebabkan lalu lintas off-jaringan dialihkan keluar antarmuka eth0 Anda dan masuk ke "bit-bucket" .
HeatfanJohn
Oke saya menghapus gateway pada eth0. Sekarang saya melihat bahwa nirkabel saya terhubung (menjalankan iwconfig) tetapi ketika saya menjalankan ifconfig nirkabel tidak menggunakan alamat IP statis atau gateway yang saya tetapkan (tetap kosong). Ada petunjuk tentang itu?
DanFritz
Temukan solusinya, terima kasih atas bantuan Anda. Saya telah memperbarui pertanyaan saya dengan semua file konfigurasi saya (untuk orang lain)
DanFritz
@TevoD Saya menggunakan saran Anda untuk mengomentari gateway, Ini bekerja tetapi untuk 1 menit, kemudian WiFi terputus. (Tapi Ethernet berfungsi), bisakah Anda membantu saya
H.Ghami