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スクリプト。これにより、いくつかのインターフェイスの問題が修正されます。
ピョートルクラ

@ppumkin-私はまだRaspberry Pi n00bです。raspiスクリプトを実行してファームウェアを更新するコマンドは何ですか?
ジャスティンニースナー

4
github.com/Hexxeh/rpi-update そこに行って読んでください。また、再起動後、aptitudeの更新も行います。
ピョートルクラ

@ppumkin-両方のアップデートを実行しましたが、どちらも問題を処理しませんでした。今のところ回避策を講じなければならないようです。
ジャスティンニースナー

最後の手段は、最新の画像を使用して、ラスビア人を新鮮から燃やそうとしています。更新を再度行い、それが役立つかどうかを確認します。これはmi WiFiの問題を解決しました。
ピョートルクラ

回答:


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、そうでない場合はルーターのすべてのデバイスでブロードキャストしないため、255は最後の場所にあります。
XandruCea

元の質問から欠落している部分は、上記の「auto wlan0」行だったと思います。ブロードキャスト行の後に「dns-nameservers 8.8.8.8」(例として)を追加することもできます。
joat

2

ifplugdを無効にすると、静的IPアドレスが機能するはずです。


私のために働く!/ etc / default / ifupd、auto / allの変更=> eth0
フロット

2

hostapdがインターフェイスを再初期化するため、これが失敗します。ifconfigコマンドを手動で/etc/rc.localファイルに追加して、ブート時に自動実行することができます。


2

これは間違いなくラズビアのjessieの競合状態であり、ランツリーベースのinitの使用をやめ、パッケージツリーベースの「すべてを同時に開始する」アプローチを採用しています。私はこれらの行を入れることでそれを丸くしたかもしれないと思う/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年まで取り組んだとき、unixにはランレベルとtelinitがありましたが、残念ながら最近戻ってきました。我々はそれがないすべてのものを通過する場合はたぶん、誰かがそれが実際に何を説明しますです。(私の修正はまだ機能しているが、気に入らない)。
コリン・レイ

ブートシーケンスの結果は2つあり、ランダムに発生するため、競合状態であると判断しました。
コリンレイ

うわぁ。この回答を逆読みしたことをおpoびします。それは、systemdで修正されたSysV init によって引き起こされた問題でした。いずれにせよ、どちらも競合状態を防ぐことはできません。なぜなら、本質的に多くのサービスがforkを開始して持続するからです。何かを誤って設定すると問題が発生する可能性があり、ここで私が反対するのは、systemdが本来非難することの意味です(依存関係を解決するためのより良い方法論があり、単に「すべてを同時に開始」しないwilly-nilly-しかし、これは接線で
消え

私は一般的にLinuxボックスでのネットワーキングに対して少し非正統的な態度を持っているため、このような問題についてはほとんど見通しがありません。競合状態のように...しかし、カモの影はカモではありません...など)。
goldilocks

1
私のOPを読むと、なぜあなたがシステムを直接非難していると思ったのか、そしてなぜあなたのような頑強なディフェンダーを立ち上げたのかがわかります。いいえ、問題は、彼らがフォローしていると公言しているパッケージ依存関係ツリーにあるに違いないと思います。どういうわけか、ifupとhostapdの衝突を認識しなければなりません。
コリンレイ

1

現在の無線インターフェース設定のすぐ上に次の行を追加しようとしています。

auto wlan0
allow-hotplug wlan0

これは、wlan0インターフェースを自動的に開始し、後で挿入できること(hotplug)をインターフェース設定に伝えます。

gateway <IP Address>ルーティングを機能させるために、回線も追加する必要がある場合があります。


これは私のためのトリックをしたものでした!ありがとう。
ジョンボイルズ14

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- access-pointrouter-part-3b /

次に、この投稿の指示に従います: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

再起動後、DHCPサーバーが実行されます。

また、私がテストしていない可能性のある別のソリューション:おっと、私は2つ以上のリンクを投稿するのに十分な評判がありません。


0

私も同じ問題を抱えています。wlan0は、dhcpサーバーの起動時に何らかの方法で静的IPアドレスを失います。/ etc / default / ifplugdを編集し、これに変更します:

INTERFACES="eth0"
HOTPLUG_INTERFACES="eth0"

この答えは正解です!なぜ投票されたのかわからない
フロット

私はpiブートを持っていましたが、時々169.xx.xx.xxアドレスになり、時には静的アドレスになりました。これは、静的アドレスを確実に取得できるようにしました。ありがとう@Stef!
ピーターバグナル

0

または、wlan0を再起動するミニサービスを作成して、hostapdおよびisc-dhcp-serverの前に起動時に起動するようにします。

新しいスクリプト/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.