LoginSignup
4
2

More than 3 years have passed since last update.

NanoPIをRouterにする

Last updated at Posted at 2018-08-26

摘要

在进行Linux SBC应用程序开发(如NanoPI,RPi)时连接到Internet并不罕见。 (真的吗)
在这种情况下,如果智能手机以USB网络共享模式连接,设备可以轻松地发布到互联网,但是从这个设备,通过有线局域网连接的设备可以访问NanoPI,但可以发布到互联网没有。
在这里,我将向您展示如何配置NanoPI,以便连接到LAN的设备也可以发送到Internet。

はじめに

NanoPI, RPiといったLinux SBCの応用開発を行う際にInternetに接続されてないことはよくあることです。(ほんとかな)
こうした場合、スマホをUSBテザリングモードにして接続すれば、当該機器は簡単にインターネットに出られるのですが、この機器から、有線LANで繋がった機器はNanoPIにはアクセスできるものの、インターネットには出られません。
ここでは、NanoPIを設定して、LANに接続した機器もインターネットに出られるようにする方法を紹介します。

DNSをたてる

いきなりちょっとそれますが、NanoPI上でdeadwoodを動かす に従い自前のDNSを立てましょう。NanoPI1台ならスマホのDNSを使うという手もありますが、パフォーマンスが違いますし、LANにつながった機器から参照するとなればなおさらです。

fowardingを有効にする

Linuxのdefaultでは無効になっている、fowardingを有効にします。

/etc/sysctl.conf
# Controls IP packet forwarding
#net.ipv4.ip_forward = 0
net.ipv4.ip_forward = 1

設定を有効化します。

sysctl -p /etc/sysctl.conf

iptablesを操作してMASQUERADEを設定します。

iptables -F
iptables -t nat -F
iptables -t nat -A POSTROUTING -s 192.168.0.0/16 -o usb0 -j MASQUERADE
iptables -A FORWARD -i usb0 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i eth0 -o usb0 -j ACCEPT
iptables-save -c > /etc/iptables.rules

起動時この設定が有効になるようfileを作ります。

/etc/network/if-pre-up.d/iptables_start
#!/bin/sh
/sbin/iptables-restore < /etc/iptables.rules
exit 0

intaerfacesを設定し、default routeがスマホを向くようにします。

/etc/network/interfaces
allow-hotplug eth0
no-auto-down eth0
iface eth0 inet static
address 192.168.254.80
netmask 255.255.255.0
dns-nameservers 127.0.0.1

allow-hotplug usb0
no-auto-down usb0
iface usb0 inet dhcp
post-up route add -net default dev usb0
dns-nameservers 127.0.0.1

rebootで繋がるはずです。

dhcpdをたてる

これでインターネットにはつながりましたが、LANにつながった機器からインターネットに出るのは容易ではありません。default routeを向け、dns-serversを指定しなくてななりません。開発中は接続も頻繁に変わるのでいっそ、dhcpdをたてて、全自動化してしまいましょう。NanoPIにUdhcpdをたてる に別記事を書きました。

結論

二つ以上のインターフェースがあれば設定次第でRouter化することができるが、その操作は意外と面倒で難しい。

4
2
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
4
2