Armadillo-IoTをルーターにして、
PC--(LAN)--Armadillo-IoT--(3G)--インターネット
のような構成で、Armadillo-IoT経由で、PCからインターネットにアクセスできることを確認してみました。
1.Armadillo-IoTで3Gでインターネットに接続できることを確認
下記手順においては、Armadillo-IoTで3Gでインターネットに接続できていることを前提としています。
3Gの設定方法については、 Armadillo-IoT ゲートウェイスタンダードモデル製品マニュアル 6.2.5. 3G を参考にしてください。
2.コンフィギュレーションの設定
Armadillo-IoTで、iptablesのMASQUERADEを使って、IPアドレスを変換します。 ただ、iptablesのMASQUERADは、デフォルトのコンフィギュレーションでは有効になっていないので、make menuconfigコマンドでユーザーランドコンフィギュレーションを設定します。(下記★の箇所)
[atde ~]$ cd atmark-dist [atde ~/atmark-dist]$ make menuconfig ----------------------------------------------------------------- Userland Configuration Network Application [*] iptables (略) [*] MASQUERADE //★デフォルトでは空白になっているので、*をつける -----------------------------------------------------------------
3.ビルド
手順4以降で、ビルド済みのromfsに追加するようになっていますので、makeコマンドで、一度ビルドしておきます。
[atde ~/atmark-dist]$ make
4.dnsmasqをインストール
Armadillo-IoT: dnsmasqをインストールするを参考に DNSキャッシュサーバーとDHCPサーバーとして利用できるdnsmasqをインストールします。
なお、上記リンク先で使用している環境は、古いバージョンですが、
今回は、
・Linuxカーネル:linux-3.14-at5
・Atmark Dist:atmark-dist-20151218
・ATDE:atde5-amd64-20151218
で確認しました。
Armadillo-IoT: dnsmasqをインストールするの
依存ライブラリのインストール
dnsmasqのインストール
dnsmasqの起動スクリプトを修正
ユーザーランドイメージの作成
に従って、イメージファイルを作成します。
5.Armadillo-IoTのイメージの更新
手順4で作成した、カーネルとユーザーランドイメージをArmadillo-IoTに書きこんで再起動します。
6.Armadillo-IoTをDHCPサーバーとする
下記の手順にあたり、Armadillo-IoTの有線LAN(インターフェース名: eth0)のIPアドレスは192.168.101.1としておきます。 Armadillo-IoTの/etc/config/interfacesの
iface eth0 inet dhcp
の行を
iface eth0 inet static address 192.168.101.1 netmask 255.255.255.0
に変更して、flatfsd -sでROMに保存します。
Armadillo-IoT: DHCPサーバーとして利用するの
dnsmasqの設定を行う
dnsmasqの起動
iptablesの設定変更
を行います。
備考)当方の確認では、dnsmasq start実行時に
[root@armadillo-iotg (ttymxc1) ~]# /etc/init.d/dnsmasq start Starting DNS forwarder and DHCP server: dnsmasq dnsmasq: failed to bind DHCP server socket: Address already in use failed!
というメッセージが出ましたが、以降の手順では支障がなかったため無視しました。
これにより、LANのIPアドレスの取得の設定をDHCPサーバーから取得するように設定したPCを、
PC--(LAN)--Armaillo-IoT
のように接続すると、
Armadillo-IoTのLANのIPアドレス:192.168.101.1
PCのIPアドレス:192.168.101.xxx
(xxxは、Armadillo-IoTのDHCPサーバーから100から200の間が与えられます。)
となります。
7.Armadillo-IoTをDNSキャッシュサーバーとする
Armadillo-IoT: DNSキャッシュサーバーとして利用する の iptablesの設定変更 を行います。
8.Armadillo-IoTをNATとする
下記のコマンドを実行して、NATの設定を行います。
[root@armadillo-iotg (ttymxc1) ~]# echo 1 > /proc/sys/net/ipv4/ip_forward [root@armadillo-iotg (ttymxc1) ~]# iptables -t nat -A POSTROUTING -o umts0 -j MASQUERADE
9.動作確認
PCのLAN以外通信機能をOFFにして、PCとArmadillo-IoTとLANで接続して、 PCのWebブラウザのURLの欄で、ドメイン名(例えば、www.atmark-techno.com)を指定すると、www.atmark-techno.comのページが見えることを確認しました。