Raspberry Piをアクセスポイントとして設定する-簡単な方法


15

たとえば、Raspberry Piをスタンドアロンネットワーク(NAT)のアクセスポイントとしてセットアップするの公式ドキュメントで説明されているように、古典的な方法でそれを行う方法を知っています。しかし、それは多くの異なるコンポーネントを必要とし、それらは一緒に動作しなければならず、各コンポーネントは独自の方法で構成されなければなりません。これらは、ネットワーキング(ifupdown)dhcpcdhostapddnsmasqおよびbridge-utilsです。

現在、Raspbian Stretchには必要なすべてのコンポーネントが組み込まれているため、追加のソフトウェアをインストールする必要はありません。これにより、セットアップが大幅に簡素化されます。

追加のソフトウェアをインストールせずに、Raspbianをwifiアクセスポイントとして動作するように設定することは可能ですか?

回答:


25

━━━アクセスポイントのセットアップ━━━

イーサネットポートeth0と一緒にアクセスポイントについて話します。

別のwifiネットワーク(wlanリピーター)へのwlan0クライアント接続と一緒にアクセスポイントが必要な場合は、ブリッジでオプションのWiFiルーター/リピーターとしてアクセスポイントを見てください。

追加のソフトウェアをインストールせずに、Raspbian Stretchをwifiアクセスポイントとして設定することができます。必要なすべてのコンポーネントが利用可能です:ネットワーキング、DHCPサーバー、ブリッジングにはsystemd-networkdが付属し、wipawpa_supplicantでセットアップできます。2つのインターフェイスeth0wlan0の接続は、ルーティングまたはブリッジングによって実行できます。最初にクイックインストールのセットアップ、次に詳細を示します。最初にsystemd-networkdに切り替える必要があります。


2019-04-14に更新されたRaspberry Pi 3B + でRaspbian Stretch Lite 2019-04-08でテスト済み。Raspberry Pi 4B上の
Raspbian Buster Lite 2019-07-10は2019-07-20に更新されました。
で行われた更新sudo apt update && sudo apt full-upgrade && sudo reboot


♦一般的なセットアップ

systemd-networkdに切り替える

詳細については、(1)を参照してください。ここで簡単に説明します。次のコマンドを実行します。

# disable classic networking
rpi ~$ sudo -Es
rpi ~# systemctl mask networking.service dhcpcd.service
rpi ~# mv /etc/network/interfaces /etc/network/interfaces~
rpi ~# sed -i '1i resolvconf=NO' /etc/resolvconf.conf

# enable systemd-networkd
rpi ~# systemctl enable systemd-networkd.service systemd-resolved.service
rpi ~# ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf

アクセスポイントとしてwpa_supplicantを構成する

設定するには、wpa_supplicantのアクセスポイントとしてのためのあなたの設定でこのファイルを作成しcountry=ssid=psk=、多分にfrequency=。これをコピーしcatて、両方のEOFで始まるコマンドブロックに1ブロックで貼り付けることができます(区切り文字EOFはファイルの一部を取得しません)。

rpi ~# cat > /etc/wpa_supplicant/wpa_supplicant-wlan0.conf <<EOF
country=DE
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
    ssid="RPiNet"
    mode=2
    frequency=2437
    #key_mgmt=NONE   # uncomment this for an open hotspot
    # delete next 3 lines if key_mgmt=NONE
    key_mgmt=WPA-PSK
    proto=RSN WPA 
    psk="password"
}
EOF
rpi ~# chmod 600 /etc/wpa_supplicant/wpa_supplicant-wlan0.conf
rpi ~# systemctl disable wpa_supplicant.service
rpi ~# systemctl enable wpa_supplicant@wlan0.service

一般的なセットアップが完了しました。戻る。


♦スタンドアロンアクセスポイントのセットアップ

このセットアップの例:

                 wifi
mobile-phone <~.~.~.~.~> (wlan0)RPi(eth0)
            \             /
           (dhcp)   192.168.4.1

ください「一般設定」、その後のconfigureに以下のファイルを作成しますwlan0。アクセスポイントのみがあります。イーサネットデバイスが構成されていません。

rpi ~# cat > /etc/systemd/network/08-wlan0.network <<EOF
[Match]
Name=wlan0
[Network]
Address=192.168.4.1/24
DHCPServer=yes
EOF

これが必要な場合は、再起動してください。
それでおしまい。
それ以外の場合は、この時点で再起動する必要はありません。


♦ルーティングなしでアクセスポイントを設定し、eth0を使用する

このセットアップの例:

                                 |
                 wifi            |           wired            wan
mobile-phone <~.~.~.~.~> (wlan0)RPi(eth0) <---------> router <---> INTERNET
            \             /      |     \             /
           (dhcp)   192.168.4.1  |    (dhcp)   192.168.50.1

セットアップ

ください「スタンドアロンアクセスポイントの設定」、次に設定するには、次のファイルを作成しますeth0の

rpi ~# cat > /etc/systemd/network/04-eth0.network <<EOF
[Match]
Name=eth0
[Network]
DHCP=yes
EOF

リブート。
それでおしまい。

詳細

インターフェイスeth0は、イーサネットケーブルでインターネットルーターに接続され、インターネットルーターからDHCPによって構成を取得します。それのAddress=192.168.50.2代わりに例えばで静的IPアドレスをそれに与えることは問題ありませんDHCP=yes

ルーティングなしでは、携帯電話でインターネットに接続できません。RPi自体からのみアクセスして、更新などを取得できます。


♦アクセスポイントの設定とeth0、NATの使用(推奨)

このセットアップの例:

                 wifi                        wired            wan
mobile-phone <~.~.~.~.~> (wlan0)RPi(eth0) <---------> router <---> INTERNET
            \             /            \
           (dhcp)   192.168.4.1       (dhcp)

セットアップ

「一般設定」、その後のconfigureに以下のファイルを作成しwlan0はeth0。アクセスポイントには、ルーターのサブネットとは異なるサブネットを使用してください。この例のルーターは、サブネット192.168.4.0/24を使用しません。別のサブネットが必要な場合は、アドレス行を変更するだけAddress=192.168.5.1/24です(例:)。

rpi ~# cat > /etc/systemd/network/08-wlan0.network <<EOF
[Match]
Name=wlan0
[Network]
Address=192.168.4.1/24
DHCPServer=yes
[DHCPServer]
DNS=84.200.69.80 1.1.1.1
EOF

rpi ~# cat > /etc/systemd/network/04-eth0.network <<EOF
[Match]
Name=eth0
[Network]
DHCP=yes
IPForward=yes
EOF

NATを構成するには、wpa_supplicantサービスを次のように拡張する必要があります

rpi ~# systemctl edit wpa_supplicant@wlan0.service

空のエディターでこれらのステートメントを挿入し、保存してエディターを終了します。

[Service]
ExecStartPre=/sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
ExecStopPost=-/sbin/iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE

リブート。
それでおしまい。

詳細

インターネットルーターにアクセスできない場合は、NAT(ネットワークアドレス変換)でインターネットルーターを偽造して、すべてのパッケージがRasPi APから来ているという嘘をつくことができます。しかし、これはクリーンなルーティングではなく、制限があります。ルーターのサブネット上のクライアントは、wifi上のクライアントに接続できません。ただし、ほとんどの場合、これは必要ないため、セットアップが簡単になるため、このセットアップをお勧めします。ルーターネットワークからwifiクライアントに接続する必要がある場合は、次のセクションで説明するように、完全なルーティングを使用する必要があります。


♦アクセスポイントの設定とeth0、ルーティングの設定

このセットアップの例:

                 wifi                        wired            wan
mobile-phone <~.~.~.~.~> (wlan0)RPi(eth0) <---------> router <---> INTERNET
            \             /            \              /
           (dhcp)   192.168.4.1   192.168.50.2   192.168.50.1

セットアップ

「一般設定」、その後のconfigureに以下のファイルを作成しwlan0はeth0。アクセスポイントとルーターネットワークに異なるサブネットを使用していることを確認してください。静的IPアドレスをゲートウェイとして使用する必要があるため、静的IPアドレスを使用する必要があります。

rpi ~# cat > /etc/systemd/network/08-wlan0.network <<EOF
[Match]
Name=wlan0
[Network]
Address=192.168.4.1/24
DHCPServer=yes
[DHCPServer]
DNS=84.200.69.80 1.1.1.1
EOF

rpi ~# cat > /etc/systemd/network/04-eth0.network <<EOF
[Match]
Name=eth0
[Network]
Address=192.168.50.2/24
Gateway=192.168.50.1
DNS=84.200.69.80 1.1.1.1
IPForward=yes
EOF

リブート。

ルーティングを完全に機能させるには、インターネットルーターに静的ルートを設定して、RasPi経由でWi-Fiでアクセスポイントに接続されているクライアントに戻るパッケージのルートを見つける必要があります。ほとんどのインターネットルーターでは静的ルートを設定できますが、その方法はモデルによって異なります。それを見つけるのはあなた次第です。たとえば、RasPi eth0インターフェイスの静的IPアドレスは192.168.50.2です。ルーターのゲートウェイ(次ホップ)は192.168.50.2、宛先ネットワークは192.168.4.0/24(または192.168.4.0ネットマスク255.255.255.0)です。

つまり、インターネットルーターの場合:「サブネット192.168.4.0/24(APからの宛先ネットワーク)に属するすべてのパッケージを、サブネット上の次のルーターであるRasPi AP 192.168.50.2(ゲートウェイ)に送信します。どこに行くかを知っています。」

それでおしまい。


♦ブリッジを使用したアクセスポイントのセットアップ

このセットアップの例:

                               RPi
               wifi   ┌──────bridge──────┐   wired            wan
mobile-phone <.~.~.~> │(wlan0) br0 (eth0)│ <-------> router <-----> INTERNET
            \                   |                   / DHCP-server
           (dhcp              (dhcp           192.168.50.1
        from router)       from router)

DHCPサーバーとインターネットルーターを備えたイーサネットネットワークが既にあり、wifiアクセスポイントで同じIPアドレスを使用して拡張したい場合は、ブリッジを使用します。多くの場合、これはルーターへのアップリンクとして使用されます。

セットアップ

やる「一般設定」その後、クリーンアップのディレクトリは/ etc / systemdに/ネットワークが、触れないでください99-default.link(存在する場合)。eth0およびbr0を構成するために、次の3つのファイルを作成します。IPアドレスは例です。独自に設定する必要があります。

rpi ~# cat > /etc/systemd/network/02-br0.netdev <<EOF
[NetDev]
Name=br0
Kind=bridge
EOF

rpi ~# cat > /etc/systemd/network/04-br0_add-eth0.network <<EOF
[Match]
Name=eth0
[Network]
Bridge=br0
EOF

rpi ~# cat > /etc/systemd/network/12-br0_up.network <<EOF
[Match]
Name=br0
[Network]
DHCP=yes
# to use static IP uncomment these and comment DHCP=yes
#Address=192.168.50.60/24
#Gateway=192.168.50.1
#DNS=84.200.69.80 1.1.1.1
EOF

ここで、wpa_supplicantにブリッジを使用するように指示する必要があります。サービスを次のように変更することでそれを行います。

rpi ~# systemctl edit wpa_supplicant@wlan0.service

空のエディターでこれらのステートメントを挿入し、保存してエディターを終了します。

[Service]
ExecStartPre=/sbin/iw dev %i set type __ap
ExecStartPre=/bin/ip link set %i master br0

ExecStart=
ExecStart=/sbin/wpa_supplicant -c/etc/wpa_supplicant/wpa_supplicant-%I.conf -Dnl80211,wext -i%I -bbr0

ExecStopPost=-/bin/ip link set %i nomaster
ExecStopPost=-/sbin/iw dev %i set type managed

リブート。
それでおしまい。

詳細

インターフェイスwlan0がブリッジのスレーブであることをwpa_supplicantに伝える必要があります。そうしないと、「間違ったパスワード」でクライアントが接続することを拒否し、キーネゴシエーションが機能しないことを意味します。私たちが教えてくれたとき/ sbinに/ wpa_supplicantのオプションでのブリッジを使用するwlan0、インターフェイスはすでに橋のメンバーである必要があります。それが、wpa_supplicantサービスのドロップインファイル(オーバーレイ)で行うことです。空のステートメントは、古いエントリを削除します。そうしないと、2行あり、wpa_supplicantが2回起動します。で表示できるオリジナル。-dbr0ExecStart=ExecStart=ExecStart=systemctl cat wpa_supplicant@wlan0.service

通常、イーサネットケーブルで接続しているルーターでは、DHCPサーバーが有効になっています。ブリッジは、ステーション(アクセスポイントに接続されたデバイス)からのDHCP要求に対しても透過的であるため、IPアドレスとオプションを使用したインターフェースの構成について心配する必要はありません。ルーターがサービスを提供します。
excursus:
ただし、ルーターにDHCPサーバーがない場合は、RasPiに DHCPサーバーをセットアップできます。systemd-networkdには組み込みのDHCPサーバーを設定するオプションがありますが、問題はsystemd-networkdがルーター自体で実行されていると想定することであり、この場合は当てはまりません。これは特に、ステーションに間違った選択肢を提供しますルーターオプション。設定する方法はありません。だからインストールする必要がありますdnsmasqこの場合、必要に応じて構成できます。インストールして構成します(例、独自のIPアドレスを使用):

rpi ~$ sudo -Es
rpi ~# apt install dnsmasq
rpi ~# systemctl stop dnsmasq
rpi ~# mv /etc/dnsmasq.conf /etc/dnsmasq.conf.orig

rpi ~# cat > /etc/dnsmasq.conf <<EOF
interface=br0
  dhcp-range=192.168.50.128,192.168.50.164,255.255.255.0,24h
  dhcp-option=option:router,192.168.50.1
  dhcp-option=option:dns-server,8.8.8.8,1.1.1.1
EOF

rpi ~# systemctl start dnsmasq
rpi ~# exit
rpi ~$

この例では、ステーションに与えるために予約された192.168.50.128から192.168.50.164のIPアドレスがあります。他の静的IPアドレスについては、このプールの外部の1つを使用し、ブリッジ自体のIPアドレスも使用します。


♦最適化

wpa_supplicantを起動すると、ほとんどの場合、ジャーナルに次のメッセージが表示されます。

wpa_supplicant[427]: random: Cannot read from /dev/random: Resource temporarily unavailable
wpa_supplicant[427]: random: Only 12/20 bytes of strong random data available from /dev/random
wpa_supplicant[427]: random: Not enough entropy pool available for secure operations
wpa_supplicant[427]: WPA: Not enough entropy in random pool for secure operations - update keys later when the first station connects

大きな問題ではありません。wpa_supplicantは、暗号化キーを生成するために乱数を必要とします。これは少し遅いので、待つ必要があります。幸いなことに、RasPiにはT rue R andom N umber G enerator(TRNG)が組み込まれています。以下を使用してソフトウェア(3)をインストールすることにより、これを使用して乱数の取得を高速化できます。

rpi ~$ sudo apt install rng-tools

更新:Raspbian Stretch 2019-04-08
以降、インストールする必要はありません。デフォルトでインストールされます。 rng-tools


♦トラブルシューティング

systemd-networkd

サービスのステータスを確認します。

rpi ~$ systemctl status systemd-networkd.service
rpi ~$ systemctl status wpa_supplicant@wlan0.service

またはもう少し:

rpi ~$ journalctl --boot --pager-end

進行中のログを追跡することは有用であることがわかりました。

rpi ~$ journalctl --boot --follow

ファイルをドロップした場合、結果を見ることができます:

rpi ~$ systemctl cat wpa_supplicant@wlan0.service

ユニットのランタイム環境を確認するには、ユニットを表示し、たとえば次の2 ExecStart=行があるかどうかを確認します。

rpi ~$ systemctl show wpa_supplicant@wlan0.service

そして、他に何も助けなければ、ドロップインファイルで/sbin/wpa_supplicantwith からデバッグオプションを有効にでき-dます:

rpi ~$ sudo systemctl edit wpa_supplicant@wlan0.service
ExecStart=
ExecStart=/sbin/wpa_supplicant -c/etc/wpa_supplicant/wpa_supplicant-%I.conf -Dnl80211,wext -i%I -bbr0 -d

出力はジャーナルにあります。このようにして、間違ったキーネゴシエーションの問題を見つけました。

Wi-Fi

アクセスポイントをセットアップしている場合は、携帯電話で見つける必要があります。利用可能なネットワークを表示すると、RPiNetという名前で表示され、接続できます。RasPiでは、次のコマンドも使用できます。

rpi ~$ sudo iw dev wlan0 info
phy#0
        Interface wlan0
                ifindex 3
                wdev 0x2
                addr b8:27:eb:06:e8:8b
                ssid RPiNet
                type AP
                channel 1 (2412 MHz), width: 20 MHz, center1: 2412 MHz

ご覧のとおり、タイプAP(アクセスポイント)であり、使用しているチャネルも表示されます。問題は、チャネルを周波数に変換することです。周波数はチャネルと一致する必要があります。あなたは見ることができます(2) WLANチャンネルのリストのため。たとえば、5.1 GHz帯域でチャネル36を使用するには、で設定frequency=5180する必要があります/etc/wpa_supplicant\wpa_supplicant.conf。ただし、wifiが5.1 GHz帯域をサポートしていることを確認する必要があります。で確認できsudo iw phyます。これにより、多くの情報が得られます。5000 MHzを超えるサポートされている周波数も含まれている必要があります。24xx MHzの周波数しか表示されない場合は、もちろんこれしか使用できません。

もう1つのポイントは乱数です。セキュリティで保護された接続のキーを暗号化するには、wpa_supplicantに乱数が必要です。これを生成するのは、Raspberry Piでは非常に遅いです。暗号化キーを生成するのに十分なエントロピーがない場合、wpa_supplicantは認証を拒否します。あなたはで見ることができますcat /proc/sys/kernel/random/entropy_avail提供されていますどのように多くのエントロピー。十分に速く動作するには、1000を超える必要があります。これを高速化するために、rng-toolsデフォルトでインストールされています。詳細については、最適化のセクションをご覧ください。


参考資料:
[1] ネットワークから動的フェイルオーバーを使用してsystemd-networkdに移行する方法
[2] WLANチャネルのリスト
[3] Rng-tools


rpi〜#systemd-tmpfiles --create --prefix / var / log / journalrootこの出力メッセージで失敗@pi:〜#systemd-tmpfiles --create --prefix / var / log / journal '/のファイル属性を設定できませんvar / log / journal '、value = 0x00800000、mask = 0x00800000:操作はサポートされていません' / var / log / journal / 6d18954849a74479955b761e891619aa 'のファイル属性を設定できません、value = 0x00800000、mask = 0x00800000:操作はサポートされていません実装されました。手順の実装の良いスタートではありません。
ヤン・フス

1
こんにちは@JanHusご意見ありがとうございます。これはエラーではなく警告であり、問​​題ではありません。私も毎回それを取得します。永続ジャーナルが作成されます。で見てくださいls /var/log/journal/。次のようなディレクトリが表示されますfa9462093e8d419cb646d0a0c44771c2。これは、アクセスするジャーナルのストレージですjournalctl。回答を更新します。
インゴ

はい、ファイルが作成されたかどうかを確認しました。しかし、私は脇道に追いやられて止まった。今日も続けます。これまでのところ、これは主題に関するより良い「チュートリアル」の1つです。投稿してくれてありがとう。PSはそれを永続的に呼び出していますか?一時プロセスを使用して作成された場合、混乱はほとんどありません。
ヤン・フス

2
@Ingo proto=WPA2AP設定で使用することをお勧めします。少なくとも私の携帯電話は、それなしでは「弱いセキュリティ」について文句を言います。
ロビンディンセ

2
@RobinDinseもちろん、あなたは正しいです。私はそれを監督しました。ヒントをありがとう。私は追加しましたproto=RSN。それがDocuが好むものです(proto=WPA2エイリアスに名前を付ける)。
インゴ

3

Raspberry PiをAPとして設定するさらに簡単な方法は、Pi 3B + / 4のAPへの構成を自動化するpi-ap Githubリポジトリを使用することです。

Piを、DHCPが有効になっているインターネットに接続されたルーターの空きポートに接続します(ほとんどのコンシューマルーターの場合)。

接続したら、eth0ルーターによって割り当てられたDHCPで割り当てられたIPでPiにSSH接続し、次の操作を行います。

git clone https://github.com/f1linux/pi-ap

cd pi-ap

nano variables.sh   # Change default values for SSID & password

sudo ./install.sh

お茶を飲むと、約2分間待機した後、設定したSSIDがvariables.shワイヤレスネットワークリストに表示されます。アドバタイズされるPiのWLANに接続します。

Piのwlan0インターフェースでAP自体に直接SSHで接続するには、デフォルトIPを使用します192.168.0.1

:WiFiクライアントIPの割り当てにpi-apが使用するデフォルトのDHCPサブネットvariables.sh192.168.0.0/28です。ネットワークで既にそのサブネットを使用している場合は、実行するvariables.shにWiFiクライアント用に別のサブネットを設定します。install.sh

良い結果を得るために必要なサブネット計算機や深刻なネットワークスキルは必要ありません。 pi-apは、MAC ACLを介したアクセス制限もサポートしています。

開示:私はpi-apの開発者です。


0

━━━チェックポイントを使用してインストール手順をステップごとに確認してください━━━

この答えはセットアップでは考えられません。安定したセットアップについては、他の回答を参照してくださいアクセスポイントのセットアップ。

この回答は、主にトラブルシューティングのためのものであり、詳細なコマンドをステップおよびチェックポイントごとに動作させる方法を示していますが、背景情報はありません。Raspberry Piにモニター、キーボード、マウスが接続されていると思います。この検査のIPアドレスとその他の設定は例です。あなたのものを使用する必要があります。journalctl -b -e記録された情報をいつでも見ることができます。

Download ZIPimage Raspbian Stretch Lite 2018-11-13をLinux PCに。

チェックポイント1:チェックサムをダウンロードサイトのチェックサムと比較します。

pc ~$ sha256sum 2018-11-13-raspbian-stretch-lite.zip

47ef1b2501d0e5002675a50b6868074e693f78829822eef64f3878487953234d 2018-11-13-raspbian-stretch-lite.zip

次のステップ:添付のSDカードに画像を書き込みます:

pc ~$ unzip -p 2018-11-13-raspbian-stretch-lite.zip | sudo dd of=/dev/sdb bs=4M conv=fsync

チェックポイント2: SDカードのパーティションを確認します。

pc ~$ sudo parted /dev/sdb print
Model: Mass Storage Device (scsi)
Disk /dev/sdb: 3965MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:

Number  Start   End     Size    Type     File system  Flags
 1      4194kB  50,2MB  46,0MB  primary  fat32        lba
 2      50,3MB  1866MB  1816MB  primary  ext4

次のステップ:ブートパーティションをマウントしてwpa_supplicant.confファイルを作成します。

pc ~$ mkdir boot/
pc ~$ sudo mount /dev/sdb1 boot/
pc ~$ sudo -e boot/wpa_supplicant.conf

# insert this into the empty editor with your settings, save it and quit the editor
country=DE
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
    ssid="RPiNet"
    mode=2
    key_mgmt=WPA-PSK
    psk="password"
    frequency=2412
}

pc ~$ sudo umount boot/

SDカードをRasPiに入れて起動します。

チェックポイント3:ログイン後、有線接続を確認します。eth0インターフェイスは、IPアドレスを持っている必要があります。

rpi ~$ ip -4 addr show dev eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    inet 192.168.50.177/24 brd 192.168.50.255 scope global eth0
       valid_lft forever preferred_lft forever

rpi ~$ ping -I eth0 -c3 google.com
PING google.com (172.217.22.78) from 192.168.50.177 eth0: 56(84) bytes of data.
64 bytes from fra15s17-in-f14.1e100.net (172.217.22.78): icmp_seq=1 ttl=55 time=15.0 ms
64 bytes from fra15s17-in-f14.1e100.net (172.217.22.78): icmp_seq=2 ttl=55 time=14.7 ms
64 bytes from fra15s17-in-f14.1e100.net (172.217.22.78): icmp_seq=3 ttl=55 time=15.1 ms

--- google.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 14.729/14.965/15.125/0.170 ms

これはそのまま使用できます。動作しない場合は、ネットワーク設定に一般的な問題があります。続行する前に修正してください。

チェックポイント4:アクセスポイントを確認します。

rpi ~$ sudo iw dev wlan0 info
Interface wlan0
        ifindex 3
        wdev 0x1
        addr b8:27:eb:06:e8:8b
        ssid RPiNet
        type AP
        wiphy 0
        channel 1 (2412 MHz), width: 20 MHz, center1: 2412 MHz
        txpower 31.00 dBm

wlan0のインターフェースは、IPアドレスを持っているshoud。インターフェイスを設定していないため、169.254.0.0 / 16のリンクローカルアドレスが設定されます。

rpi ~$ ip -4 addr show dev wlan0
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    inet 169.254.210.182/16 brd 169.254.255.255 scope global wlan0
       valid_lft forever preferred_lft forever

あなたは、表示されますRPiNetをお使いの携帯電話でacccess点のリストではなく、あなたはまだそれに接続することはできません。

次のステップ:完全なアップグレードと再起動:

rpi ~$ sudo apt update
rpi ~$ sudo apt full-upgrade
rpi ~$ sudo systemctl reboot

再起動してログインした後、systemd-networkdに切り替えます。

rpi ~$ sudo -Es
rpi ~# mkdir -p /var/log/journal
rpi ~# systemd-tmpfiles --create --prefix /var/log/journal #ignore warnings (*)

rpi ~# apt install rng-tools
rpi ~# systemctl mask networking.service
rpi ~# systemctl mask dhcpcd.service
rpi ~# sudo mv /etc/network/interfaces /etc/network/interfaces~
rpi ~# sed -i '1i resolvconf=NO' /etc/resolvconf.conf

rpi ~# systemctl enable systemd-networkd.service
rpi ~# systemctl enable systemd-resolved.service
rpi ~# ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf

(*)1つまたは2つの紛らわしい警告「...ファイル属性を設定できません...」が表示されます。これはエラーではなく、この場合は問題ではありません。

インターフェースeth0およびwlan0用にこれらのファイルを設定で作成します。

rpi ~# cat > /etc/systemd/network/04-eth0.network <<EOF
[Match]
Name=eth0
[Network]
Address=192.168.50.60/24
Gateway=192.168.50.1
DNS=84.200.69.80 84.200.70.40
IPForward=yes
EOF

rpi ~# cat > /etc/systemd/network/08-wlan0.network <<EOF
[Match]
Name=wlan0
[Network]
Address=192.168.4.1/24
DHCPServer=yes
[DHCPServer]
DNS=84.200.69.80 84.200.70.40
EOF

インターフェイス設定と一致するように/etc/wpa_supplicant/wpa_supplicant.confの名前を変更し、再起動します。

rpi ~# mv /etc/wpa_supplicant/wpa_supplicant.conf /etc/wpa_supplicant/wpa_supplicant-wlan0.conf
rpi ~# systemctl disable wpa_supplicant@wlan0.service
rpi ~# systemctl reboot

チェックポイント5:再起動およびログイン後、有線接続eth0を確認します。

rpi ~$ ip -4 addr show dev eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    inet 192.168.50.60/24 brd 192.168.50.255 scope global eth0
       valid_lft forever preferred_lft forever

rpi ~$ ping -I eth0 -c3 google.com
PING google.com (172.217.10.14) from 192.168.50.60 eth0: 56(84) bytes of data.
64 bytes from lga34s12-in-f14.1e100.net (172.217.10.14): icmp_seq=1 ttl=51 time=93.5 ms
64 bytes from lga34s12-in-f14.1e100.net (172.217.10.14): icmp_seq=2 ttl=51 time=93.5 ms
64 bytes from lga34s12-in-f14.1e100.net (172.217.10.14): icmp_seq=3 ttl=51 time=93.5 ms

--- google.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 93.519/93.551/93.592/0.030 ms

チェックポイント6: WiFi接続wlan0を確認します。

rpi ~$ sudo systemctl start wpa_supplicant@wlan0.service
rpi ~$ sudo iw dev wlan0 info
Interface wlan0
        ifindex 3
        wdev 0x1
        addr b8:27:eb:06:e8:8b
        ssid RPiNet
        type AP
        wiphy 0
        channel 1 (2412 MHz), width: 20 MHz, center1: 2412 MHz
        txpower 31.00 dBm

rpi ~$ ip -4 addr show dev wlan0
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    inet 192.168.4.1/24 brd 192.168.4.255 scope global wlan0
       valid_lft forever preferred_lft forever

携帯電話でwifiを確認してください。見つける必要がRPiNetあり、接続できます。ルーティングがまだ構成されていないため、携帯電話をインターネットに接続できません。

次のステップ:インターネット接続のNATを有効にします。NATを構成するには、wpa_supplicantサービスを次のように拡張する必要があります。

rpi ~$ sudo systemctl edit wpa_supplicant@wlan0.service

空のエディターでこれらのステートメントを挿入し、保存してエディターを終了します。

[Service]
ExecStartPre=/sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
ExecStopPost=-/sbin/iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE

それから:

rpi ~$ sudo systemctl daemon-reload
rpi ~$ sudo systemctl restart systemd-networkd.service
rpi ~$ sudo systemctl restart wpa_supplicant@wlan0.service

チェックポイント7:これで、携帯電話でインターネットにアクセスできるようになります。


@Wim削除された回答で尋ねました:「これは、新しいRaspbianリリースBusterでどのようにできますか?」アクセスポイントをセットアップする場合、この回答「チェックポイントを使用したインストール手順のチェック━━━」は適切ではありません。このためには、こちら側で他の回答「━━━アクセスポイントのセットアップ━━━」を使用する必要があります。Raspbian Busterでも動作します。確認したばかりです。
インゴ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.