15

Docker with BGP - OpenDNS

Embed Size (px)

Citation preview

Page 1: Docker with BGP - OpenDNS
Page 2: Docker with BGP - OpenDNS

Project Quadra

- PaaS built on Docker- Python- Run on EC2, OpenStack, Bare Metal

Page 3: Docker with BGP - OpenDNS

Amazon EC2

- VPC- direct connect- extends our internal network- secondary ip address limitations

Page 4: Docker with BGP - OpenDNS

Overlay network

- GRE- MTU issues- EC2 instances with jumbo frame support CC2, C3, R3, CG1, CR1 G2, HS1, HI1, I2, M3

Page 5: Docker with BGP - OpenDNS

GRE configuration#ip tunnel del gre1

ip tunnel add gre1 mode gre remote 67.215.78.24 local 10.70.74.187 ttl 255

ip tunnel add gre1 mode gre remote 10.1.1.1 local 10.70.74.187 ttl 255

ip link set gre1 up

ip addr add 10.71.0.2/30 dev gre1

echo 200 quadranet >> /etc/iproute2/rt_tables

ip rule add from 10.71.1.0/24 table quadranet

ip route add default via 10.71.0.1 dev gre1 table quadranet

Page 6: Docker with BGP - OpenDNS

BGP: Border Gateway Protocol

● dynamic routing protocol● core internet routing protocol● quagga, bird, exabgp

Page 7: Docker with BGP - OpenDNS

Quagga configurationrouter bgp 65535

bgp router-id 10.70.74.187

redistribute kernel

timers bgp 3 20

neighbor 10.71.0.1 remote-as 36692

neighbor 10.71.0.1 prefix-list DOCKER out

neighbor 10.71.0.1 next-hop-self

neighbor 10.71.0.1 route-map anycast-out out

!

ip prefix-list DOCKER seq 5 permit 10.71.1.0/24 le 32

ip prefix-list DOCKER seq 10 deny any

!

route-map anycast-out permit 10

set local-preference 100

set origin igp

Page 8: Docker with BGP - OpenDNS
Page 9: Docker with BGP - OpenDNS
Page 10: Docker with BGP - OpenDNS
Page 11: Docker with BGP - OpenDNS

Docker Networking

- docker0 bridge- veth interfaces- 172.17.0.0/16- iptables nat rules

Page 12: Docker with BGP - OpenDNS

Linux Network Namespaces# Add the address to the containers loopback interfaceip netns exec "${NSPID}" ip addr add "${GUEST_IPADDR}" dev lo

# Add a route to the host's table for the guest's new IPip route add "${GUEST_IPADDR}/32" via "${DOCKER_IPADDR}"

Page 13: Docker with BGP - OpenDNS

DEMO

Page 14: Docker with BGP - OpenDNS

Whats next?

● OSPF?● fully meshed network● automated GRE tunnels● public ip addresses

Page 15: Docker with BGP - OpenDNS

SORRY NO QUESTIONS!!!