RasPiをWiFiアクセスポイントに設定すると、
機器の接続で楽できて便利ですね。
今回はそんな話。
実際のところ
参考もと様にスクリプト例が置いてありましたので、
こちらを参考に……。
#!/bin/bash # # This version uses September 2017 august stretch image, please use this image # # このスクリプトを使うときは、下記のように使う。 # sudo rPi3-ap-setup.sh password wifiapname # ======================================================= # ルート権限かどうか調べる # 数値1 -ne 数値2 : -ne は比較演算子 数値1と数値2が等しくなければ真 not equal # [と]の周りはスペースがないとエラーになる! if [ "$EUID" -ne 0 ] # $EUID==0の場合は、ルートだと then echo "Must be root" exit fi # $#シェルスクリプトに渡された引数の個数 # 数値1 -lt 数値2 : 数値1が数値2より小さければ真 less than if [[ $# -lt 1 ]]; # 引数の数が1より小さければ、「パースワードを設定してくださいね」とメッセージを出す。 then echo "You need to pass a password!" echo "Usage:" echo "sudo $0 yourChosenPassword [apName]" exit fi # アクセスポイントのパスワードを1番目の引数から設定する APPASS="$1" # アクセスポイントのSSIDをデフォルトでrPi3に設定する APSSID="rPi3" # もし引数の数が2だったら、2番目の引数をアクセスポイントのSSIDとして設定する。 if [[ $# -eq 2 ]]; then APSSID=$2 fi # hostapdを一回削除する # yはapt-getに質問されたら、yesと答えるという意味 # qqは静かに、処理する、メッセージを極力出さないようにという意味 apt-get remove --purge hostapd -yqq apt-get update -yqq apt-get upgrade -yqq # # hostapdとdnsmasqをインストールする # hostapdはRaspberryPiに限らず、アクセスポイントにするDaemonのこと # dnsmasqは軽量なDNSサーバとDHCPサーバ apt-get install hostapd dnsmasq -yqq # ヒアドキュメント:複数行の文字列を簡潔に記述するための機能 # EOFの文字が出現するまでの複数行を/etc/dnsmasq.confに追加してね! cat > /etc/dnsmasq.conf <<EOF interface=wlan0 dhcp-range=192.168.24.2,192.168.24.5,255.255.255.0,12h EOF # 上と同様に、/etc/hostapd/hostapd.confに複数行を追加する cat > /etc/hostapd/hostapd.conf <<EOF # 無線LANを使う interface=wlan0 # 動作モード(使用する帯域)を指定する。 hw_mode=g # チャネルを指定する channel=10 # auth_algs=1 # WPA2を使用する wpa=2 # 鍵管理アルゴリズムとしてWPA-PSKを使用する wpa_key_mgmt=WPA-PSK # wpa_pairwise=CCMP # RSN / WPAの共有鍵暗号化方式としてCCMPを使用する rsn_pairwise=CCMP # 上で設定したパスワード wpa_passphrase=$APPASS # 上で設定したアクセスポイントのSSID ssid=$APSSID EOF # sed 編集するコマンド # -i 入力ファイルの上書き # s 置換 # s/置換条件/置換文字/ 置換条件を置換文字に変換する。最後にgを付けた場合は置換条件に当てはまるすべての文字列が置換される # allow-hotplug wlan0 を削除する sed -i -- 's/allow-hotplug wlan0//g' /etc/network/interfaces # iface wlan0 inet manualを削除する sed -i -- 's/iface wlan0 inet manual//g' /etc/network/interfaces # wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf を削除する sed -i -- 's/ wpa-conf \/etc\/wpa_supplicant\/wpa_supplicant.conf//g' /etc/network/interfaces # #DAEMON_CONF="" を DAEMON_CONF="/etc/hostapd/hostapd.conf" に変更する sed -i -- 's/#DAEMON_CONF=""/DAEMON_CONF="\/etc\/hostapd\/hostapd.conf"/g' /etc/default/hostapd # /etc/dhcpcd.conf に denyinterfaces wlan0 を追加する。 >> が重要、上書きではなく追加する! echo "denyinterfaces wlan0" >> /etc/dhcpcd.conf # サービスを自動起動に設定する systemctl enable hostapd systemctl enable dnsmasq # サービスを起動させる sudo service hostapd start sudo service dnsmasq start # 完了メッセージを表示する echo "All done! Please reboot"