• Save
ほしいプロトコルはトンネルすればいいじゃない at JAWS DAYS 2014 Tech Deep Dive
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

ほしいプロトコルはトンネルすればいいじゃない at JAWS DAYS 2014 Tech Deep Dive

  • 1,038 views
Uploaded on

AWS VPCでも使えるトンネル入門

AWS VPCでも使えるトンネル入門

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
1,038
On Slideshare
866
From Embeds
172
Number of Embeds
13

Actions

Shares
Downloads
0
Comments
0
Likes
5

Embeds 172

http://awssa.blogspot.jp 81
https://openlink.to 50
http://awssa.blogspot.com 23
http://feedly.com 5
http://www.slideee.com 5
http://architect562.rssing.com 1
http://awssa.blogspot.de 1
http://awssa.blogspot.sg 1
http://awssa.blogspot.nl 1
http://awssa.blogspot.tw 1
http://www.barasu.org 1
http://plus.url.google.com 1
https://translate.googleusercontent.com 1

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. ほしいプロトコルは カプセルすればいいじゃない ARAKI Yasuhiro (ar1@) JAWS DAYS 2014
  • 2. ⾃自⼰己紹介 !   名前 •  荒⽊木  靖宏(twitter:  ar1) !   肩書 •  JAWS-‐‑‒UG→AWSへ •  プリンシパルソリューション アーキテクト !   好きなAWSサービス •  Amazon  Virtual  Private   Cloud •  AWS  Direct  Connect
  • 3. IPv6 Multicast & More!
  • 4. 方式! 対象! オーバー ヘッド! IP-in- IP! IP! 20バイト! 20バイトのヘッダ付与! GRE! IP,AppleT alk,Multic ast等! 24バイト! 20バイトのヘッダ+4バイトの GREヘッダ! TUN! IP,AppleT alk,Multic ast等! 小! ネットワーク層を模擬! TAP! イーサ ネット! 大! イーサネットデバイスを模擬! IPsec! IP(tunnel mode)! 54〜78! バイト! 暗号化コストのほうが。。! ESP-3DES/DES ESP-SHA1/MD5 54バイト! ESP-AES ESP-SHA512 78バイト!
  • 5. 2001:db8::/32 ボーダールータ 6rd client 192.168.1.1 6rd  (IP-‐‑‒in-‐‑‒IP)によるIPv6 IPv4IPv6 IPv6 2001:db8:c048:101::/64 2001:db8:c048:101::1234/64 16進表記での 192.168.1.1
  • 6. IPv6の⼿手順 !   VPCを作り、VPC⽤用のEIPを取得 !   IPv6トンネル先を登録 •  https://tunnelbroker.net/  あたりがおすすめ(無料料) •  EIPを⼊入れるとエンドポイントが作られる !   エンドポイント情報を⼊入⼿手 •  Server  IPv4  Address •  Client  IPv6  Address !   Server  IPv4  Addressへ !   Protocol番号41をServer  IPv4  Addressへ通す !   あとはEC2からトンネルを作る !   Route53で登録
  • 7. IPv6 Internet IPv4 Internet 6rd tunnel Protocol: 41 6rd server 6rd client ⼿手順全体図 tunnelbroker.net (he.net)
  • 8. Security  Groupの設定 Server IPv4 Address
  • 9. Vyattaからトンネルを作る configure edit  interfaces  tunnel  tun0 set  encapsulation  sit set  local-‐‑‒ip  EC2のプライベートアドレス set  remote-‐‑‒ip  Server  IPv4  Address set  address  Client  IPv6  Address set  description  "HE.NET  IPv6  Tunnel" exit set  protocols  static  interface-‐‑‒route6  ::/0  next-‐‑‒hop-‐‑‒ interface  tun0 commit Simple Internet Transition (SIT) IPv6をIPv4に乗せるためのもの
  • 10. tyo1.ipv6.he.net東京 バージニア ash1.ipv6.he.net
  • 11. ⽶米国東海岸ー東京リージョン間  1    ar1-‐‑‒2.tunnel.tserv13.ash1.ipv6.he.net  (2001:470:7:b23::1)    4.608  ms    7.050   ms    9.707  ms  2    gige-‐‑‒g4-‐‑‒12.core1.ash1.he.net  (2001:470:0:90::1)    16.986  ms    16.954  ms     16.916  ms  3    10gigabitethernet1-‐‑‒2.core1.atl1.he.net  (2001:470:0:1b5::2)    22.150  ms     22.117  ms    22.078  ms  4    10gigabitethernet3-‐‑‒2.core1.dal1.he.net  (2001:470:0:1b6::1)    42.314  ms     42.283  ms    42.246  ms  5    10gigabitethernet2-‐‑‒4.core1.phx2.he.net  (2001:470:0:258::1)    69.700  ms     69.670  ms    69.637  ms  6    10gigabitethernet15-‐‑‒6.core1.lax2.he.net  (2001:470:0:24a::2)    73.184  ms     67.488  ms    66.650  ms  7    10gigabitethernet3-‐‑‒2.core1.tyo1.he.net  (2001:470:0:294::2)    162.600  ms     162.120  ms    162.333  ms  8    tserv1.tyo1.he.net  (2001:470:0:118::2)    163.306  ms    163.431  ms    162.635   ms  9    ar1-‐‑‒1-‐‑‒pt.tunnel.tserv22.tyo1.ipv6.he.net  (2001:470:23:12e::2)    166.556  ms     165.961  ms    166.215  ms
  • 12. GRE
  • 13. GRE:Generic  Routing  Encapsulation !  GREは名前の通りの汎⽤用カプセル⼿手法 !  IP以外 •  IPX •  AppleTalk •  DECNet !  もちろんIPも •  Multicast •  Broadcast •  IPv6
  • 14. GREでMulticastの⼿手順 !   VPCを作る !   インスタンス起動 •  Protocol番号47(GRE)はお互い通信可能に設定 !   カーネルパラメータを設定 •  ICMP、IGMPに答える⽤用に設定 •  IP転送設定 •  経路路⾮非対称を有効化 !   GREトンネルを設定 •  169.254.x.yを使うことに !   マルチキャストアドレスに経路路設定 ! pimdを起動 インスタンス内設定 スクリプトは後述
  • 15. ⼿手順全体図 /dev/tun0 169.254.0.1 /dev/tun0 169.254.0.2 /dev/eth0 10.3.8.118 /dev/eth0 10.3.8.119 10.3.8.x PIMD PIMD Multicast Enable (224.0.0.0/4)
  • 16. インスタンス内設定スクリプト(例例) auto  tun0 iface  tun0  inet  static              address  169.254.0.1              netmask  255.255.255.0              broadcast  169.254.0.255              up  ifconfig  tun0  multicast              pre-‐‑‒up  ip  tunnel  add  tun0  mode  gre  remote  10.3.8.119  local   10.3.8.118  ttl  255              pre-‐‑‒up  echo  0  >  /proc/sys/net/ipv4/icmp_̲echo_̲ignore_̲broadcasts              pre-‐‑‒up  echo  1  >  /proc/sys/net/ipv4/ip_̲forward              pre-‐‑‒up  echo  0  >  /proc/sys/net/ipv4/conf/all/rp_̲filter              up  ip  route  add  224.0.0.0/4  dev  tun0              up  /etc/init.d/pimd  restart              pointopoint  169.254.0.2              post-‐‑‒down  iptunnel  del  tun0
  • 17. Multicastの疎通を試す root@ip-‐‑‒10-‐‑‒3-‐‑‒8-‐‑‒119:/etc/network/interfaces.d#  ping  224.0.0.1 PING  224.0.0.1  (224.0.0.1)  56(84)  bytes  of  data. 64  bytes  from  169.254.0.2:  icmp_̲seq=1  ttl=64  time=0.035  ms 64  bytes  from  169.254.0.1:  icmp_̲seq=1  ttl=64  time=0.557  ms  (DUP!) 64  bytes  from  169.254.0.2:  icmp_̲seq=2  ttl=64  time=0.033  ms 64  bytes  from  169.254.0.1:  icmp_̲seq=2  ttl=64  time=0.512  ms  (DUP!)
  • 18. TAP
  • 19. TAP:simulates  a  link  layer  device !  network  tap  から  TAPと命名 !  イーサネットデバイスをシミュレート •  デバイスで使えるプロトコルに制限なし !  様々な利利⽤用実績 •  OpenVPN •  VTun •  tinc •  …
  • 20. TAPでMulticastの⼿手順  w/  OpenVPN !   VPCを作る !   サーバインスタンス起動 •  ブリッジを作成 •  OpenVPNサーバをTAPモードで動作 •  ip  route  add  224.0.0.0/4  dev  br0 !   クライアントインスタンスを起動 •  OpenVPNクライアントでサーバに接続。同時にTAP作成。 •  ip  route  add  224.0.0.0/4  dev  tap0 ! pimd  start
  • 21. ⼿手順全体図 /dev/tap0 10.8.0.50 /dev/eth0 10.3.8.118 /dev/eth0 10.3.8.119 10.3.8.x PIMD PIMD Multicast Enable (224.0.0.0/4) Open VPN Open VPN /dev/tap0 /dev/br0 10.8.0.4
  • 22. Multicastの疎通を試す root@ip-‐‑‒10-‐‑‒3-‐‑‒8-‐‑‒118:/etc/openvpn#  ping  224.0.0.1 PING  224.0.0.1  (224.0.0.1)  56(84)  bytes  of  data. 64  bytes  from  10.8.0.50:  icmp_̲seq=1  ttl=64  time=0.041  ms 64  bytes  from  10.8.0.4:  icmp_̲seq=1  ttl=64  time=0.870  ms  (DUP!) 64  bytes  from  10.8.0.50:  icmp_̲seq=2  ttl=64  time=0.062  ms 64  bytes  from  10.8.0.4:  icmp_̲seq=2  ttl=64  time=0.834  ms  (DUP!)
  • 23. 参考 !   Tunnels,  Reference  Guide,  Vyatta  System