nw-jaws 勉強会#2 [lt] あの日したltの内容を僕らはもう覚えていない

20
Copyright © NHN Techorus Corp. あの日したLTの内容を僕らはもう覚えていない

Upload: datahotel

Post on 16-Apr-2017

178 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: NW-JAWS 勉強会#2 [LT] あの日したLTの内容を僕らはもう覚えていない

Copyright © NHN Techorus Corp.

あの日したLTの内容を僕らはもう覚えていない

Page 2: NW-JAWS 勉強会#2 [LT] あの日したLTの内容を僕らはもう覚えていない

Page 2

自己紹介

岩渕 昇

2010年11月 ライブドア(現NHNテコラス)入社

ビジネスコネクト(法人向け閉域 / IP接続)livedoor Wireless(終了)livedoor プロバイダ(終了)CLOUD CONNECT / CAMPUS4ネットワーク設計・構築案件など

主にネットワーク案件を担当

虎ノ門に引越します(2017/5)

Page 3: NW-JAWS 勉強会#2 [LT] あの日したLTの内容を僕らはもう覚えていない

Page 3

オリンピック・サッカー・野球の日本代表戦がはじまると

何故か遅くなる会社のインターネット

PHS?ISDN?いえ、知らない子ですねATMってお金出て来るあれですよね

そんなネットワークエンジニアのみなさん!!

おげんきですか!!

今日もイックニイチロッパって言ってますか!!社長のIPアドレス4オクテット目は1にしてますか!!

ごあいさつ

Page 4: NW-JAWS 勉強会#2 [LT] あの日したLTの内容を僕らはもう覚えていない

Page 4

Previous LT

http://www.slideshare.net/DATAHOTEL/nwjaws-1-lt

Slideshareにおいてあります。

Page 5: NW-JAWS 勉強会#2 [LT] あの日したLTの内容を僕らはもう覚えていない

Page 5

NTT東日本さんの「クラウドゲートウェイアプリパッケージ」※1

をつかって、NGN網内折り返しIPv4 over IPv6 IPsecをしたいの

使用機種はDynamic DNS的ななにかができそうな機能のあるルーター

みんな大好き♥ Yamaha の RTX1210

こいつ・・・動くぞ!(Luaが)

※1 https://flets.com/cloudgateway/applipackage/

ざっくりいうと

Page 6: NW-JAWS 勉強会#2 [LT] あの日したLTの内容を僕らはもう覚えていない

Page 6

進捗Doですか?

Page 7: NW-JAWS 勉強会#2 [LT] あの日したLTの内容を僕らはもう覚えていない

Page 7

NGN網 IPv6アドレスの課題 (おさらい)

プレフィクスが変わる「可能性がある」(変わるとはいっていない)

1111:2222:3333:4444:aaaa:bbbb:cccc:dddd

半固定らしいっす

Page 8: NW-JAWS 勉強会#2 [LT] あの日したLTの内容を僕らはもう覚えていない

Page 8

サブドメインでDNSの委譲ができます[*******].hikaricloud.cast.flets-east.jp

↑ 契約固有の文字列

クラウドゲートウェイアプリパッケージは

Page 9: NW-JAWS 勉強会#2 [LT] あの日したLTの内容を僕らはもう覚えていない

Page 9

ざっくりとした流れ

IPsec設定をFQDNで記載すれば(名前解決できる前提)Route53のレコードを変更できれば再接続される(はず)

つまり万が一にも深夜にプレフィックス変更が起こっても※2障害エスカレーションで叩き起こされることはない(希望的観測)

※2 プレフィックスが変更される場合って、(自主規制)が(自主規制)ってことだから事前に(自主規制)が行われるはず

Page 10: NW-JAWS 勉強会#2 [LT] あの日したLTの内容を僕らはもう覚えていない

Page 10

_人人人人人人_> 言うは易し < ̄Y^Y^Y^Y^Y^Y^ ̄

Page 11: NW-JAWS 勉強会#2 [LT] あの日したLTの内容を僕らはもう覚えていない

Page 11

というわけでテスト構成

IPv4

router1 router2

NGN 網

IPv4

拠点間VPN(v4 over v6 IPsec)

フレッツキャストDNShikaricloud.cast.flets-east.jp

Route53 Private DNS

ns(DNS forwarder)

Zabbix(兼Web)Public Subnet

Private Subnet

Page 12: NW-JAWS 勉強会#2 [LT] あの日したLTの内容を僕らはもう覚えていない

Page 12

こんな感じで(名前解決)

IPv4

router1 router2

NGN 網

IPv4

拠点間VPN(v4 over v6 IPsec)

フレッツキャストDNShikaricloud.cast.flets-east.jp

Route53 Private DNS

ns(DNS forwarder)

Public Subnet

Private Subnet

委譲hogehoge.hikaricloud.cast.flets-east.jp

転送

ルーターのDNS参照先はnsのIPv6アドレス

Zabbix(兼Web)

Page 13: NW-JAWS 勉強会#2 [LT] あの日したLTの内容を僕らはもう覚えていない

Page 13

こんな感じで(Update)

IPv4

router1 router2

NGN 網

IPv4

拠点間VPN(v4 over v6 IPsec)

フレッツキャストDNShikaricloud.cast.flets-east.jp

Route53 Private DNS

ns(DNS forwarder)

Public Subnet

Private Subnet

ルーターのDNS参照先はnsのIPv6アドレス

アドレスに変更があればAAAAレコードを変更する(Route53 API使用)

ルーターが情報を定期的にwebサーバーへPOST(Lua)

Zabbix(兼Web)

Page 14: NW-JAWS 勉強会#2 [LT] あの日したLTの内容を僕らはもう覚えていない

Page 14

ルーター側 変態 Luaスクリプト実装例

req_table = {url = "http://web.********.hikaricloud.cast.flets-east.jp./cgap/hoghoge.php",auth_type ="basic",auth_name = “hogehoge",auth_pass = “****",method = "POST",content_type = "application/x-www-form-urlencoded",post_text = “name=router01&serial=abcdefg&id=00123“,

}

rsp_table = rt.httprequest(req_table)

schedule at 1 (スケジュール時間) * lua usb1:/test.lua

test.lua

ルーターには下記コマンドを投入(ルーター側から定期的に情報を通知する)

ルーターの IPv6 アドレスは $_SERVER[“REMOTE_ADDR”] でとれます。

Page 15: NW-JAWS 勉強会#2 [LT] あの日したLTの内容を僕らはもう覚えていない

Page 15

サーバー側でテストスクリプト

#!/usr/bin/php -q

<?php$headers = getallheaders();$fp = fopen("./log.txt", "a");

foreach ($headers as $key => $val) {fwrite($fp, $key.' : '.$val."¥n");

}

fwrite($fp, $_SERVER[“REMOTE_ADDR”].“¥n”);

$postdata = $_POST;

foreach($postdata as $key => $val) {fwrite($fp, $key.' : '.$val."¥n");

}

fclose($fp);

Page 16: NW-JAWS 勉強会#2 [LT] あの日したLTの内容を僕らはもう覚えていない

Page 16

こんな感じでデータがとれます。

User-Agent : RTX1210/Rev.14.01.09Authorization : Basic ********Content-Type : application/x-www-form-urlencodedContent-Length : 38Connection : closeHost : web.********.hikaricloud.cast.flets-east.jp.Referer : http://web.********.hikaricloud.cast.flets-east.jp./cgap/hogehogephpAccept : */*240b:10:****:****:****:****:****:**** ←RouterのIPv6アドレスname : router1 ←ここからPOSTデータ

serial : abcdefgid : 0012233

Page 17: NW-JAWS 勉強会#2 [LT] あの日したLTの内容を僕らはもう覚えていない

Page 17

あとは

定期的に上がってくるIPv6アドレスをチェックして変更されていたらAPIを使ってRoute53上のIPv6アドレスを変更すればよろし

Page 18: NW-JAWS 勉強会#2 [LT] あの日したLTの内容を僕らはもう覚えていない

Page 18

なんとじつはYamahaさんのサイトには・・・

http://jp.yamaha.com/products/network/solution/lua/script/

しっててやってましたが

Page 19: NW-JAWS 勉強会#2 [LT] あの日したLTの内容を僕らはもう覚えていない

Page 19

課題など

サーバー側の実装の残作業など(例外、ログまわりとか)POSTデータの内容の精査など

YamahaのRTX以外でも動くようにする→ netconf が使える機器かな~

アー キキガナイナーアッ ソウイエバ キョウハ ベンダー ノ カタガタガ キテイマスネ(チラッチラッ

Page 20: NW-JAWS 勉強会#2 [LT] あの日したLTの内容を僕らはもう覚えていない

Page 20

ありがとうございました