ラズベリーパイをWi-Fiブリッジ化する方法|Wi-Fi信号を有線LAN接続に変換する手順
近年はあらゆる機器がWi-Fi対応しているかのように思われますが、実際には無線でインターネットに接続できないデバイスも少なくありません。そんなときに活躍するのがラズベリーパイです。ラズベリーパイを「Wi-Fiブリッジ」として使えば、Wi-Fi信号を有線LAN接続へと変換できます。
例えば、Ethernetポートしか搭載していない古いデスクトップPCを再利用したい場合や、Wi-Fi環境しかない場所で有線接続が必要な場合など、ラズベリーパイを使えば手軽かつ低コストで問題を解決できます。
ラズベリーパイをWi-Fiブリッジとして動作させる
このチュートリアルでは、ラズベリーパイをWi-Fiブリッジに変換する方法を解説します。ラズベリーパイはネットワークに無線(Wi-Fi)で接続し、その信号を有線接続へと変換します。Ethernetケーブル経由で任意のデバイスをラズベリーパイに接続すれば、そのデバイスは即座にネットワークへアクセスできるようになります。
作業を始める前に、ひとつ注意点があります。ラズベリーパイ経由でWi-Fiに接続したデバイスは、ルーターに直接接続した場合と比べて通信速度が低下する可能性が高いという点です。ただし、Ethernet専用デバイスを物理的にルーターへ配線できない状況であれば、ラズベリーパイは手軽・簡単・比較的低コストでそのデバイスをオンラインにできる優れた手段となります。
必要なもの
このチュートリアルを完了するには、以下のものを用意してください。
- Wi-Fiモジュール搭載のラズベリーパイ(Raspberry Pi Zero、3、4)で、Raspberry Pi OSが動作しているもの
- お使いのラズベリーパイに対応した電源ケーブル
- 外付けキーボードと、それをラズベリーパイに接続する手段
- HDMIまたはマイクロHDMIケーブル(ラズベリーパイのモデルにより異なる)
- 外部モニター
- Ethernetケーブル
ラズベリーパイを最新の状態にアップデートする
まだの場合は、外付けキーボードやモニターなどの周辺機器をラズベリーパイに接続し、電源をつなぎます。
作業開始前に、ラズベリーパイが最新の状態であることを確認しましょう。タスクバーの「ターミナル」アイコンをクリックして新しいターミナルを開き、以下のコマンドを実行します。
sudo apt update && sudo apt -y upgrade
ネットワークサービスのセットアップ:dnsmasqのインストール
次に、dnsmasqをインストールします。このパッケージはDNS(ドメインネームシステム)キャッシュ機能とDHCP(Dynamic Host Configuration Protocol)サーバー機能を提供します。これを利用してDNSリクエストを処理することで、ラズベリーパイがEthernet専用デバイス向けのミニルーターとして動作するようになります。
dnsmasqをインストールするには、次のコマンドを実行します。
sudo apt install dnsmasq
イーサネット接続を設定する
続いて、「dhcpcd.conf」ファイルを編集し、eth0インターフェースが静的IPアドレスを使用するように設定します。設定ファイルを開くには、以下のコマンドを実行します。
sudo nano /etc/dhcpcd.conf
「dhcpcd.conf」ファイルがNanoテキストエディタで開きます。ファイルに以下の内容を追加してください。
interface eth0 static ip_address=192.168.220.1/24 static routers=192.168.220.0
Ctrl + Oキーで変更内容を保存し、Ctrl + Xキーで設定ファイルを閉じます。
これらの変更は、dhcpcdサービスを再起動することで反映されます。
sudo service dhcpcd restart
dnsmasq設定ファイルの入れ替え
dnsmasqパッケージにはデフォルトの設定ファイルが付属していますが、DHCPおよびDNSトラフィックの処理方法をdnsmasqに指示するため、独自のカスタム設定に置き換える必要があります。
変更を加える前に、元のdnsmasq.confファイルをリネームして退避させておきましょう。
sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.original
新しい設定ファイルを作成して編集用に開きます。
sudo nano /etc/dnsmasq.conf
Nanoテキストエディタでdnsmasq.confファイルが表示されます。以下の内容を追記してください。
interface=eth0 listen-address=192.168.220.1 bind-interfaces server=8.8.8.8 domain-needed bogus-priv dhcp-range=192.168.220.50,192.168.220.150,12h
Ctrl + Oキーで変更を保存し、Ctrl + Xキーで設定ファイルを閉じます。
IPフォワーディングを有効にする
次に、IPフォワーディングを有効にします。これにより、ラズベリーパイがEthernet接続から受け取ったネットワークパケットをルーターへ転送できるようになります。
IPv4のIPフォワーディングを有効にするには、「sysctl.conf」設定ファイルを編集します。
sudo nano /etc/sysctl.conf
「sysctl.conf」ファイルがNanoテキストエディタで起動します。ファイル内から以下の行を探してください。
#net.ipv4.ip_forward=1
行頭の「#」を削除して、次のようにします。
net.ipv4.ip_forward=1
Ctrl + Oキーで変更を保存し、Ctrl + Xキーで設定ファイルを閉じます。
続いて、新しい「sysctl.conf」設定をすぐに反映させます。
sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
EthernetからWi-Fiへのトラフィック転送を開始する
IPフォワーディングの有効化に成功したら、ファイアウォールを設定して、Ethernetインターフェース(eth0)からWi-Fi接続へのトラフィック転送を行います。この転送設定により、Ethernet経由でラズベリーパイに接続されたすべてのデバイスが、PiのWi-Fi(wlan0)接続を利用できるようになります。
受信したすべてのデータパケットの転送方法をラズベリーパイに指示するルールを追加します。
sudo iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE sudo iptables -A FORWARD -i wlan0 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT sudo iptables -A FORWARD -i eth0 -o wlan0 -j ACCEPT
これらの新しいルールを保存します。
sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"
なお、これらのルールはラズベリーパイが再起動するたびに消去されるため、起動時に自動的に再読み込みされるようにしておく必要があります。
起動時の動作を定義するために、「rc.local」ファイルを編集します。
sudo nano /etc/rc.local
rc.localファイルがNanoテキストエディタで開きます。エディタ内で以下の行を探してください。
exit 0
「exit」行の直上に、以下の1行を追加します。
iptables-restore < /etc/iptables.ipv4.nat
Ctrl + Oキーで変更を保存し、Ctrl + Xキーで設定ファイルを閉じます。
Wi-Fiブリッジをテストする
最後のステップは、dnsmasqサービスの起動です。
sudo service dnsmasq start
これでWi-Fiブリッジをテストする準備が整いました。Ethernetケーブルで任意の有線専用デバイスをラズベリーパイに接続してみてください。ラズベリーパイがそのデバイスにインターネット接続を提供します。
まとめ
今回は、ラズベリーパイのWi-Fi接続をEthernet接続に変換することで、任意の有線デバイスとWi-Fiを共有する方法を学びました。さらに応用すれば、ラズベリーパイをキャプティブポータル付きWi-Fiホットスポットや個人用Webサーバーとして活用することも可能です。この方法が役に立った場合は、ぜひ感想をお聞かせください。
その他にも、自作できるラズベリーパイプロジェクトの記事を多数掲載していますので、ぜひ参考にしてみてください。
-
Raspberry PiにKodiをインストールする方法|RaspbianとLibreELECの2つの手順を解説
Raspberry Piの最も人気のある活用法のひとつが、メディアPCとしての利用です。そして現在、あらゆるOSの中で最高のメディアセンターと評されるのが「Kodi」です。では、Raspberry PiでKodiを動かすにはどうすればよいのでしょうか?実は、その方法はとてもシンプルです。Kodiの導入方法は大きく分けて2つあります。ひとつは、すでにLinuxが動作しているRaspberry PiにKodiを追加インストールする方法。もうひとつは、Kodiを中心に設計されたメディアセンター専用OSをインストールする方法です。どちらの手順でも、手軽にKodi環境を構築して、お気に入りの動画や音楽を
-
古いテレビをスマートテレビ化する5つの方法【デバイスの選び方も解説】
最近販売されているテレビのほとんどはスマートテレビであり、インターネットに接続して、Netflix、Prime Video、Spotify、YouTubeなどのサービスで音楽や動画を楽しめます。しかし、まだ十分に使える古いテレビを持っていて、今すぐ新しいスマートテレビに買い替えるつもりはない——そんな場合、どうすればよいのでしょうか。従来型の「非スマート」なテレビのまま、充実したストリーミングアプリや最新機能から取り残されるしかないのでしょうか。答えはノーです。非スマートテレビをスマートテレビに変える方法は複数あり、しかもあまりお金をかけずに実現できます。まずは、テレビが「スマート」と呼ばれる