ひゃまだのblog

ひゃまだ(id:hymd3a)の趣味のブログ

Raspberry Pi 3B+で無線LANコンバータを作ったよ

(2022-06-13 初稿 - 2022-07-11 修正)

はじめに

先日、TP-LinkのRE300を購入して、便利に使っている。

だたし、RE300には有線LANのポートがないので、無線が使えない機器や機器同士を有線LANで接続したい場合等はやや不便だ。

そこで、余っていたRaspberry Pi 3B+で無線LANコンバータを作ったので紹介する。

無線LANコンバータは、有線の機器の接続を無線に変換する装置で、部屋の中は有線LAN、部屋から部屋へとまたぐ際に無線にと便利に使うことができる。

デスクトップPCがある部屋等では便利だと思う。

本記事は、以下の2つのサイトをほぼそのままに作業を行った。多謝。

前提条件

設定したRaspberry Pi 3B+のOSやバージョンは以下のとおり。

Linux hoge 5.15.32-v7+ #1538 SMP Thu Mar 31 19:38:48 BST 2022 armv7l GNU/Linux

今回作製した無線LANコンバータは、以下のようなところに設置した。

Internet
  【Wi-Fi router】
      192.168.22.1
      
               wlan0: 192.168.22.101
                    【RaspberryPi】
                            eth0: 192.168.22.102    HUB
                                                      192.168.22.103  【PC】

/etc/decpcd.confの設定

wlan0が無線側(192.168.22.101)、eth0が有線側(192.168.22.102)で、たくさんの機器を接続する予定はないので、ブリッジ接続で静的IPアドレスを割り振った。

以下は、自分が修正した部分のみを表示。

# mod H.Y 2022-06-12
interface wlan0
static ip_address=192.168.22.101/24
static routers=192.168.22.1
static domain_name_servers=192.168.22.xxx
static domain_search=
noipv6
interface eth0
static ip_address=192.168.22.102
static routers=0.0.0.0   # eth0を出るパケットが迷わないように
static domain_name_servers=0.0.0.0  # 同上
static domain_search=
noipv6

dhcp-helperのインストールと設定

静的IPなので、不要かもしれないが、上流のルータにDHCP機能があるので、dhcp-helperをインストールした。

dhcp-helperは、DHCPの要求を上流に伝達する役割を果たす。

sudo apt-get install dhcp-helper 

インストール後、以下の設定を行う。

sudo vi /etc/default/dhcp-helper
# mod H.Y 2022-06-11 変更部分のみ記載
#DHCPHELPER_OPTS="-b eth0"  # 修正前
DHCPHELPER_OPTS="-b wlan0"  # 修正後

Proxy ARPブリッジのインストールと設定

ブリッジを作成するために、Proxy ARPブリッジをインストール。

sudo apt-get install parprouted

起動時に実行させるので、/etc/rc.localに追記するが、次節以降追記するので、ここでは紹介のみ。

ip addr add 192.168.22.102 dev eth0
parprouted wlan0 eth0

/etc/rc.localの設定

/etc/rc.localを修正するが、それぞれ目的を記述するので、全て「exit 0」の前に追記する。

最初のうちは調子良くつながるが、放置すると繋がらなくなるWi-Fiのパワーマネージメントが影響すると考えられたので、パワーマネージメントを切る。

iwconfig wlan0 power off

ipv4フォワーディングを有効にする。

echo 1 > /proc/sys/net/ipv4/ip_forward

Proxy ARPブリッジの設定は、eth0とブリッジの設定。なお、eth0の設定は、/etc/dhcpcd.confにも追記したので不要かも…

ip addr add 192.168.22.102 dev eth0
parprouted wlan0 eth0

以上で設定は終了。

再起動の前に、ケーブルやHUB等の機器を接続する。接続しておかないと、うまく動作しないことがある。

HUB等で接続するPCの設定

念の為に、接続するPCの設定を記述する。ルータのアドレスはWi-Fiのアドレスにする(2022-07-11 修正)。

interface eth0
static ip_address=192.168.22.xxx
static routers=192.168.22.1                   # routerのIP 2022-07-11修正
static domain_name_servers=192.168.22.xxx
static domain_search=
noipv6

おわりに

思ったよりも簡単に無線LANコンバータを作ることができた。

皆さんも活用を。(^^)/

関連ページ