WiFi経由でスマホ/PCでテレビが見られるテレキングを購入しているのだが、TVアンテナのある部屋と(無線)ルータのある場所が離れている。というわけでテレキングをネットにつなぐために無線LANコンバータが必要だった。OpenWRT系を動かせるルータを持っているはずなんだが、どこかの箱の中で眠っていると思われるが探しだすのが面倒なのでテレキングまでほったらかし状態で何とかしたかった。
今回ラズパイZERO W(以下Pi0w)を買ったのでこれが使えるかなと。本当はWiFiとLAN端子を持つPQI Air Penが目の前にずっと置きっぱなしなんでそっちも使ってみたいところだが、ラズパイは情報が豊富だから理解が深まるかな。それとPQI Air Penじゃ速度でないかも。
とりあえず無線LANコンバータ(ブリッジ接続)の前に、ラズパイからUbuntuPC(以下PC)経由でネットを試してみたので今度は逆にPCからラズパイ経由でネットしてみる。こちらが参考になった。
ip_forwardとIPマスカレードの設定をする。それとルーティングもいじる必要があった。Pi0wとPCはUSBケーブル接続で。
Pi0w側
pi@raspberrypi:~ $ route -n
カーネルIP経路テーブル
受信先サイト ゲートウェイ ネットマスク フラグ Metric Ref 使用数 インタフェース
0.0.0.0 10.42.0.1 0.0.0.0 UG 202 0 0 usb0
0.0.0.0 192.168.0.1 0.0.0.0 UG 303 0 0 wlan0
10.42.0.0 0.0.0.0 255.255.255.0 U 202 0 0 usb0
192.168.0.0 0.0.0.0 255.255.255.0 U 303 0 0 wlan0
pi@raspberrypi:~ $ sudo -i
root@raspberrypi:~# echo 1 > /proc/sys/net/ipv4/ip_forward
root@raspberrypi:~# iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
PC側(WiFiオフ)
ubuntu@UN42:~$ route -n
カーネルIP経路テーブル
受信先サイト ゲートウェイ ネットマスク フラグ Metric Ref 使用数 インタフェース
10.42.0.0 0.0.0.0 255.255.255.0 U 100 0 0 enp0s20u5
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 enp0s20u5
ubuntu@UN42:~$ sudo route add default gw 10.42.0.23 ←ラズパイのusb0のアドレス
これでUbuntuからIIJにPINGしてみると
ubuntu@UN42:~$ ping 202.232.2.164
PING 202.232.2.164 (202.232.2.164) 56(84) bytes of data.
From 10.42.0.23: icmp_seq=2 Redirect Host(New nexthop: 10.42.0.1)
From 10.42.0.23: icmp_seq=3 Redirect Host(New nexthop: 10.42.0.1)
(略)
となり、Pi0w側で10.42.0.1がデフォルトゲートウェイになってる行が邪魔。なので削除する。
root@raspberrypi:~# route del default
root@raspberrypi:~# route -n
カーネルIP経路テーブル
受信先サイト ゲートウェイ ネットマスク フラグ Metric Ref 使用数 インタフェース
0.0.0.0 192.168.0.1 0.0.0.0 UG 303 0 0 wlan0
10.42.0.0 0.0.0.0 255.255.255.0 U 202 0 0 usb0
192.168.0.0 0.0.0.0 255.255.255.0 U 303 0 0 wlan0
これでPINGがインターネット(wlan0)に飛ぶようになった。DNSが設定されてないのでIPアドレスで確認したが、本来の目的じゃないのでこれ以上やらない。
続く
今回ラズパイZERO W(以下Pi0w)を買ったのでこれが使えるかなと。本当はWiFiとLAN端子を持つPQI Air Penが目の前にずっと置きっぱなしなんでそっちも使ってみたいところだが、ラズパイは情報が豊富だから理解が深まるかな。それとPQI Air Penじゃ速度でないかも。
とりあえず無線LANコンバータ(ブリッジ接続)の前に、ラズパイからUbuntuPC(以下PC)経由でネットを試してみたので今度は逆にPCからラズパイ経由でネットしてみる。こちらが参考になった。
ip_forwardとIPマスカレードの設定をする。それとルーティングもいじる必要があった。Pi0wとPCはUSBケーブル接続で。
Pi0w側
pi@raspberrypi:~ $ route -n
カーネルIP経路テーブル
受信先サイト ゲートウェイ ネットマスク フラグ Metric Ref 使用数 インタフェース
0.0.0.0 10.42.0.1 0.0.0.0 UG 202 0 0 usb0
0.0.0.0 192.168.0.1 0.0.0.0 UG 303 0 0 wlan0
10.42.0.0 0.0.0.0 255.255.255.0 U 202 0 0 usb0
192.168.0.0 0.0.0.0 255.255.255.0 U 303 0 0 wlan0
pi@raspberrypi:~ $ sudo -i
root@raspberrypi:~# echo 1 > /proc/sys/net/ipv4/ip_forward
root@raspberrypi:~# iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
PC側(WiFiオフ)
ubuntu@UN42:~$ route -n
カーネルIP経路テーブル
受信先サイト ゲートウェイ ネットマスク フラグ Metric Ref 使用数 インタフェース
10.42.0.0 0.0.0.0 255.255.255.0 U 100 0 0 enp0s20u5
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 enp0s20u5
ubuntu@UN42:~$ sudo route add default gw 10.42.0.23 ←ラズパイのusb0のアドレス
これでUbuntuからIIJにPINGしてみると
ubuntu@UN42:~$ ping 202.232.2.164
PING 202.232.2.164 (202.232.2.164) 56(84) bytes of data.
From 10.42.0.23: icmp_seq=2 Redirect Host(New nexthop: 10.42.0.1)
From 10.42.0.23: icmp_seq=3 Redirect Host(New nexthop: 10.42.0.1)
(略)
となり、Pi0w側で10.42.0.1がデフォルトゲートウェイになってる行が邪魔。なので削除する。
root@raspberrypi:~# route del default
root@raspberrypi:~# route -n
カーネルIP経路テーブル
受信先サイト ゲートウェイ ネットマスク フラグ Metric Ref 使用数 インタフェース
0.0.0.0 192.168.0.1 0.0.0.0 UG 303 0 0 wlan0
10.42.0.0 0.0.0.0 255.255.255.0 U 202 0 0 usb0
192.168.0.0 0.0.0.0 255.255.255.0 U 303 0 0 wlan0
これでPINGがインターネット(wlan0)に飛ぶようになった。DNSが設定されてないのでIPアドレスで確認したが、本来の目的じゃないのでこれ以上やらない。
続く
※コメント投稿者のブログIDはブログ作成者のみに通知されます