はじめに
会社の契約しているネットが契約の関係でぶっちんするという恐ろしい事態が起きてしまったので(笑)
しかも、ラズパイとUSBWiFiアンテナが売るほどたくさんあって、肝心なWiFiルータが無いということで、昔やったAPを作って一時しのごうと思う。
(こんなSE居て良いんかね。。。
機材
本体:Raspberry pi3
アンテナ IOdataのなにか(転がってたもの) RTL8192CUのチップを積んでる
構造
A棟 インターネット <-光-> ONU/ルータ <-LAN-> WiFiアクセスポイント
間 WiFiアクセスポイント(A棟) <-WiFi(2.4Ghz)-> ラズパイ(B棟)
B棟 ラズパイWiFi-ラズパイ固定LAN <-LAN-> WiFiアクセスポイント <-WiFi-> ユーザの端末
設定
raspberry pi 準備編
1.raspbienを落とします。
ちなみにこちらは面倒なので、Raspbian Buster Liteで落としてます
2.SDcardFormatterでフォーマットします。
3.etcherで1で落としたファイル.imgを書き込みます
4. 電源ケーブル以外をラズパイに接続します
5. 電源ケーブルを接続して、設定開始!
raspberry pi 設定編
注意:普通のdesktop版を入れるとGUIがくっついてきてきれいですが、CUI一本で乗り切ろうとしている人なので、いろいろ読み替えてあげてください。。。
キーボードの初期化
日本語キーボードを追加する。
-
pi@raspberrypi:~ $ raspi-config
を叩く -
4 Location Options
を開いてI3 Change Keyboard Layout
を更に開く -
Generic 105-key PC(Intl.)
を選択し、その後Other
を選択。 -
Japanese
を選択し、再度出てきたものでもJapanese
を選択。 - 出てきたものにdefaultで赤になってるのを選択しまくって最初の画面に戻るまで待つ
内蔵WiFi Bluetooth 無効化
-
pi@raspberrypi:~ $ vi /boot/config.txt
を開く - 次のものを書き込む
# Additional overlays and parameters are documented /boot/overlays/README
# turn wifi and bluetooth off
dtoverlay=pi3-disable-wifi
dtoverlay=pi3-disable-bt
固定IPをLAN側に振る
-
pi@raspberrypi:~ $ vi /etc/dhcpcd.conf
を開く - 次のものを一番うしろとかに書き込む
-
pi@raspberrypi:~ $ sudo reboot
で一旦再起動 -
pi@raspberrypi:~ $ ifconfig
で確認する
interface eth0
static ip_address=192.168.0.1/24
static routers=192.168.0.1
static domain_name_servers=192.168.0.1
hostapdを入れる
通常だとhostapdはapt-get install hostapd
でよいのだが、rtx819x系なので、ドライバが別途必要。
調べてみるとこちらのサイトで紹介されている方法を使うことにする。
-
まずはデスクトップディレクトリまでいく
-
pi@raspberrypi:~ $ wget http://www.adafruit.com/downloads/adafruit_hostapd.zip
して落とす -
pi@raspberrypi:~ $ unzip adafruit_hostapd.zip
して解凍 -
pi@raspberrypi:~ $ sudo mv /usr/sbin/hostapd{,.orig}
-
pi@raspberrypi:~ $ sudo mv hostapd /usr/sbin/
-
/etc/hostapd/hostapd.conf
を開いて、driver=rtl871xdrv
にする。なお、ssid, channel, wpa_passphraseは、
WiFiのアクセスポイントと有線LANポートを繋げる
今回は、固定LAN側でDHCPをつけて捌く必要も無いので単にFirewallの設定をするだけ
-
pi@raspberrypi:~ $ sudo vi /etc/sysctl.conf
で開く -
net.ipv4.ip_forward=1
でforward機能を有効について繋がるようにする - 再起動
- 次を入力
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
- 次を入力
sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
- 次を入力
sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT
- 次を入力
sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"
-
pi@raspberrypi:~ $ sudo vi /etc/network/interface
で開く - 最後に次を追加
up iptables-restore < /etc/iptables.ipv4.nat
あとがき
トラフィックが多いと熱暴走は結構起こります。CPUのヒートシンクは必須です。
→結構落ちました
またできればケースはアルミとか金属で、ファン付きをお勧めします。
あと、場所的な問題もありますが、速度が頑張っても100Mbpsぐらいが限界でした。
なので、あまり期待はしないほうがいいなぁーってのが感想です。
とりあえず、繋がるぜ!っていうレベルならこれで十分かなぁとか思ってます。