LoginSignup
1
2

More than 5 years have passed since last update.

BeagleBone BlackとHP Chromebook 11 - Part2: インターネットに接続する

Last updated at Posted at 2015-02-15

前回BeagleBone BlackとChromebookをUSB接続できるようになりました。しかしこの状態ではBeableBone Blackからインターネットに接続できません。Chromebookをルーターとして機能させるためにIPフォワードとファイアウォールの設定をします。

Chromebookの設定

BeagleBone Black USB Ethernet definitionsを参考にChromebookの設定をします。

ctrl + alt + tでcrosh > shellを起動します。

crosh> shell

BeagleBone Blackを接続した状態でifconfigを確認します。eth0がBeagleBone BlackからUSB-Ethernet接続するインタフェースで、mlan0がChromebookからインターネットへつながる無線LANのインタフェースです。

$ ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.7.1  netmask 255.255.255.252  broadcast 192.168.7.3
        inet6 fe80::9259:afff:fe58:32d3  prefixlen 64  scopeid 0x20<link>
        ether 90:59:af:58:32:d3  txqueuelen 1000  (Ethernet)
        RX packets 208  bytes 24036 (23.4 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 89  bytes 11263 (10.9 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 0  (Local Loopback)
        RX packets 202  bytes 13036 (12.7 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 202  bytes 13036 (12.7 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

mlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.12  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::d2e7:82ff:feba:ddb7  prefixlen 64  scopeid 0x20<link>
        ether d0:e7:82:ba:dd:b7  txqueuelen 1000  (Ethernet)
        RX packets 2485  bytes 1233319 (1.1 MiB)
        RX errors 0  dropped 24  overruns 0  frame 0
        TX packets 2404  bytes 456542 (445.8 KiB)
        TX errors 4  dropped 0 overruns 0  carrier 0  collisions 0

ChromebookのIPフォワードを有効にします。

$ echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward > /dev/null

iptablesのルールを追加してeth0からmlan0を経由してインターネットへ接続できるようにNATします。

$ sudo iptables -t nat -A POSTROUTING -o mlan0 -j MASQUERADE

mlan0とeth0の間は双方向でフォワードを許可します。

$ sudo iptables -A FORWARD -i mlan0 -o eth0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
$ sudo iptables -A FORWARD -i eth0 -o mlan0 -j ACCEPT

BeagleBone BlackのUbuntu 14.04 (SDカード)

Chromebookから BeagleBone BlackにSSH接続します。

  • username: ubuntu
  • password: temppwd
$ ssh ubuntu@192.168.7.2

usb0インタフェースの設定は以下のように静的に定義しています。

/etc/network/interfaces
...
auto usb0
iface usb0 inet static
    address 192.168.7.2
    netmask 255.255.255.252
    network 192.168.7.0
    gateway 192.168.7.1

ルーティングを確認します。

$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.7.1     0.0.0.0         UG    0      0        0 usb0
192.168.7.0     0.0.0.0         255.255.255.252 U     0      0        0 usb0

デフォルトゲートウェイの設定は正常に読み込まれていますが、表示されない場合は以下のように追加します。

$ sudo route add default gw 192.168.7.1

/etc/resolvconf/resolv.conf.d/baseにGoogleのDNSを追加します。

/etc/resolvconf/resolv.conf.d/base
nameserver 8.8.8.8
nameserver 8.8.4.4

/etc/resolv.confに反映させます。

$ sudo resolvconf -u
$ cat /etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 8.8.8.8
nameserver 8.8.4.4

pingで名前解決とインターネット接続を確認します。

$ ping -c 1 www.yahoo.co.jp
PING www.g.yahoo.co.jp (182.22.70.252) 56(84) bytes of data.
64 bytes from f5.top.vip.ssk.yahoo.co.jp (182.22.70.252): icmp_seq=1 ttl=54 time=9.71 ms

--- www.g.yahoo.co.jp ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 9.718/9.718/9.718/0.000 ms

BeagleBone Blackはバッテリがないので電源を入れたあとはシステムクロックの時間あわせをします。

$ ntpdate -b -s -u pool.ntp.org
1
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
1
2