1. vascodagama

    Posted

    vascodagama
Changes in title
+「SIMカード+4GPi」でラズパイをモバイルWiFiルーターにする
Changes in tags
Changes in body
Source | HTML | Preview
@@ -0,0 +1,292 @@
+# モバイルWiFiルーターとは?
+
+小型で軽量な通信端末のことであり、一例を挙げるとポケットWiFiです。
+
+本記事は「4GPi+SIMカード+ラズベリーパイ」でモバイルWiFiルーターとして
+データ通信する手順を紹介します。
+
+# 4GPiとは?
+[4GPi(フォージーパイ)](https://mechatrax.com/products/4gpi/)は、ラズベリーパイ専用に開発された4G(LTE)通信モジュールです。
+
+以下サイトで4GPiの使用例を紹介しております。
+・ [メカトラックス様公式サイト(受託開発・製造)](https://mechatrax.com/development/)
+・ [Stretch 版 4GPi のイメージから Buster へのアップグレード~4GPiを使うメリット~](https://qiita.com/vascodagama/items/e8e2546a7b359ed20f64#4gpi%E3%82%92%E4%BD%BF%E3%81%86%E3%83%A1%E3%83%AA%E3%83%83%E3%83%88)
+
+# 必要な物
+
+◎ ラズベリーパイ用4G(LTE)通信モジュール「4GPi」
+◎ ACアダプタ(12V 2A) 
+◎ 標準SIM(私の場合は"NanoSIM" + "標準SIMへの変換アダプタ"で対応)
+◎ ラズパイ
+◎ パソコン
+◎ MicroSDカード
+
+
+取り付け手順・機器の画像・補足事項は[Stretch 版 4GPi のイメージから Buster へのアップグレード~必要な物~](https://qiita.com/vascodagama/items/e8e2546a7b359ed20f64#%E5%BF%85%E8%A6%81%E3%81%AA%E7%89%A9)で紹介しておりますのでそちらを参照ください!
+
+# 「SIMカード+4GPi」でラズパイをモバイルWiFiルーターにする
+
+## 下準備
+
+### OSのダウンロード
+
+[4GPiインストール済のbuster版イメージ](https://mechatrax.com/data/4gpi/4gpi-buster-lite-20190820.zip)をダウンロードします。
+
+### OSイメージをMicroSDカードへ書き込み
+
+今回は有名な書き込みソフト「Etcher」を使用しました。
+書き込み手順は[こちらのサイトを参照](https://azriton.github.io/2017/11/12/%E3%83%A9%E3%82%BA%E3%83%91%E3%82%A4%E3%81%AEOS%E3%82%A4%E3%83%A1%E3%83%BC%E3%82%B8%E3%82%92%E7%84%BC%E3%81%8F%E3%81%A8%E3%81%8D%E3%81%AFEtcher%E3%81%8C%E4%BE%BF%E5%88%A9%EF%BC%86UI%E3%82%AB%E3%83%83%E3%82%B3%E3%81%84%E3%81%84/)
+
+### パソコンからssh接続
+
+ブラウザの表示をコピペしたいので、パソコンからssh接続します。
+もちろんラズパイ直接入力でも問題ありません。
+
+```bash
+ssh pi@IPアドレス
+```
+
+のちの手順でwlan0をアクセスポイントとして使用するためラズパイは有線LANでつなぐことをお勧めします。
+有線LANの場合、IPアドレスはifconfigコマンドで表示されるeth0のinetを入力してください。
+
+### ラズパイのパッケージを更新
+
+```bash
+sudo apt-get update
+sudo apt-get upgrade
+```
+
+### SIMカード情報を登録
+
+
+| 項目|Y!Moblieの場合 |
+|:-----------------|------------------:|
+| APN|plus.acs.jp|
+| ユーザー| ym|
+| パスワード|ym|
+
+Y!Moblieの場合は
+
+```Bash
+sudo nmcli con add type gsm ifname "*" con-name ymobile apn plus.acs.jp user ym password ym
+```
+
+接続できているかifconfigコマンドで確認します。
+
+```Bash
+ifconfig wwan0
+```
+
+inetにIPアドレスが表示されていればokです。
+
+
+## wlan0を静的IPにする
+
+アクセスポイントにするにはワイヤレスポートに割り当てられた静的IPアドレスが必要となります。
+
+まずは設定ファイルを変更します。
+
+```bash
+sudo vi /etc/dhcpcd.conf
+```
+
+dhcpcd.conf内でwlan0に静的IP(192.168.4.1)を設定します。
+また、wpa_supplicantの設定ファイルを読み込まないようにします。
+
+ファイルの最終行に以下の3行を追加してください。
+
+```bash
+interface wlan0
+ static ip_address=192.168.4.1/24
+ nohook wpa_supplicant
+```
+
+そして、変更した設定ファイルにて再起動します。
+
+```bash
+sudo service dhcpcd restart
+```
+## DHCPサーバーの設定(IPアドレスの自動割り当て)
+DHCP(Dynamic Host Configuration Protocol)を設定します。
+DHCPとは「コンピュータがネットワークに接続する際に必要な設定情報を自動的に割り当てる仕組み」です。
+
+まずはdnsmasqをインストールします。
+
+```bash
+sudo apt install dnsmasq
+```
+
+既存のファイルは使用しませんので、リネームして別ファイルとして保存しておきましょう。
+
+
+```bash
+sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.orig
+```
+
+新しくファイルを新規作成します。
+
+```bash
+sudo vi /etc/dnsmasq.conf
+```
+
+中身に以下を2行を記載します。
+
+```bash
+interface=wlan0
+dhcp-range=192.168.4.2,192.168.4.20,255.255.255.0,24h
+```
+24時間のリース時間で、192.168.4.2から192.168.4.20のIPアドレスを提供します。
+
+dnsmasqの更新された設定ファイルにて再起動します。
+
+```bash
+sudo service dnsmasq restart
+```
+
+起動状態をチェックします。
+
+```bash
+sudo systemctl status dnsmasq
+```
+
+以下のように「Active:」の後にactive(runnnig)と記載されていればokです。
+
+```bash
+Active: active (running) since Mon 2019-09-16 16:27:48 JST; 2min 8s ago
+```
+
+
+
+## ラズパイをアクセスポイントにする
+
+アクセスポイントを設定するパッケージ「hostapd」をインストールします。
+
+```bash
+sudo apt-get install hostapd
+```
+
+
+設定ファイルを新規作成します。
+
+```bash
+sudo vi /etc/hostapd/hostapd.conf
+```
+
+次に、以下内容を記載します。
+「ssid」と「wpa_passphrase」は好きな値を設定してください。
+
+```bash
+interface=wlan0
+driver=nl80211
+ssid=RPiHotSpot
+hw_mode=g
+channel=6
+wmm_enabled=0
+macaddr_acl=0
+auth_algs=1
+ignore_broadcast_ssid=0
+wpa=2
+wpa_passphrase=1234567890
+wpa_key_mgmt=WPA-PSK
+wpa_pairwise=TKIP
+rsn_pairwise=CCMP
+```
+
+「ssid」がWiFi接続の際に表示される名称でパスワードが「wpa_passphrase」です。
+
+次にこの構成ファイルの場所をシステムに伝える必要があります。
+
+```bash
+sudo vi /etc/default/hostapd
+```
+
+```bash
+DAEMON_CONF="/etc/hostapd/hostapd.conf"
+```
+
+起動するファイル名は、先ほどの設定ファイル「hostapd.conf」のフルパスを入力します。
+
+hostapdを以下手順で起動します。
+
+```bash
+sudo systemctl unmask hostapd
+sudo systemctl enable hostapd
+sudo systemctl start hostapd
+```
+起動状態をチェックします。
+
+```bash
+sudo systemctl status hostapd
+```
+
+以下のように「Active:」の後にactive(runnnig)と記載されていればokです。
+
+```bash
+Active: active (running) since Mon 2019-09-16 16:27:48 JST; 2min 8s ago
+```
+
+## wlan0にアクセスした端末をSIMカードと通信する設定
+
+sysctl.confを編集します。
+
+```bash
+sudo vi /etc/sysctl.conf
+```
+
+以下のコメントアウトを外します。
+
+```bash
+net.ipv4.ip_forward=1
+```
+
+
+wwan0のマスカレードを追加します。
+
+```bash
+sudo iptables -t nat -A POSTROUTING -o wwan0 -j MASQUERADE
+```
+
+iptablesのルールを保存します。
+
+```bash
+sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"
+```
+
+ブート時にこれらのルールをインストールします。
+
+```bash
+
+sudo vi /etc/rc.local
+```
+
+exit 0の上の行に次のコマンドを追加します。
+
+```bash
+iptables-restore < /etc/iptables.ipv4.nat
+```
+
+ラズパイを再起動します。
+
+```bash
+sudo reboot
+```
+ここで有線LANを抜きましょう。
+私の場合、有線LANが接続されたままだと「RPiHotSpot」に接続できますが、
+Webサイトを読み込むことができませんでした。(干渉?)
+
+スマホでWiFiとして設定できるか確認しましょう。
+
+<img width="375" alt="wifi.jpg" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/146895/2b42c440-7db5-b3f9-8dc5-d3b48998d45e.jpeg">
+
+以上で設定完了です。
+
+# おまけ(スピードチェック)
+
+スマートフォン内にSIMカードを挿入してデータ通信した場合は19.0Mbps、
+4GPiからスマートフォンにWiFiとしてデータ通信した場合は12.0Mbpsでした。
+
+スマートフォンから直接SIMを読み込むほうが少し早かったです。
+4GPiの速度はパラボラアンテナを作ると少しは上がるかもしれません。
+
+# 参考サイト
+https://www.raspberrypi.org/documentation/configuration/wireless/access-point.md