Antminer S9のWifi接続(RaspberryPi 無線LAN子機)備忘録
手持ちのASICマイナー(Antminer S9)にはWifiインターフェイスが付いていません。2014年に現役の機種だったAntminer S1はWifi対応でしたが、大規模なマイニングファームには必要無い機能だったので無くなってしまったのでしょう。
Wifiに対応していないデバイスでも、市販のWifiルーターをブリッジモードにしてLANポートに接続すれば済む話です。が、今回は勉強の為にRaspberry Pi(ラズパイ)をWifiの子機として活用する事にしました。
今回の環境等
- Raspberry Pi 3 Model B
- Raspberry Pi OS Lite
- ネットワーク環境の概略
別の目的の為にデバイス側(ASICマイナー)のネットワークのセグメントを分けています。デバイス側をルーターと同じセグメントにしたい場合は、ページ最後にある参考リンクのブリッジによる方法を見てください(bridge-utils)。
セットアップ手順
OSのインストールとWifiの設定は、下記ページの”ラズベリーパイにOSのインストール”で詳しく説明されています。
IPアドレスの設定
wlan0/eth0に固定アドレスを設定します。
$ vi /etc/dhcpcd.conf
# wlan0 for router
interface wlan0
static ip_address=192.168.1.149/24
static routers=192.168.1.1
static domain_name_servers=192.168.1.1
# eth0 for miner
interface eth0
static ip_address=192.168.2.1/24
$ sudo reboot
ラズパイが再起動したら、wlan0に設定したIPアドレスでラズパイにアクセスします(例では"192.168.1.149")。
ポートフォワードの設定
パケットをラズパイからeth0側のデバイスに渡す為に、sysctl.confに記述を追加してポートフォワードを有効にします。
$ vi /etc/sysctl.conf
net.ipv4.ip_forward=1
DNSのセットアップ
eth0側で参照するDNSを設定します。
$ sudo apt install dnsmasq
$ vi /etc/dnsmasq.conf
# DNS for eth0
interface=eth0
# DHCP 10 to 19
#dhcp-range=192.168.2.10,192.168.2.19,255.255.255.0,24h
DHCP機能が必要な場合は、"dhcp-range"の行も追加します。
IPマスカレードの設定
eth0側のデバイスからネット接続する為に、rc.localに記述を追加してIPマスカレードを有効にします。
$ sudo iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
$ sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"
$ vi /etc/rc.local
# IP Masquerade
iptables-restore < /etc/iptables.ipv4.nat
exit 0
# this line is end of file
ポートフォワード、DNS、IPマスカレード設定の反映
$ sudo reboot
ラズパイが再起動したら、eth0にASICマイナー等を接続します。あらかじめeth0側のデバイスは、IPアドレス"192.168.2.X"に設定しておきます。
おわりに
数ヶ月前からラズパイでWifi接続したASICマイナーを運用しています。特にトラブル無く使えています。
今回の記事を書くにあたって速度を調べると、40Mbps程度でした。ルーターとラズパイの設置環境にもよりますが、普通に使う分には問題無さそうです。
$ wget -O speedtest-cli https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py
...
$ python3 speedtest-cli
...
Testing download speed...
Download: 43.00 Mbit/s
Testing upload speed...
Upload: 42.01 Mbit/s