LoginSignup
1
5

More than 5 years have passed since last update.

ラズパイとWN-G300UAとOpenWrtを、しなやかに融合させてみた(ブリッジモード編)

Last updated at Posted at 2018-11-03

はじめに

ルータを高機能化するカスタム・ファームウェアにOpenWrtdd-wrt等がありますが、導入にあたって最初の難関はファームウェアを流し込むことです。私自身、失敗で何度も苦い経験をしています。
そこでSDカードが使えて入手が容易なラズパイと、アンテナ型Wi-Fi子機を使い、OpenWrtを「ブリッジモード」で使えるようにしてみました。

主役たち

参考

パソコンでOpenWrtのファームウェアをダウンロード、解凍し、SDカードへ書き込みます。

下記はUbuntu 18.04.1での実行例です。

$ wget https://archive.openwrt.org/releases/18.06.1/targets/brcm2708/bcm2708/openwrt-18.06.1-brcm2708-bcm2708-rpi-ext4-factory.img.gz
$ gzip -d openwrt-18.06.1-brcm2708-bcm2708-rpi-ext4-factory.img.gz
$ sudo dd if=openwrt-18.06.1-brcm2708-bcm2708-rpi-ext4-factory.img of=/dev/sdb bs=1M

rootパーティションを拡張します。

ラズパイにOpenWrtを書き込んだ後、rootパーティションを拡張する方法

ラズパイのパスワードを設定します。

OpenWrtの初期IPアドレスは192.168.1.1です。
ラズパイにSDカードを挿入します。ラズパイとパソコンをLANケーブルで直結し電源を入れます。パソコン側のLANアドレスをDHCPにしておけば、そのままsshでコンソール接続できます。
rootのパスワードは何も設定されていないので、お好みに変更します。

$ ssh root@192.168.1.1

root@OpenWrt:~# passwd
Changing password for root
New password: 
Retype password: 
passwd: password for root changed by root

ラズパイのLANポートの設定をします。

OpenWrtをブリッジモードで設定します。
ラズパイのLANポートのIPアドレスを192.168.3.2にします。
既にインターネットに接続されているルータ192.168.3.1があることが前提条件です。デフォルト・ゲートウェイやDNSサーバは192.168.3.1になります。

root@OpenWrt:~# cp -p /etc/config/network /etc/config/network.org
root@OpenWrt:~# vi /etc/config/network

(変更前)

/etc/config/network
config interface 'lan'
        option type 'bridge'
        option ifname 'eth0'
        option proto 'static'
        option ipaddr '192.168.1.1'
        option netmask '255.255.255.0'
        option ip6assign '60'

(変更後)

/etc/config/network
config interface 'lan'
        option type 'bridge'
        option ifname 'eth0'
        option proto 'static'
#       option ipaddr '192.168.1.1'
        option ipaddr '192.168.3.2'   
        option netmask '255.255.255.0'
        option gateway '192.168.3.1'
        option dns '192.168.3.1'
#        option ip6assign '60'

設定が終わったら一度ラズパイの電源を落とします。

root@OpenWrt:~# halt

アンテナ型Wi-Fi子機WN-G300UAの設定をします。

ルータ192.168.3.1とラズパイ192.168.3.2をLANケーブルで繋げます。
sshでラズパイへコンソール接続します。

$ ssh root@192.168.3.2
root@192.168.3.2's password:

WN-G300UAのドライバをインストールし、再起動します。

root@OpenWrt:~# opkg update
root@OpenWrt:~# opkg install kmod-rtl8192cu
root@OpenWrt:~# reboot

WN-G300UAのドライバを認識しているか確認します。

$ ssh root@192.168.3.2
root@192.168.3.2's password:

root@OpenWrt:~# dmesg | grep rtl8192cu
[    7.513146] rtl8192cu: Chip version 0x11
[    7.659574] rtl8192cu: Board Type 0
[    7.675383] rtl8192cu: Loading firmware rtlwifi/rtl8192cufw_TMSC.bin
[    7.687639] usbcore: registered new interface driver rtl8192cu

Wi-Fiの設定をします。

Wi-Fiをアクティブにし、認証パスワード等を設定します。

root@OpenWrt:~# cp -p /etc/config/wireless /etc/config/wireless.org
root@OpenWrt:~# vi /etc/config/wireless

(変更前)

/etc/config/wireless
config wifi-device 'radio0'
        option type 'mac80211'
        option channel '11'
        option hwmode '11g'
        option path 'platform/soc/20980000.usb/usb1/1-1/1-1.2/1-1.2:1.0'
        option htmode 'HT20'
        option disabled '1'

config wifi-iface 'default_radio0'
        option device 'radio0'
        option network 'lan'
        option mode 'ap'
        option ssid 'OpenWrt'
        option encryption 'none'

(変更後)

/etc/config/wireless
config wifi-device 'radio0'
        option type 'mac80211'
        option channel '11'
        option hwmode '11g'
        option path 'platform/soc/20980000.usb/usb1/1-1/1-1.2/1-1.2:1.0'
        option htmode 'HT20'
#        option disabled '1'
        option disabled '0'

config wifi-iface 'default_radio0'
        option device 'radio0'
        option network 'lan'
        option mode 'ap'
        option ssid 'OpenWrt'
#        option encryption 'none'
        option channel 'auto'
        option txpower '10'
        option country 'JP'
        option encryption 'psk-mixed'
        option key 'PASSWORD'

再起動します。

root@OpenWrt:~# reboot

wlan0が出てるか確認します。

$ ssh root@192.168.3.2
root@192.168.3.2's password:

root@OpenWrt:~# ifconfig
br-lan    Link encap:Ethernet  HWaddr B8:27:EB:3F:33:23  
          inet addr:192.168.3.2  Bcast:192.168.3.255  Mask:255.255.255.0
          inet6 addr: fe80::ba27:ebff:fe3f:3323/64 Scope:Link
          inet6 addr: fd4c:e901:b36e::1/60 Scope:Global
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:171 errors:0 dropped:0 overruns:0 frame:0
          TX packets:169 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:17093 (16.6 KiB)  TX bytes:42675 (41.6 KiB)

eth0      Link encap:Ethernet  HWaddr B8:27:EB:3F:33:23  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:177 errors:0 dropped:0 overruns:0 frame:0
          TX packets:166 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:17369 (16.9 KiB)  TX bytes:44213 (43.1 KiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:32 errors:0 dropped:0 overruns:0 frame:0
          TX packets:32 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1 
          RX bytes:2688 (2.6 KiB)  TX bytes:2688 (2.6 KiB)

wlan0     Link encap:Ethernet  HWaddr 34:76:C5:8E:D6:67  
          inet6 addr: fe80::3676:c5ff:fe8e:d667/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:10 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:1230 (1.2 KiB)

DHCPサーバとファイアウォールを無効にします。

root@OpenWrt:~# /etc/init.d/dnsmasq disable
root@OpenWrt:~# /etc/init.d/dnsmasq stop
root@OpenWrt:~# /etc/init.d/odhcpd disable
root@OpenWrt:~# /etc/init.d/odhcpd stop
root@OpenWrt:~# /etc/init.d/firewall disable
root@OpenWrt:~# /etc/init.d/firewall stop

再起動します。

root@OpenWrt:~# reboot

さいごに

以上でブリッジモードとして最低限の設定が終わりました。後はお好みでチューニングを楽しんでくださいね。
ちなみに私のおすすめルータはGL-AR150 - GL.iNetです。OpenWrt, dd-wrtどちらも使えて価格も安いです。

1
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
5