IP Statis Gagal untuk wlan0


12

Saat ini saya mencoba mengatur Raspberry Pi saya sebagai Access Point menggunakan hostapdmenggunakan petunjuk berikut:

Hotspot Nirkabel RPI

Sayangnya, Alamat IP statis saya menolak untuk disetel saat startup. Di bawah ini adalah isi dari saya /etc/network/interfaces:

auto lo

iface lo inet loopabck
iface eth0 inet dhcp

iface wlan0 inet static
address 192.168.42.1
broadcast 192.168.42.255
netmask 255.255.255.0

up iptables-restore < /etc/iptables.ipv4.nat

Anehnya, jika saya menjalankan perintah berikut setelah boot, semuanya berfungsi dengan baik:

sudo ifconfig wlan0 192.168.42.1

Adakah yang melihat masalah mencolok yang mungkin saya lewatkan? Sudah begitu lama sejak saya bekerja dengan konfigurasi Linux sehingga saya merasa kehilangan sesuatu yang mudah.


Sebagai solusi cepat, Anda bisa menjalankan ifconfig sebagai skrip boot setelah antarmuka terhubung atau skrip boot terakhir. Apakah Anda memperbarui firmware ke terbaru? Bukan pembaruan bakat tetapi skrip raspi untuk firmware. Itu memperbaiki beberapa masalah antarmuka.
Piotr Kula

@ppumkin - Saya masih seorang Raspberry Pi n00b. Apa perintah untuk menjalankan skrip raspi untuk memperbarui firmware?
Justin Niessner

4
github.com/Hexxeh/rpi-update Buka di sana dan bacalah. Juga setelah restart lakukan pembaruan bakat juga.
Piotr Kula

@ pumkin - Saya sudah menjalankan kedua pembaruan dan tidak ada yang mengurus masalah ini. Sepertinya saya harus pergi dengan solusi untuk saat ini.
Justin Niessner

Cara terakhir adalah mencoba membakar Rasbpian dari yang baru menggunakan gambar terbaru. Lakukan pembaruan lagi dan lihat apakah itu membantu. Itu membantu dengan masalah mi WiFi.
Piotr Kula

Jawaban:


4

File antarmuka saya terlihat sedikit berbeda tetapi berfungsi untuk saya sepanjang waktu.

auto lo

iface lo inet loopback
iface eth0 inet dhcp

auto wlan0
allow-hotplug wlan0

iface wlan0 inet static
    address 192.168.1.123
    netmask 255.255.255.0
    network 192.168.1.1
    broadcast 255.255.255.255
    gateway 192.168.1.1
    wpa-ssid "SSID"
    wpa-psk "PASSWORD"

Mungkin ini bisa membantu


Seharusnya IP broadcast tidak terlihat seperti ini 192.168.1.255:, 255 berada di posisi terakhir karena jika tidak, Anda tidak disiarkan di semua perangkat router Anda.
XandruCea

Saya percaya bagian yang hilang dari pertanyaan asli adalah baris "auto wlan0" di atas. Anda mungkin juga ingin menambahkan "dns-nameserver 8.8.8.8" (sebagai contoh) setelah saluran siaran.
joat

2

Nonaktifkan ifplugd, maka alamat IP statis harus berfungsi.


bekerja untukku! / etc / default / ifupd, ubah otomatis / all => eth0
flotto

2

Saya curiga hostapd menginisialisasi ulang antarmuka yang menyebabkan hal ini gagal. Anda dapat secara manual menambahkan perintah ifconfig ke file /etc/rc.local yang akan menjalankannya secara otomatis saat boot.


2

Ini jelas merupakan kondisi balapan di raspbian jessie, yang telah berhenti menggunakan init berbasis runlevel yang mendukung pendekatan "mulai semuanya pada saat yang sama" berbasis paket. Saya pikir saya mungkin telah mendapat bulat itu dengan meletakkan baris-baris di /etc/rc.local:

/sbin/ifdown wlan0
/sbin/ifup wlan0
/sbin/ifconfig wlan0 192.168.42.1
/usr/sbin/service isc-dhcp-server start

Waktu akan memberitahu saya kira.


OK, unix tentu punya runlevel dan telinit ketika saya mengerjakannya dari 1984 hingga 1992, tetapi sayangnya baru kembali. Mungkin jika kita pergi melalui semua hal itu tidak, seseorang akan menjelaskan apa itu sebenarnya adalah . (Perbaikan saya masih berfungsi, tapi saya tidak suka)
Colin Wray

Saya memutuskan itu adalah kondisi balapan karena ada dua kemungkinan hasil urutan boot, dan mereka terjadi secara acak.
Colin Wray

Astaga. Saya minta maaf karena salah membaca jawaban ini ke belakang - bahwa itu adalah masalah yang disebabkan oleh SysV init diperbaiki dengan sistem / d. Bagaimanapun, tidak satu pun dari mereka dapat mencegah kondisi balapan, karena pada dasarnya banyak layanan yang mereka mulai garpu dan bertahan. Kesalahan konfigurasi apa pun dapat menyebabkan masalah dan apa yang saya lakukan keberatan di sini adalah implikasi bahwa systemd pada dasarnya harus disalahkan (bisa dikatakan memiliki metodologi yang lebih baik untuk menyelesaikan dependensi, dan itu tidak hanya "memulai semuanya pada saat yang sama" mau tak mau - tapi ini menyinggung) ...
goldilocks

Saya memiliki sikap yang agak ortodoks terhadap jaringan pada kotak linux umumnya yang membuat saya sedikit perspektif tentang masalah seperti ini, dan jika Anda memiliki solusi yang bekerja untuk Anda, bagus, tetapi diagnosis Anda tampaknya sangat dugaan (mirip seperti kondisi balapan, berjalan seperti kondisi balapan ... tapi bayangan bebek bukan bebek ... dll).
goldilocks

1
Saat membaca OP saya, saya bisa melihat mengapa Anda berpikir saya menyalahkan sistem secara langsung, dan mengapa hal itu memicu bek yang kuat seperti Anda. Tidak, saya pikir masalahnya harus terletak pada pohon dependensi paket yang mereka akui mengikuti, dan yang saya tahu nol tentang. Entah bagaimana itu harus mengenali bentrokan antara ifup dan hostapd.
Colin Wray

1

Saya akan mencoba menambahkan baris berikut tepat di atas konfigurasi antarmuka nirkabel Anda saat ini:

auto wlan0
allow-hotplug wlan0

Ini memberi tahu konfigurasi antarmuka Anda untuk memulai antarmuka wlan0 secara otomatis, dan mungkin akan dimasukkan nanti (hotplug).

Anda juga mungkin perlu menambahkan gateway <IP Address>baris untuk mendapatkan routing yang berfungsi.


Ini adalah hal yang membantu saya! Terima kasih.
johnboiles

0

Belum tentu solusi yang bagus tapi karena saya punya masalah dengan staticip saya ketika menggunakan / etc / network / interfaces saya beralih menggunakan ip statis melalui router saya saja? Sudahkah Anda mencobanya dengan cara ini sebagai alternatif?


0

Saya mengikuti tutorial yang sama untuk mengatur WAP di Pi saya.

Sayangnya, layanan dhcp tidak dimulai saat boot. Setelah boot, memeriksa layanan menunjukkan bahwa ia tidak berjalan: layanan status isc-dhcp-server Status server DHCP ISC: dhcpd tidak berjalan

Sebenarnya, antarmuka wlan0 tidak mendapatkan alamat IP dan itu sebabnya server dhcp tidak memulai.

Saya mengikuti instruksi di tautan di bawah ini, tetapi itu tidak menyelesaikan masalah: http://sirlagz.net/2013/02/10/how-to-use-the-raspberry-pi-as-a-wireless- akses-pointrouter-bagian-3b /

Kemudian, saya mengikuti instruksi dalam posting ini: http://www.novitiate.co.uk/?p=183

nano /etc/rc.local

#!/bin/sh -e
# rc.local
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
# In order to enable or disable this script just change the execution
# bits.
# By default this script does nothing.

# Print the IP address
sleep 5
_IP=$(hostname -I) || true
if [ "$_IP" ]; then
  printf "My IP address is %s\n" "$_IP"
fi
      sudo ifup wlan0                           #start wlan0 with ip adress in  /etc/network/interfaces
#      sudo service hostapd start               #not necessary if you already start hostapd as a service
      sudo service isc-dhcp-server start        #start dhcp server
exit 0

Setelah reboot, server DHCP sedang berjalan.

Juga kemungkinan solusi lain yang tidak saya uji: oops, saya tidak punya cukup reputasi untuk mengirim lebih dari 2 tautan.


0

Saya memiliki masalah yang sama. wlan0 kehilangan alamat IP statisnya entah bagaimana ketika server dhcp dimulai. Edit / etc / default / ifplugd dan ubah menjadi ini:

INTERFACES="eth0"
HOTPLUG_INTERFACES="eth0"

Jawaban ini benar! tidak tahu mengapa ditolak
flotto

Saya mengalami boot pi, dan kadang-kadang berakhir dengan alamat 169.xx.xx.xx, dan terkadang alamat statis yang saya inginkan. Ini membuatnya dipercaya mendapatkan alamat statis. Terima kasih @Stef!
Peter Bagnall

0

Atau, Anda dapat membuat layanan mini yang me-restart wlan0, memastikannya dimulai saat boot sebelum hostapd dan isc-dhcp-server.

Buat skrip baru /etc/init.d/wlan0-restart

sudo vi /etc/init.d/wlan0-restart

dengan konten berikut:

#!/bin/sh
#
#

### BEGIN INIT INFO
# Provides:          wlan0-restart
# Required-Start:    $network
# Required-Stop:     $network
# Should-Start:
# Should-Stop:
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Restarts wlan0 interface
# Description:       Restarts wlan0 interface to fix problem with static address in WiFi AP
# X-Start-Before:    hostapd isc-dhcp-server
### END INIT INFO

PATH=/sbin:/usr/sbin:$PATH

do_start() {
  ifdown wlan0
  ifup wlan0
}

case "$1" in
  start)
    do_start
    ;;
  restart|reload|force-reload)
    echo "Error: argument '$1' not supported" >&2
    exit 3
    ;;
  stop)
    ;;
  status)
    ;;
  *)
    echo "Usage: $0 start|stop" >&2
    exit 3
    ;;
esac
exit 0

Kemudian jalankan perintah berikut:

sudo chmod 755 /etc/init.d/wlan0-restart
sudo update-rc.d –f hostapd remove
sudo update-rc.d –f isc-dhcp-server remove
sudo update-rc.d wlan0-restart defaults
sudo update-rc.d hostapd defaults
sudo update-rc.d isc-dhcp-server defaults

Reboot dan periksa apakah wlan0 memiliki alamat IP statis dan server-isc-dhcpd sedang berjalan:

pi@raspberrypi:~$ ifconfig wlan0
wlan0     Link encap:Ethernet  HWaddr e8:de:27:07:92:6a  
          inet addr:192.168.10.1  Bcast:192.168.10.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

pi@raspberrypi:~$ pgrep -l dhcpd
2315 dhcpd
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.