wlan0에 대한 고정 IP 실패


12

현재 hostapd다음 지침을 사용 하여 Raspberry Pi를 액세스 포인트로 설정하려고합니다 .

RPI 무선 핫스팟

불행히도 시작시 고정 IP 주소 설정을 거부합니다. 아래는 내 내용입니다 /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

이상하게도 부팅 후 다음 명령을 실행하면 모든 것이 잘 작동합니다.

sudo ifconfig wlan0 192.168.42.1

내가 누락 된 눈부신 문제가 있습니까? Linux 구성으로 작업 한 지 너무 오래되어서 쉽게 놓칠 수 있다고 생각합니다.


빠른 해결 방법으로 인터페이스를 연결 한 후 또는 마지막 부팅 스크립트로 ifconfig를 부팅 스크립트로 실행할 수 있습니다. 펌웨어를 최신으로 업그레이드 했습니까? 적성 업데이트가 아니라 펌웨어 용 raspi 스크립트입니다. 인터페이스 문제가 해결되었습니다.
Piotr Kula

@ppumkin-나는 여전히 Raspberry Pi n00b입니다. 펌웨어를 업데이트하기 위해 raspi 스크립트를 실행하는 명령은 무엇입니까?
저스틴 Niessner

4
github.com/Hexxeh/rpi-update 거기 가서 읽어보세요. 또한 다시 시작한 후에도 적성 업데이트를 수행하십시오.
Piotr Kula

@ppumkin-두 가지 업데이트를 모두 실행했지만 문제를 해결하지 못했습니다. 지금은 해결 방법을 사용해야 할 것 같습니다.
Justin Niessner

최후의 수단은 최신 이미지를 사용하여 Rasbpian을 신선하게 굽는 것입니다. 업데이트를 다시 수행하고 도움이되는지 확인하십시오. 그것은 WiFi 문제에 도움이되었습니다.
Piotr Kula

답변:


4

인터페이스 파일은 약간 다르게 보이지만 항상 작동합니다.

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"

어쩌면 이것이 도움이 될 수 있습니다.


브로드 캐스트 IP는 다음과 같이 보이지 192.168.1.255않아야합니다.
XandruCea

원래 질문에서 누락 된 부분은 위의 "auto wlan0"행이라고 생각합니다. 브로드 캐스트 회선 다음에 "dns-nameservers 8.8.8.8"(예 :)을 추가 할 수도 있습니다.
joat

2

플러그가 뽑히면 고정 IP 주소가 작동합니다.


나를 위해 작동합니다! / etc / default / ifupd, auto / all 변경 => eth0
flotto

2

hostapd가 인터페이스를 다시 초기화하여 이것이 실패하는 것으로 생각합니다. ifconfig 명령을 /etc/rc.local 파일에 수동으로 추가하면 부팅시 자동 실행됩니다.


2

패키지 트리 기반의 "모든 것을 동시에 시작"접근 방식을 선호하는 runlevel 기반 init 사용을 중단 한 raspbian jessie의 경쟁 조건입니다. 이 줄을 넣어서 정리했을 수도 있습니다 /etc/rc.local.

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

시간은 내가 생각한다고 말할 것이다.


좋아, 유닉스는 1984 년부터 1992 년까지 일할 때 분명히 런레벨과 telinit를 가지고 있었지만 유감스럽게도 최근에 돌아 왔습니다. 어쩌면 우리가 아닌 모든 것을 겪으면 누군가가 실제로 무엇인지 설명 할 것 입니다 . (내 수정은 여전히 ​​작동하지만 마음에 들지 않습니다).
Colin Wray

부트 시퀀스의 두 가지 가능한 결과가 있기 때문에 경쟁 조건이라고 판단하고 무작위로 발생합니다.
Colin Wray

Yikes. 이 답변을 잘못 읽은 것에 대해 사과드립니다. SysV init fixed w / systemd 의해 발생한 문제 입니다. 어쨌든 둘 중 어느 것도 경쟁 조건을 막을 수 없습니다 . 왜냐하면 많은 서비스가 본질적으로 포크를 시작하고 지속하기 때문입니다. 무엇이든 잘못 구성하면 문제가 발생할 수 있으며 여기서 반대하는 것은 systemd가 본질적으로 책임이 있다는 의미입니다 (종속성을 해결하기위한 더 나은 방법론이 있으며 단순히 "모든 것을 동시에 시작하지 않는다"고 주장 할 수 있습니다) willy-nilly-그러나 이것은 접선에서 시작됩니다) ...
goldilocks

나는 리눅스 박스에서 네트워킹에 대해 약간 정통적 인 태도를 가지고 있는데, 일반적으로 이와 같은 문제에 대해 약간의 관점을 갖지 못합니다. 당신에게 맞는 해결책이 있다면 훌륭하지만 진단은 매우 추측적인 것처럼 보입니다 (경쟁 조건과 비슷하게 보입니다. 경쟁 조건처럼 ...하지만 오리의 그림자는 오리가 아닙니다 ... 등).
goldilocks

1
내 OP를 읽으면서 내가 왜 시스템을 직접 비난한다고 생각했는지, 왜 자신과 같은 견고한 수비수를 해고했는지 알 수 있습니다. 아니오, 문제는 그들이 따르고 있다고 고백하고 제로에 대해 알고있는 패키지 종속성 트리에 있어야한다고 생각합니다. 어떻게 든 ifup과 hostapd의 충돌을 인식해야합니다.
Colin Wray

1

현재 무선 인터페이스 구성 바로 위에 다음 줄을 추가하려고합니다.

auto wlan0
allow-hotplug wlan0

그러면 인터페이스 구성에 wlan0 인터페이스가 자동으로 시작되고 나중에 삽입 될 수 있습니다 (핫 플러그).

gateway <IP Address>라우팅 작업을 수행하기 위해 라인 을 추가해야 할 수도 있습니다 .


이것은 나를 위해 트릭을 한 것입니다! 감사.
johnboiles

0

반드시 좋은 해결책은 아니지만 / etc / network / interfaces를 사용할 때 staticip에 문제가 있었기 때문에 대신 라우터를 통해 정적 IP를 사용하도록 전환 했습니까? 대안으로이 방법을 사용해 보셨습니까?


0

같은 튜토리얼에 따라 Pi에서 WAP를 설정합니다.

불행하게도, dhcp 서비스는 부팅시 시작되지 않습니다. 부팅 후 서비스를 검사하면 서비스가 실행되고 있지 않음이 표시됩니다. service isc-dhcp-server status ISC DHCP 서버 상태 : dhcpd가 실행되고 있지 않습니다

실제로 wlan0 인터페이스는 IP 주소를 얻지 못하므로 dhcp 서버가 시작되지 않습니다.

아래 링크의 지침을 따르지만 문제를 해결하지 못합니다 : http://sirlagz.net/2013/02/10/how-to-use-the-raspberry-pi-as-a-wireless- 액세스 포인트 라우터-부품 -3b /

그런 다음이 게시물의 지침을 따르십시오 : http://www.novitiate.co.uk/?p=183

나노 /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

재부팅 후 DHCP 서버가 실행 중입니다.

또한 테스트하지 않은 또 다른 솔루션 : 죄송합니다 .2 개 이상의 링크를 게시 할만 큼 평판이 충분하지 않습니다.


0

나는 같은 문제가 있었다. DHCP 서버가 시작되면 wlan0은 고정 IP 주소를 잃습니다. / etc / default / ifplugd를 편집하고 다음으로 변경하십시오.

INTERFACES="eth0"
HOTPLUG_INTERFACES="eth0"

이 답변은 소름입니다! 왜 투표를했는지 모르겠다
flotto

나는 파이 부팅을하고 있었고 때로는 169.xx.xx.xx 주소와 때로는 내가 원하는 고정 주소로 끝날 것입니다. 이것은 정적 주소를 안정적으로 얻도록 만들어졌습니다. 감사합니다 @Stef!
Peter Bagnall

0

또는 hostapd 및 isc-dhcp-server 전에 부팅시 wlan0을 다시 시작하는 미니 서비스를 만들 수 있습니다.

새 스크립트 /etc/init.d/wlan0-restart를 작성하십시오.

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

다음 내용으로 :

#!/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

그런 다음 다음 명령을 실행하십시오.

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

재부팅하고 wlan0에 고정 IP 주소가 있고 isc-dhcpd-server가 실행 중인지 확인하십시오.

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
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.