Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

raspi + soracom #pakeana33

1,132 views

Published on

raspi raspberry pi soracom air #pakeana tcpdump wireshark

Published in: Technology
  • Be the first to comment

  • Be the first to like this

raspi + soracom #pakeana33

  1. 1. SORACOM Air で #pakeana したら 分かったこと 2015/10/19 #pakeana @otsuka752 (@twovs)
  2. 2. agenda • 自己紹介 • what s SORACOM? (ソラコム?) • RasPi + SORACOM の準備と接続 • パケットを見たら分かったこと 1. Interface 2. DNS 3. 外部との通信 4. NAPT-Box 5. MTU 6. TCP-MSS
  3. 3. about me • @otsuka752 (@twovs) IHANet AS#64613 • ネコ+奥さん+娘 • 無線LAN 装置の開発(1999-2004) • オンラインゲームのシステム管理者(2004-2015) • クラウドの中の人(2015-) • http://tcpreplay.jp/ やってます
  4. 4. 好きなパケット • ESP • SSL/TLS
  5. 5. what s SORACOM? (ソラコム?)
  6. 6. (続きは Web で…)
  7. 7. 【抜粋】https://blog.soracom.jp/
  8. 8. 【抜粋】https://blog.soracom.jp/
  9. 9. serverSORACOM DoCoMo3G システム概要
  10. 10. 準備 • Raspberry Pi B+ • Rasbpian GNU/Linux 7 • Willcom HX003ZT (3Gモデム) • SORACOM Air SIMカード
  11. 11. 接続 • sudo apt-get update • sudo apt-get install wvdial usb-modeswitch • sudo vi /etc/wvdial.conf • sudo ip route del default • sudo wvdial ※ DefaultGW は家のルータに向けない
  12. 12. パケットを見たら 分かったこと 見なくても
  13. 13. 1. interface • 10.x.y.z (プライベートアドレス) • Point-to-Point Protocol (/32) • peer 10.64.64.64/32 • DefaultGW dev ppp0 (via 192.0.2.1 でない)
  14. 14. 2. DNS • DNS Cacheサーバ : 169.254.0.53 • 「たぶん」unbound 1.4.22 (1.4 系の現時点での最新) • 少なくとも 16台にロードバランス • 全て AWS/EC2
  15. 15. • Cache に乗っていない ${RANDOM} な名前で • 自分管理のドメイン名を問い合わせる • 自分管理の DNSサーバで tcpdump すれば • DNS Cache サーバの SrcIP/台数が分かる
  16. 16. 3. 外部との通信 • AWS の(EC2 の)アドレスに NAPT される • NAPT されて The Internet と通信可 • The Internet から RasPi へは不可 ※ API で速度切替可(32/128/512/2048[kbps])
  17. 17. serverSORACOM 4. NAPT-Box NAPT
  18. 18. NAPT SORACOM server • 外部から NAPT-Box へは通信不可 • 内側からは NAPT されて外部へ • NAPT table がある時は外部からも可(戻りのパケット)
  19. 19. 10.215.173.222:1 10.215.173.222:2 … 10.215.173.222:1024 10.215.173.222:1025 … myserver:9999 myserver:9999 … myserver:9999 myserver:9999 … NAPT tcpdump
  20. 20. • 「基本的には」SrcPort は変換されない • 下記が SrcPort だとサーバにパケットが届かない • 「たぶん」NAPT-Box で使われている • 22, 80, 137, 138, 1900 • >1023 は「少なくとも観測時は」全て届いた 4. NAPT-Box
  21. 21. 10.215.173.222:12345 myserver:9999 NAPT 10.215.173.222:12345 myserver:9999 UDP : 15[sec] TCP : 600[sec] ※ 他機器の timeout 値も要考慮 ※ 例えば AWS/ELB は 60[sec] tcpdump
  22. 22. • NAPT session timeout • UDP は 15[sec] • TCP は 600[sec] • ICMP は…未測定(hping3 bug ってた) 4. NAPT-Box
  23. 23. 5. MTU • MTU = 1464[Byte] • ping -s 1436 の時が最大 • IP(20)+ICMP(8)+Payload(1436)=1464
  24. 24. RasPi から 1436[Byte]指定で ping 送信=OK myserver にも届いている(応答している)
  25. 25. myserver にも届いていない RasPi から 1437[Byte]指定で ping 送信=NG
  26. 26. 5. MTU • MTU = 1464[Byte] • ping -s 1436 指定が最大 • IP(20)+ICMP(8)+Payload(1436)=1464[Byte]
  27. 27. • SORACOM で TCP-MSS を書き換えてる • RasPi から TCP-MSS=1460 で送信しても • 「たぶん」NAPT-Box が 1350 に書き換える • 「たぶん」AWS/VPC と Flet s網を考慮 6. TCP-MSS
  28. 28. NAPT-Box 通過前(RasPi が送信した最初の SYN)
  29. 29. NAPT-Box 通過後(サーバが受信した最初の SYN)
  30. 30. • Flets (1454) < SORACOM(1464)なので • AWS/VPC + Flet s網に最適な MSS にしてる(?) • 参考 http://d.hatena.ne.jp/j3tm0t0/20111108/1320776609 http://jpn.nec.com/univerge/ix/faq/ipsec-ike.html#Q1-8 6. TCP-MSS
  31. 31. ところで…
  32. 32. 中古の 3G モデムが 値上がり中!?
  33. 33. SORACOM 効果?
  34. 34. Willcom XT003ZT
  35. 35. 少し余ってます
  36. 36. 懇親会で 差し上げます!
  37. 37. END

×