heyheytower

日々のメモです。誰かのお役に立てれば幸いです。

Ubuntu16.04 で IPv6 (OCN 光 マンション、NEC AtermWR8700N)

ubuntu_16.04-ipv6
Pic.1 IPv6接続確認

目次

目的

プロバイダのOCN*1のプラン "OCN 光" が IPv6 *2接続に対応したようなので、アパート環境のIPv6対応を行った。

自分のNW環境

自分のPC環境

$ cat /etc/debian_version
stretch/sid
$ uname -a
Linux calc0 4.4.0-112-generic #135-Ubuntu SMP Fri Jan 19 11:48:36 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
$ cat /etc/lsb-release 
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.3 LTS"
$ cat /etc/network/interfaces
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

auto enp0s25
iface enp0s25 inet dhcp

方法

基本的には下記の記事を参考にした。

プロバイダとプランの組み合わせとIPv6利用可能か確認

私は "OCN 光 マンション" を契約しているのですが、

上記を参考に確認したところ、下記のようにIPoE接続を利用できるようであった。

IPv6インターネット接続
接続方式    ご利用可否
IPoE接続  ご利用いただけます

ブロードバンドルーターのIPv6接続対応確認

下記から "AtermWR8700N" でIPv6ブリッジが可能であることを確認した。

ブロードバンドルーターの WEB UI にアクセスし、下記項目から設定を適用した。
基本設計>基本設定>IPv6ブリッジ

Ubuntu16.04 の IPv6設定確認

デフォルトの設定でIPv6が有効であり、DHCP設定だったため特に設定は不要であった。

使用するDNSサーバを変更しておきます。

# IPv6 DNS setting
{
echo "2001:4860:4860::8888"
echo "2001:4860:4860::8844"
} | sudo tee -a /etc/resolvconf/resolv.conf.d/head
sudo service networking restart

DNSサーバのデフォルトも下記のように無事変わったようです。

$ nslookup -query=aaaa google.com
Server:     2001:4860:4860::8888
Address:    2001:4860:4860::8888#53

Non-authoritative answer:
google.com  has AAAA address 2404:6800:4004:81a::200e

Authoritative answers can be found from:

動作確認

Ubuntu16.04 Desktop

IPアドレスについて| OCN から確認した結果は、スクリーンショットのとおり、IPv6IPv4を同時に利用できているようであった。

IPv6アドレスは、Ubuntu上からのifconfig結果の "inet6アドレス 範囲:グローバル" とも一致していた。

スマートフォン "TORQUE(トルク) G03"*4

端末自体は IPv6 に対応しているよう。

ipv6-torque-wifi
Pic.2 IPv6接続確認(スマホでアパートのWi-Fi接続)

しかしながら au(KDDI)回線では、IPv6接続できないようでした。

ipv6-torque-au
Pic.3 IPv6接続確認(スマホau回線接続)

Kindle Fire HD 8 タブレット*5

Fire HD 8 タブレット (Newモデル) 16GB、ブラック

Fire HD 8 タブレット (Newモデル) 16GB、ブラック

IPv6 対応OKでした。

ipv6-kindle-fire-wifi
Pic.4 IPv6接続確認(Kindle FireWi-Fi接続)

Kindle Paperwhite Wi-Fi (第5世代)*6

IPv6 には対応していないようでした。(※2012年の製品)

ipv6-kindle-paperwhite-wifi
Pic.5 IPv6接続確認(Kindle PaperwhiteWi-Fi接続)

まとめ

目的のとおりIPv6対応を行うことができた。

所感

2012/05/21 にアップした本ブログ第一回の記事に対して、ようやく決着がつけられてすっきりしました。

以上

家庭内の情報共有(Slack, Trello, IFTTT, HUBOT, Zaim, MyThings)

目次

目的

家庭内の情報共有を円滑にするために、チャットアプリ・タスク管理アプリ等を導入したことについてまとめたエントリーです。

概要

情報を Slack*1に集約します。

  • ToDo管理はTrelloで自動タスク生成・実行管理(リマインドはHUBOTより実行)
  • 郵便物の配達情報の共有は Gmail->IFTTT->Slack
  • 勤怠情報は Google Calendar に保存しているので Slack への編集時・予定前日の通知
  • 金魚・熱帯魚のご飯やり状況の共有(ご飯あげたら Amazon Dash Button 押下。忘れたらHUBOTよりリマインド)
  • 買い物リスト共有と、定時リマインド
  • お財布情報はZaimで管理しているので、出入金があったら Slack へ通知

方法

ToDo管理

下記ができるプラットフォームとして Trello*2 を選択しました。

  • 定期タスク追加が可能
  • やったかやっていなかチェックできる
  • Slack と連動できる
  • API を公開している (HUBOT と簡単に連携できる。リマインドのために使える仕組みがある)

定期タスク登録は Power-Up > Card Repeater を用いました。

trello_todo
Pic.1 Trello でのToDo管理

Slack 通知には簡単に Trelloアラート*3を使ってます。

未処理タスクのリマインド

Trello の特定のリストのカードで、チェックリストが未完了のものを抜き出し、Slack へ定時投稿します。
下記の "scripts/trello-todo.coffee" が作ったリマインダーです。

trello_todo_remind
Pic.2 Trello でのToDoリマインドの様子

郵便物の配達情報の共有

下記にて Gmail から Slack への転送を実現します。

  1. Gmail にて自動ラベル付与
  2. ラベル付与されたメールを Slack へ転送

Gmail にて自動ラベル付与の設定

下記の運送業者からのメールに対し、自動的にラベル「delivery」が付与されるよう Gmail にて設定を行いました。

Gmail->IFTTT->Slack 転送の設定

配達情報は Gmail に届くので、IFTTT*4にて「If new email in inbox labeled delivery, then post a message to a Slack channel」を作製して、Slack に投稿するように設定しました。

配送状況の通知

下記のサービスをIFFTと連携させて、Slack から配送状況を追えるようにしました。

下記のレシピをテスト運用中です。

  • 「If shipment status changes, then post a message to a Slack channel」
  • 「Add package delivery dates to Google Calendar

Google Calendar 情報の Slack への転送

  1. Slack > アプリを検索する > Google カレンダー から「Slack とカレンダーを連携させる」を選択
  2. Google calendar の特定のカレンダーを、Slack のチャンネルと連動するように設定

設定が完了すると「App管理」の配下から、下記のように設定されていることが確認できます。

勤怠 はカレンダーの更新情報やリマインダーを #予定 へ投稿します

これで Google calendar で "前日に通知" などのリマインダーが予定に設定されていれば、 Slack にも前日にリマインダーが飛ぶようになります。(当然、追加・編集時にも Slack へ投稿されます)

金魚・熱帯魚のご飯やり状況共有

下記の記事を参考に Amazon Dash Button を用いて、簡単に管理します。

ご飯をあげたら Amazon Dash Button を押して、ご飯をあげたことを Slack で共有します。

Slack-feed
Pic.3 Amazon Dash Button を押して Slack へ自動投稿

[defunct]mac-mini setup

Amazon Dash Button 検知のサーバーとして、mac-mini を用いているので下記のようにセットアップを実施しました。 (2018/1/23現在 Raspberry Pi で運用しています。)

// nodebrew
curl -L git.io/nodebrew | perl - setup
touch .bash_profile
echo 'export PATH=$HOME/.nodebrew/current/bin:$PATH' >> ~/.bash_profile
source ~/.bash_profile
// node.js, npm
nodebrew install-binary stable
nodebrew use v8.9.3
// brew
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
// git
brew install git
// dash-button
mkdir dash-button
npm init
npm install node-dash-button --save

"Raspberry Pi2 Model B" setup

省電力化したいため、mac-mini の変わりに Raspberry Pi*5 を用いることにした。

// pcap install
sudo apt install libpcap-dev
// install anyenv
git clone https://github.com/riywo/anyenv ~/.anyenv
echo 'export PATH="$HOME/.anyenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(anyenv init -)"' >> ~/.bashrc
source ~/.bashrc
// dasher clone
mkdir Programs
cd Programs
git clone https://github.com/maddox/dasher.git
cd dasher
// node
ndenv install v8.9.3
ndenv local v8.9.3 
// dasher install
npm install
// For `sudo npm` (ref. http://make.kosakalab.com/make/electronic-work/nodejs_raspi/)
sudo visudo
// edit config.json
vi config/config.json
// running
nohup sudo npm start &

ご飯を忘れていた場合はリマインダーが届くようにする

ボットが時間指定でご飯忘れフラグが立っているかをチェックして、ご飯を与えていなくフラグが立ったままの時にリマインドを行うように HUBOT*6 を作製しました。

後述するレポジトリの下記3つが連動してリマインドを行います。

  • "scripts/*_fish-reset.coffee" (トリガーは Amazon Dash Button の押下で投稿される文章で、フラグを消します)
  • "scripts/*_fish-reminder-1.coffee" (フラグが立っている場合に、ご飯を忘れていると判断しリマインド実行)
  • "scripts/*_fish-reminder-2.coffee" (リセット用で、フラグを立てます。ここでもう一度通知をすることも可能)

下記は参考ページ。

水槽の温度管理の通知

下記の記事で適正水温から外れた時に Twitter へアラートを投げるようにしていたので、「If new tweet by specific user @Aquarino2501, then post a message to a Slack channel」という条件で、Slack に投稿するように設定しました。

買い物リストの共有とリマインド

trello_buy
Pic.4 Trello での買い物リスト管理

下記と Trello Developers を参考に、Trello の "買い物リスト" の "お使い" カードからチェックリスト情報を取得して、未チェックのものを夕方にリマインドするように HUBOT を作製しました。

下記の "scripts/trello-buy.coffee" が作ったリマインダーです。

お財布情報の共有

下記の記事を参考に、Zaim*7 を MyThings*8を連動させています。

zaim+MyThings+slack
Pic.5 Zaim で入出金があった場合の slack への連動

まとめ

目的については、取り急ぎまとめは完了です。

現在試験運用中なので、これから使用感・運用に伴う変更点や追加点など随時更新したいと思います。

以上