Armadilloフォーラム

Armadillo-IoTの無線LANルーター化

saitot

2015年10月19日 16時54分

いつもお世話になります。齋藤と申します。

IoTに内蔵の3GモジュールとWiFiモジュール(awl13)を利用してモバイル無線ルータのような使い方をしたいのですが、可能でしょうか?

現状、microSD上のDebian環境にて
1. eth0=192.168.21.161固定でインターネット接続
2. awl13はAPファーム選択
3. apt-get install isc-dhcp-server でdhcpサーバをインストール
4. タブレットでAP検索にてarmadillo検出、接続にてIPアドレス取得成功
  →192.168.10.102
5. ルーティング・NAT設定
  →iptables -t nat -A POSTROUTING -o eth0 -s 192.168.10.0/24 -j SNAT --to-source 192.168.21.161

以上にて、タブレットからarmadillo経由でインターネット接続の確認はできました。

上記においてeth0とumts0を入れ替えるところで悩んでおります。
使用している3Gのカードはキャンペーンで付属していたSIMです(グローバルIPのつかないタイプと思います)。

解決の方法や関連情報等ございましたら、アドバイス頂きたくよろしくお願い致します。

コメント

> 上記においてeth0とumts0を入れ替えるところで悩んでおります。

routing と nat の設定を eth0 から umts0 に変更するとできるはずです。
どこかで、エラーが出たりしますか?

齋藤です。
ご確認ありがとうございます。

手順5のところで
# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
とした場合、有線LAN経由のルーター動作OKは確認できていて、
# iptables -t nat -A POSTROUTING -o umts0 -j MASQUERADE
とするとインターネットに接続できなくなる状況です。

# echo 1 > /proc/sys/net/ipv4/ip_forward
は設定済みです。

設定の際はターミナル上でエラーなどは出ていませんが、どこかのログを見れば通信のリジェクトなどの情報が確認できるのでしょうか?

> > 上記においてeth0とumts0を入れ替えるところで悩んでおります。
>
> routing と nat の設定を eth0 から umts0 に変更するとできるはずです。
> どこかで、エラーが出たりしますか?
>

> 手順5のところで
> # iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
> とした場合、有線LAN経由のルーター動作OKは確認できていて、
> # iptables -t nat -A POSTROUTING -o umts0 -j MASQUERADE
> とするとインターネットに接続できなくなる状況です。

だとすると、他の設定が影響しているかもしれません。

# iptables -t filter -L -n
# iptables -t nat -L -n
# route -n

のそれぞれの出力を見せてもらえますか?

> 設定の際はターミナル上でエラーなどは出ていませんが、どこかのログを見れば通信のリジェクトなどの情報が確認できるのでしょうか?

iptables のログは、ログモジュールかnetlink logを使う必要があります。
カーネルと iptablesコマンドの両方をビルドする必要があるので、
とりあえず、上記のように table と chain の目視確認からはじめませんか?

新しく購入した「G2」の方で同様の設定を行い確認したところ、有線LAN経由・3G経由どちらでもルーター動作OKになることを確認できました。
正常動作時のフィルタリング関連の値は下記の通りでした。

root@debian:~# iptables -t filter -L -n
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
 
Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
 
Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
root@debian:~#
root@debian:~# iptables -t nat -L -n
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination
 
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
 
Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
 
Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination
MASQUERADE  all  --  0.0.0.0/0            0.0.0.0/0
root@debian:~#
root@debian:~# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         100.85.202.236  0.0.0.0         UG    0      0        0 umts0
100.0.0.0       0.0.0.0         255.0.0.0       U     0      0        0 umts0
192.168.33.0    0.0.0.0         255.255.255.0   U     0      0        0 awlan0
root@debian:~#

3G経由でうまくいかなかった方のArmadilloは今手元に無いので、別途違いを確認してみます。

同様の設定を行ったつもりですが、動かなかった方は余計な設定の残骸等が残っていたのかもしれません。
とりあえず1台正常動作品ができたので比較してみようかと思います。