Help us understand the problem. What is going on with this article?

Raspberry Pi で ルータつくる

More than 1 year has passed since last update.

「Ubuntu 16.04 でルータつくる」
https://qiita.com/nanbuwks/items/fe8145fc8b989be9d427
上記内容をRaspberry Pi (Raspbian Jessie) でやってみた。

このページには上記記事とは異なったところだけ記します。
なお、これはWi-FiのAPとしては機能させません。Wi-FiのAPとして動かすには、別記事で。
「Raspberry Pi 3 で BUFFALO WI-U2-433DM 動かして無線LANルータにする」
https://qiita.com/nanbuwks/items/cb2f50bbe240a9ee9f09

固定アドレスを割り振る

$ sudo vim /etc/dhcpcd.conf

として、末尾に以下を追記

interface eth0
static ip_address=102.168.42.1/24

isc-dhcp-server

$ sudo /etc/init.d/isc-dhcp-server start
[....] Starting isc-dhcp-server (via systemctl): isc-dhcp-server.serviceJob for isc-dhcp-server.service failed. See 'systemctl status isc-dhcp-server.service' and 'journalctl -xn' for details.
 failed!

となったので、

# grep -v -e ^# -e ^\s*$ /etc/dhcp/dhcpd.conf

としたら

ddns-update-style none;
option domain-name "example.org";
option domain-name-servers ns1.example.org, ns2.example.org;
default-lease-time 600;
max-lease-time 7200;
log-facility local7;

空っぽでした。なので、

ddns-update-style none;
default-lease-time 600;
max-lease-time 7200;
authoritative;
log-facility local7;
subnet 192.168.42.0 netmask 255.255.255.0 {
    range 192.168.42.10 192.168.42.50;
    option broadcast-address 192.168.42.255;
    option routers 192.168.42.1;
    default-lease-time 600;
    max-lease-time 7200;
    option domain-name "local";
    option domain-name-servers 8.8.8.8, 8.8.4.4;
    }

を書き足しました。

iptablesのパラメータ

$ ifconfig
eth0      Link encap:イーサネット  ハードウェアアドレス b8:27:eb:4e:68:13 
          inetアドレス:192.168.42.1 ブロードキャスト:192.168.42.255  マスク:255.255.255.0
          inet6アドレス: fe80::8c27:2c04:1750:9b0c/64 範囲:リンク
          UP BROADCAST RUNNING MULTICAST  MTU:1500  メトリック:1
          RXパケット:261 エラー:0 損失:0 オーバラン:0 フレーム:0
          TXパケット:141 エラー:0 損失:0 オーバラン:0 キャリア:0
      衝突(Collisions):0 TXキュー長:1000 
          RXバイト:16033 (15.6 KiB)  TXバイト:20111 (19.6 KiB)

eth0:1    Link encap:イーサネット  ハードウェアアドレス b8:27:eb:4e:68:13 
          inetアドレス:169.254.12.24 ブロードキャスト:169.254.255.255  マスク:255.255.0.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  メトリック:1

eth1      Link encap:イーサネット  ハードウェアアドレス 98:f1:99:7f:9d:79 
          inetアドレス:192.168.179.3 ブロードキャスト:192.168.179.255  マスク:255.255.255.0
          inet6アドレス: fe80::e3d2:ef35:8418:f30/64 範囲:リンク
          UP BROADCAST RUNNING MULTICAST  MTU:1500  メトリック:1
          RXパケット:136 エラー:0 損失:0 オーバラン:0 フレーム:0
          TXパケット:80 エラー:0 損失:0 オーバラン:0 キャリア:0
      衝突(Collisions):0 TXキュー長:1000 
          RXバイト:27577 (26.9 KiB)  TXバイト:13393 (13.0 KiB)

lo        Link encap:ローカルループバック  
          inetアドレス:127.0.0.1 マスク:255.0.0.0
          inet6アドレス: ::1/128 範囲:ホスト
          UP LOOPBACK RUNNING  MTU:65536  メトリック:1
          RXパケット:200 エラー:0 損失:0 オーバラン:0 フレーム:0
          TXパケット:200 エラー:0 損失:0 オーバラン:0 キャリア:0
      衝突(Collisions):0 TXキュー長:1 
          RXバイト:16656 (16.2 KiB)  TXバイト:16656 (16.2 KiB)

wlan0     Link encap:イーサネット  ハードウェアアドレス b8:27:eb:1b:3d:46 
          inet6アドレス: fe80::87a4:8014:c1d3:46f7/64 範囲:リンク
          UP BROADCAST MULTICAST  MTU:1500  メトリック:1
          RXパケット:0 エラー:0 損失:0 オーバラン:0 フレーム:0
          TXパケット:0 エラー:0 損失:0 オーバラン:0 キャリア:0
      衝突(Collisions):0 TXキュー長:1000 
          RXバイト:0 (0.0 B)  TXバイト:0 (0.0 B)

だったので、

$ sudo iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
$ sudo  iptables -A FORWARD -i eth1 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
$ sudo  iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT

としました。

ハードウェアの対処

outbound側をWiMaxアダプタを接続したのですが、NEC Speed Wi-Fi NEXT WX03がトラブル出まくりました。

  • フリーズする
  • RaspberryPiとのコネクションが切れる
  • RasbperryPiとのコネクションが切れるとその後回復してもisc-dhcp-serverやdnsmasqが動かなくなる
  • WiMax側の電波を掴まなくなる

いつもはWX03用のクレイドルを使っていて、クレイドル使っているときは上記の問題は発生はするものの頻度は少なかったことから、今回の接続に主原因があると考えました。
試しに Rasbperry Pi の USBコネクタの VBus の電圧を測ってみたところ、4.6V程度でした。これが原因かな。

対策として以下の作業をしたところ、かなり軽減した感じです。

  • Rasbperry Pi の USB ポートに電源ブーストの配線を取り付け
  • Raspberry Pi の 5V供給方法をmicroUSB経由からGPIPピン経由に変更
  • WX03のUSBケーブルを太い感じのものに交換
  • WX03のWiFi機能をOFFに
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした