Wen Temitim and Christopher Papandreou NANOG 58, June 2013



Similar documents
Border Gateway Protocol Best Practices

How To Understand and Configure Your Network for IntraVUE

Tutorial: Options for Blackhole and Discard Routing. Joseph M. Soricelli Wayne Gustavus NANOG 32, Reston, Virginia

Configuring the Fabric Interconnects

Cisco - Configure the 1721 Router for VLANs Using a Switch Module (WIC-4ESW)

Configuring Static and Dynamic NAT Translation

Datacenter Rack Switch Redundancy Models Server Access Ethernet Switch Connectivity Options

ICS 351: Today's plan

Topic 7 DHCP and NAT. Networking BAsics.

Chapter 3 LAN Configuration

ASA/PIX: Load balancing between two ISP - options

Virtual PortChannels: Building Networks without Spanning Tree Protocol

GregSowell.com. Mikrotik Basics

RESILIENT NETWORK DESIGN

CCT vs. CCENT Skill Set Comparison

Internet Protocol version 4 Part I

Simple Multihoming. ISP/IXP Workshops

How To Block On A Network With A Group Control On A Router On A Linux Box On A Pc Or Ip Access Group On A Pnet 2 On A 2G Router On An Ip Access-Group On A Ip Ip-Control On A Net

: Interconnecting Cisco Networking Devices Part 1 v2.0 (ICND1)

Redundancy and load balancing at L3 in Local Area Networks. Fulvio Risso Politecnico di Torino

Internet Control Protocols Reading: Chapter 3

Cisco Certified Network Associate Exam. Operation of IP Data Networks. LAN Switching Technologies. IP addressing (IPv4 / IPv6)

Layer 3 Routing User s Manual

Cisco Networking Academy CCNP Multilayer Switching

VRRPv3: Object Tracking Integration

LAB THREE STATIC ROUTING

CCNA R&S: Introduction to Networks. Chapter 5: Ethernet

Address Scheme Planning for an ISP backbone Network

Redundancy and load balancing at L3 in Local Area Networks. Fulvio Risso Politecnico di Torino

Simple Multihoming. ISP Workshops. Last updated 30 th March 2015

Using Cisco UC320W with Windows Small Business Server

Configuring Denial of Service Protection

LAB II: Securing The Data Path and Routing Infrastructure

Interconnecting Cisco Networking Devices Part 2

How To Import Ipv4 From Global To Global On Cisco Vrf.Net (Vf) On A Vf-Net (Virtual Private Network) On Ipv2 (Vfs) On An Ipv3 (Vv

IP Address: the per-network unique identifier used to find you on a network

Computer Networks I Laboratory Exercise 1

Configuring Network Address Translation

Configuring DHCP Snooping

LAN TCP/IP and DHCP Setup

Chapter 13 Internet Protocol (IP)

IP Addressing and Subnetting. 2002, Cisco Systems, Inc. All rights reserved.

IPv6.marceln.org.

Catalyst Layer 3 Switch for Wake On LAN Support Across VLANs Configuration Example

Description: Objective: Upon completing this course, the learner will be able to meet these overall objectives:

IPV6 FOR INTERNET SERVICE PROVIDERS STATE/LESSONS/STILL TO COME

Configuring Network Address Translation (NAT)

Efficient Addressing. Outline. Addressing Subnetting Supernetting CS 640 1

Top-Down Network Design

COURSE AGENDA. Lessons - CCNA. CCNA & CCNP - Online Course Agenda. Lesson 1: Internetworking. Lesson 2: Fundamentals of Networking

Chapter 10 Troubleshooting

Expert Reference Series of White Papers. The Basics of Configuring and Using Cisco Network Address Translation

Procedure: You can find the problem sheet on Drive D: of the lab PCs. 1. IP address for this host computer 2. Subnet mask 3. Default gateway address

: Interconnecting Cisco Networking Devices Part 2 v1.1

Developing an IPv6 Addressing Plan Guidelines, Rules, Best Practice

M2M Series Routers. Virtual Router Redundancy Protocol (VRRP) Configuration Whitepaper

CCNP SWITCH: Implementing High Availability and Redundancy in a Campus Network

vsphere Networking ESXi 5.0 vcenter Server 5.0 EN

IP Routing Features. Contents

Optimum Business SIP Trunk Set-up Guide

Network Protocol Configuration

Redundancy and load balancing at L3 in Local. Fulvio Risso Politecnico di Torino

hp ProLiant network adapter teaming

PIX/ASA: Allow Remote Desktop Protocol Connection through the Security Appliance Configuration Example

Computer Networks Administration Help Manual Sana Saadaoui Jemai Oliver Wellnitz

Note: This case study utilizes Packet Tracer. Please see the Chapter 5 Packet Tracer file located in Supplemental Materials.

The benefits of BGP for every service provider

Implementing L2 at the Data Center Access Layer on Juniper Networks Infrastructure

You can probably work with decimal. binary numbers needed by the. Working with binary numbers is time- consuming & error-prone.

Layer 3 Redundancy with HSRP By Sunset Learning Instructor Andrew Stibbards

Transitioning to BGP. ISP Workshops. Last updated 24 April 2013

Application Note Startup Tool - Getting Started Guide

ICND IOS CLI Study Guide (CCENT)

Configuring the Transparent or Routed Firewall

Course Contents CCNP (CISco certified network professional)

Course Overview: Learn the essential skills needed to set up, configure, support, and troubleshoot your TCP/IP-based network.

CS 348: Computer Networks. - IP addressing; 21 st Aug Instructor: Sridhar Iyer IIT Bombay

Configuration Guide for RFMS 3.0 Initial Configuration. WiNG 5 How-To Guide. Firewall. June 2011 Revision 1.0

Barracuda Link Balancer

iseries TCP/IP routing and workload balancing

Supporting Multiple Firewalled Subnets on SonicOS Enhanced

Troubleshooting the Firewall Services Module

- IPv4 Addressing and Subnetting -

A Dell Technical White Paper Dell Storage Engineering

VLAN and QinQ Technology White Paper

Troubleshooting Bundles and Load Balancing

ALOHA Load-Balancer. Virtual Appliance quickstart guide. Document version: v1.0. Aloha version concerned: v5.0.x

CCNA Exploration: Accessing the WAN Chapter 7 Case Study

Configuring H.323 over Port Network Address Translation (PNAT) for Avaya IP Endpoints using the Avaya SG200 Security Gateway - Issue 1.

Implementing Firewalls inside the Core Data Center Network

The VRRP Project. (Virtual Router Redundancy Protocol) Design Document

DATA COMMUNICATIONS MANAGEMENT. Gilbert Held INSIDE

Understanding Virtual Router and Virtual Systems

Brocade to Cisco Comparisons

BGP Multihoming Techniques

Subnetting and Network Management Omer F. Rana. Networks and Data Communications 1

> Technical Configuration Guide for Microsoft Network Load Balancing. Ethernet Switch and Ethernet Routing Switch Engineering

TESTING & INTEGRATION GROUP SOLUTION GUIDE

Network security includes the detection and prevention of unauthorized access to both the network elements and those devices attached to the network.

FSM73xx GSM73xx GMS72xxR Shared access to the Internet across Multiple routing VLANs using a Prosafe Firewall

Transcription:

IPv4 Address Conservation Method for Hosting Providers Wen Temitim and Christopher Papandreou NANOG 58, June 2013

2 The Issue When allocating subnets for servers in a hosting environment, an IP is bound to a router and the process consumes 3 IP addresses out of the subnet for assignment on the router (Network, Broadcast and Gateway). If one or two servers are assigned to this subnet the most common address allocation for this subnet is a /29.

3 The Issue cont d This is a small subnet size but for a subnet that has just two servers 6 IP addresses are wasted to allow connectivity. This may not seem like a lot but if this same scenario is multiplied across thousands of subnets across different routers it is a very inefficient waste of IP space. In markets like APAC and Europe where APNIC s and RIPE s maximum allocation size is a /22 this eats into IP space very quickly.

4 The Issue, Illustrated Network Backbone Internet Access Edge Router Default GW: 203.0.113.9 Default GW: 203.0.113.17 Customer A 203.0.113.8/29 Customer B 203.0.113.16/29 Many Other Customers Server A1 203.0.113.10 Server A2 203.0.113.11 Server B1 203.0.113.18 Server B2 203.0.113.19 6 Public IPs wasted unavailable for customer use: 203.0.113.8, 203.0.113.9, 203.0.113.15 IPs not in use: 203.0.113.12, 203.0.113.13, 203.0.113.14 6 Public IPs wasted unavailable for customer use: 203.0.113.16, 203.0.113.17, 203.0.113.23 IPs not in use: 203.0.113.20, 203.0.113.21, 203.0.113.22

5 The Issue cont d What happens when the customer that has two servers grows to have 6 servers? An additional subnet has to be allocated for these servers and if this growth was months after the initial allocation the next contiguous block may not be available to convert the /29 into a /28.

6 The Issue cont d, Illustrated Network Backbone Internet Access Edge Router Default GW #1: 203.0.113.9 Default GW #2: 198.51.100.65 Default GW: 203.0.113.17 Customer A 203.0.113.8/29 Customer B 203.0.113.16/29 Many Other Customers Server A1 203.0.113.10 Server A2 203.0.113.11 Server A3 203.0.113.12 Server B1 203.0.113.18 Server B2 203.0.113.19 Server A4 Server A5 Server A6 203.0.113.13 203.0.113.14 198.51.100.66 10 Public IPs wasted unavailable for customer use: 203.0.113.8, 203.0.113.9, 203.0.113.15 198.51.100.64, 198.51.100.65, 198.51.100.71 not in use: 198.51.100.67, 198.51.100.68, 198.51.100.69, 198.51.100.70 6 Public IPs wasted unavailable for customer use: 203.0.113.16, 203.0.113.17, 203.0.113.23 IPs not in use: 203.0.113.20, 203.0.113.21, 203.0.113.22

7 The Issue cont d What about if you have a redundant environment that relies on a FHRP such as HSRP or VRRP? Even more addresses are used to setup connectivity. This may not seem like a big deal now but what happens in X years when you have to go to an IP broker to receive more IPs?

8 The Solution? Move to IPv6?!?! We ve been dual stack for years but you can t force everyone else to move which means our customers will still want IPv4 connectivity so they can reach their customers.

9 Is there a more efficient way? Why does the gateway have to be a publicly routable resource? The only place the gateway IP address is really used is as a link local address for servers to get a MAC address and as the source IP for router to directly connected host communication. The actual forwarding of packets destined for remote networks don t actually reference the IPv4 address.

10 IPv4 link local gateway Why not use a reserved pool of addresses to act as a link local gateway? RFC1918 10.0.0.0/8 172.16.0.0/12 192.168.0.0/16 RFC3927 169.254.0.0/16 RFC6598 100.64.0.0/10 winner!

11 Why not RFC 1918? Published in 1996. You re likely already using some or all of the space for other uses. Potentially confuse Ops staff and customers.

12 Why not RFC 3927? Aren t there IPv4 link local addresses already? Yes there are (RFC3927) and you could use them but if you have systems that are multihomed to different networks you can cause issues. If the second interface is configured as a DHCP client and doesn t receive an IP address the OS will configure an IPv4 link local address in the 169.254.0.0/16 range. Your more specific IPv4 link local address should be okay but there is a possibility for issues.

13 Is it ok to use RFC6598 for this? Aren t these blocks reserved for other purposes? Yes they are. However in this scenario they are used for link local connectivity so if configured properly they should not interfere with their other uses on your network. In fact, if your provisioning system will allow it, you can designate a small part of this block for just this purpose, and re-use it on each router.

14 Is it really worth changing? /best movie trailer guy voice Imagine a world where you can no longer receive IP addresses from RIRs If there is still demand for IPv4 addresses from your customers, you will have a few options - Turn them away - Use some sort of NAT gateway (costly and in a hosting environment it will have to be 1:1 NAT since a majority will want 80 and 443 ) - Buy IPs from a broker

15 Cost of IP addresses There has been some recent press about Microsoft purchasing ARIN space from Nortel for $7.5 million which worked out to $11.25/IP (http://www.networkworld.com/community/blog/micro soft-pays-nortel-75-million-ipv4-address ) If all of the RIRs are out of IPs, the price per IP will most likely be much higher, but let s use $11.25/IP for our example.

16 Cost of IP addresses (cont d) Let s say you have a router that has a 1000 SVIs, and each SVI has a primary and secondary address block on it. Each block equates to 3 wasted IPs (Network/Gateway/Broadcast). If you were paying $11.25 per IP, the cost of this overhead would be: - 1000 (SVIs) * 2 (blocks per SVI) * 3 (wasted IPs per SVI) * $11.25 = $67,500.00 If you are a big network and have a large number of routers, this could get very expensive very quickly.

17 So how does it work? There are some rules: Adding one of these subnets will cause unicast RPF to allow traffic sourced from this subnet (you re using urpf right?) so you need to have an ACL that prevents this. Do not advertise the space into your IGP (or at least tag it so it doesn t get exported into the global routing table). The OS needs to be capable of a binding a /32 subnet mask. Most modern OS s support this: Win7 and on, *nix, FreeBSD, etc. (Win2k3 won t allow it through the GUI, but it works through netsh commands). You re router must be able to support static routes to an interface.

18 Initial Configuration Network Backbone Internet Access Edge Router Default GW: 100.64.0.1 Default GW: 100.64.0.5 Customer A 100.64.0.0/30 Customer B 100.64.0.4/30 Many Other Customers Server A1 203.0.113.10 Server A2 203.0.113.11 Server B1 203.0.113.18 Server B2 203.0.113.19 No Public IPs wasted ip route 203.0.113.10 255.255.255.255 <CustAInt> ip route 203.0.113.11 255.255.255.255 <CustAInt> Servers default GW = 100.64.0.1 static via NIC No Public IPs wasted ip route 203.0.113.18 255.255.255.255 <CustBInt> ip route 203.0.113.19 255.255.255.255 <CustBInt> Servers default GW = 100.64.0.5 static via NIC

19 Scaling Illustration Network Backbone Internet Access Edge Router Default GW: 100.64.0.1 Default GW: 100.64.0.5 Customer A 100.64.0.0/30 Customer B 100.64.0.4/30 Many Other Customers Server A1 203.0.113.10 Server A2 203.0.113.11 Server A3 203.0.113.20 Server B1 203.0.113.18 Server B2 203.0.113.19 Server A4 Server A5 Server A6 203.0.113.90 203.0.113.94 198.51.100.66 No Public IPs wasted ip route 203.0.113.10 255.255.255.255 <CustAInt> ip route 203.0.113.11 255.255.255.255 <CustAInt> ip route 203.0.113.20 255.255.255.255 <CustAInt> ip route 203.0.113.90 255.255.255.255 <CustAInt> ip route 203.0.113.94 255.255.255.255 <CustAInt> ip route 198.51.100.66 255.255.255.255 <CustAInt> Servers default GW = 100.64.0.1 static via NIC No Public IPs wasted ip route 203.0.113.18 255.255.255.255 <CustBInt> ip route 203.0.113.19 255.255.255.255 <CustBInt> Servers default GW = 100.64.0.5 static via NIC

20 Configuration Steps 1. Configure your routing policy to prevent the link local gateway from being advertised. 2. Update your outbound ACL. 3. Configure your router interface. 4. Configure your server.

21 Routing policy update! ip prefix-list BGP-DONT-ANNOUNCE seq 10 permit 100.64.0.0/10 le 32! route-map BGP-DONT-ANNOUNCE deny 5 match ip address prefix-list BGP-DONT-ANNOUNCE!

22 Update ACL Your ACL may need to be more specific if you don t have unicast RPF configured. This ACL is very strict, and will not allow you to ping your gateway but ARP will still work. This is so that customers on different interfaces on the same router can t ping each others gateway but it can be modified if it is too strict. ip access-list extended BLOCK_BAD_SUBNETS deny ip any 10.0.0.0 0.255.255.255 deny ip any 172.16.0.0 0.15.255.255 deny ip any 192.168.0.0 0.0.255.255 deny ip any 100.64.0.0 0.63.255.255 deny ip 10.0.0.0 0.255.255.255 any deny ip 172.16.0.0 0.15.255.255 any deny ip 192.168.0.0 0.0.255.255 any deny ip 100.64.0.0 0.63.255.255 any permit ip any any!

23 Router Interface (SVI) interface Vlan111 ip address 100.64.0.1 255.255.255.252 ip access-group BLOCK_BAD_SUBNETS in no ip redirects no ip unreachables ip verify unicast source reachable-via rx! ip route 203.0.113.5 255.255.255.255 Vlan111

24 Router Interface (SVI & HSRP) interface Vlan111 ip address 100.64.0.2 255.255.255.248 ip access-group BLOCK_BAD_SUBNETS in no ip redirects no ip unreachables ip verify unicast source reachable-via rx standby 10 ip 100.64.0.1 standby 10 preempt! ip route 203.0.113.5 255.255.255.255 Vlan111

25 Server Config Centos Example Please note that updates need to be made to /etc/sysconfig/network files for changes to be persistent after a reboot. ifconfig eth0 203.0.113.5 netmask 255.255.255.255 route add -host 100.64.0.1/32 dev eth0 route add default gw 100.64.0.1

26 But Wait...

27 Benefits This will allow you to allocate a single /32 to your customer servers no IP waste You can still allocate a /29 (or larger) and statically route it to the interface and all of the IP addresses will still be usable.

28 Additional Benefits Best practices state that when you add an IP address to a router interface you should block this IP from being reachable at your edge so that DoS attacks can t be targeted at your infrastructure. This can mean maintaining a list of tens of thousands of edge ACL lines or blackhole routes (1 */31 + 1 */32 per subnet) Since you are now using gateway addresses that shouldn t be in the public routing table this should help prevent those types of external attacks. You re on your own for internal attacks.

29 Caveats Even though your router may have a huge FIB you need to validate that it can handle a large number of static routes in its config. If there is a lot of server to server communication this can cause sub-optimal forwarding in your environment since traffic may have to hairpin off the router interface. Softlayer has a separate layer3 backend network so it's not a problem for us. There are also some techniques to allow servers in different subnets but in the same layer2 domain to talk to each other directly but it requires a lot of upkeep by the server admins.

30 Your example was IOS based, JunOS is king in my shop. So currently there isn t a static route to interface option in JunOS. We ve spoken with our Juniper reps and there are open Engineering requests If you know of a way to do this we d love to hear it! If not, bug your Juniper rep for ER# 29720!

31 Other Vendor Support As part of our next generation hardware testing, we ve also tested some gear from Arista and found an interesting feature. Their multi-chassis link aggregation support allows for a unified forwarding plane so there is no need for the active/backup concept in HSRP/VRRP. Their layer 3 redundancy uses a feature called virtual arp. You bind a shared gateway ip between both chassis, but they are both active and respond to arp as the gateway (https://eos.aristanetworks.com/2011/05/active-activerouter-redundancy-l3-anycast-gateway/ ) This allows you to implement the methods described in this presentation, but also allows for an interesting technology refresh option.

32 Technology refresh option This functionality allows for an upgrade path from a single chassis or unified control plane hardware configuration, to redundant hardware using separate control planes without affecting customer IP allocation.

33 Configuration Example Single Chassis SVI Configuration: Interface Vlan3 ip address 203.0.113.1 255.255.255.248! The problem with converting this to HSRP/VRRP is most vendor implementations require that the virtual address be in the same subnet. This means you would have to ask you customer for some IP addresses back so you could bind the subnets on the interface.

34 Configuration Example (cont d) HSRP with Cisco: (config)#int Vlan3 (config-if)#ip add 100.64.0.2 255.255.255.248 (config-if)#standby 1 ip 203.0.113.1 % Warning: address is not within a subnet on this interface (config-if)#end #show standby Vlan3 Vlan3 - Group 1 State is Init (interface down) Virtual IP address is 203.0.113.1 (wrong subnet for this interface) Active virtual MAC address is unknown Local virtual MAC address is 0000.0c07.ac01 (v1 default) The state will never change to active with this misconfiguration. This apparently used to work in previous IOS code, but was fixed in newer code.

35 Configuration Example (cont d) VRRP with JUNOS: # set interfaces xe-0/0/0 unit 0 family inet address 100.64.0.1/24 vrrp-group 1 virtual-address 203.0.113.1 {master}[edit] # show compare [edit interfaces] + xe-0/0/0 { + unit 0 { + family inet { + address 100.64.0.2/29 { + vrrp-group 1 { + virtual-address 203.0.113.1; + } + } + } + } + } {master}[edit] # commit check [edit interfaces xe-0/0/0 unit 0 family inet address 100.64.0.2/29] 'vrrp-group 1' virtual address must share same mask with interface ip error: configuration check-out failed

36 Configuration Example (cont d) Virtual ARP with Arista EOS: Device 1: ip virtual-router mac-address aa:bb:cc:dd:ee:ff interface Vlan3 ip address 100.64.0.2/29 ip virtual-router address 203.0.113.1! ip route 203.0.113.0/29 Vlan3 Device 2: ip virtual-router mac-address aa:bb:cc:dd:ee:ff interface Vlan3 ip address 100.64.0.3/29 ip virtual-router address 203.0.113.1! ip route 203.0.113.0/29 Vlan3

37 Technology Refresh Option We ve discussed this with a couple of different vendors and it couldn t hurt to get additional support from the community, so if it this seems like an interesting option please bring it up to your account team!

38 Questions? Thoughts? Please contact us: wtemitim@softlayer.com chrisp@softlayer.com