Koumbit à l'Arin

Requesting IP allocation from ARIN

We are in the process of looking at resource allocations directly from ARIN. This is a complicated bureaucratic process that involve multiple steps. Bear with us.

Create a ARIN Online account

Those accounts are per person accounts, so no role emails like noc@ and so on here. I (anarcat) created myself an account to recover the RKN OrgID.

Create a POC

https://www.arin.net/resources/request/poc.html with all the details

In short,

See above Koumbit à l'Arin to see the account already linked to Koumbit

Create an OrgID

https://www.arin.net/resources/request/org.html

Example: http://whois.arin.net/rest/org/RKN

(!) I have requested that RKN to be linked with my POC. See 79414

Request IP allocation

https://www.arin.net/resources/request/ipv4_initial_alloc.html https://www.arin.net/resources/request/ipv6_initial_alloc.html

apparently, the first IPv6 allocation is free, so we should probably just go ahead with that too while we're here.

See IPv6 for this too.

Note: there's already: http://whois.arin.net/rest/net/NET-209-44-112-0-1.html http://whois.arin.net/rest/rdns/112.44.209.in-addr.arpa.

Create an ASN

https://www.arin.net/resources/request/asn.html

Changing reverse DNS authority

The ARIN Online site is where you can change your reverse DNS authority ("glue") records. If your IP block was SWIP'd to you (reassigned), then you can make those changes in the "Manage resources" tab of the ARIN Online website.

Verifying the delegation

Lets answer the question? Which dns server has the authority to map the reverse name for an ip (PTR).

We use the nslookup command, then we ask the root dns server, about our ip 199.58.80.0, it's pointing us to another dns server which then ask, then another one... until the last delegation! yes, it's Koumbit!

$ nslookup
> server a.root-servers.net
Default server: a.root-servers.net
Address: 198.41.0.4#53
Default server: a.root-servers.net
Address: 2001:503:ba3e::2:30#53
> 199.58.80.0
Server:         a.root-servers.net
Address:        198.41.0.4#53

Non-authoritative answer:
*** Can't find 0.80.58.199.in-addr.arpa.: No answer

Authoritative answers can be found from:
in-addr.arpa    nameserver = a.in-addr-servers.arpa.
......

> server a.in-addr-servers.arpa.
Default server: a.in-addr-servers.arpa.
Address: 199.212.0.73#53
Default server: a.in-addr-servers.arpa.
Address: 2001:500:13::73#53
> 199.58.80.0
Server:         a.in-addr-servers.arpa.
Address:        199.212.0.73#53

Non-authoritative answer:
*** Can't find 0.80.58.199.in-addr.arpa.: No answer

Authoritative answers can be found from:
199.in-addr.arpa        nameserver = arin.authdns.ripe.net.
....
> server arin.authdns.ripe.net.
Default server: arin.authdns.ripe.net.
Address: 193.0.9.10#53
Default server: arin.authdns.ripe.net.
Address: 2001:67c:e0::10#53
> 199.58.80.0
Server:         arin.authdns.ripe.net.
Address:        193.0.9.10#53

Non-authoritative answer:
*** Can't find 0.80.58.199.in-addr.arpa.: No answer

Authoritative answers can be found from:
80.58.199.in-addr.arpa  nameserver = ns3.koumbit.net.
80.58.199.in-addr.arpa  nameserver = ns1.koumbit.net.
80.58.199.in-addr.arpa  nameserver = ns2.koumbit.net.

Pricing

ASN
500$ initially, 100$/yr unless there is another allocation
IPv4 /21 (8 X /24)
$1,250$/yr
IPv4 /20 or /29 (16 or 32 X /24)
$2,500$/yr
IPv6 /41
$1,250/yr (free for first year, maybe completely free)

See also the detailed fee schedule.

Requirements

Multihomed
An organization is multihomed if it receives full-time connectivity from more than one ISP and has one or more routing prefixes announced by at least two of its upstream ISPs.
Minimal size

We are not currently multi-homed, according to that definition - which means we need to go for the minimal /20. source <!> this isn't so clear this page says that a /22 is available to "organization [that] intend to multi-home using the requested block"

Utilisation deadline

resources need to be used within 90 days source

Monitoring

Comme c'est nos fournisseurs réseaux qui font l'annonce de nos ip, on veut faire la surveillance de l'annonce des ips sur le net. Bgpmon.net fait très bien l'affaire. Voici la configuration pour le moment.

[ATTACH]

Other procedures

Registering a PGP key

https://www.arin.net/CA/

We can use PGP to communicate with ARIN...

Migration vers les nouveaux netblocks 2012

Voir: AllocationIp/ReallocationPlan2012.

IPv6

See also IPv6 and AllocationIp#ARIN_IPv6.

Allocation size

Koumbit has received a netblock from ARIN (a /36). A /48 has 65,536 sub-networks of 18,446,744,073,709,551,616 IP addresses (/64). We are more likely to get a /32 however, which is 65,536 /48 networks, or a /36, which is only 256 /48 networks.

On doit fournir cette information:

Comme Anarcat écrivait dans une LettreDuVendredi:

C'est immense.

Voir aussi:

According to our current IPv4 allocation, we could get, at no extra cost, a /36 allocation. This is what we've requested and received. See AllocationIp#ARIN_IPv6

General allocation plan

Addresses could be allocated in the following way:

À noter aussi que dans la configuration ci-haut, une règle de routage est ajoutée pour chaque /64 assigné à un client ou une machine. Il serait peut-être possible d'éviter ce problème en ayant l'IP du routeur comme un /48 et assigner des /64 au client, mais mettre /48 comme netmask.

Autres politiques à respecter:

RFCs galore

Autres références

Questions en suspend

Plan proposé pour 2602:ff21::/32

Attention! Il y a une erreur dans ce plan d'allocation, parce que la délégation de ARIN est un /36, pas un /32!!

2602::ff21::/32

2602:ff21:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx
          | |    |  |
          | |    |  --------┬---------╯
          | |    |          |
          | |    |       /64 par VM
          | |    |                    
          | |    ╰----------┬---------╯
          | |               |
          | |       /56 par serveur KVM
          | |           - incluant colo? peuvent être /64 (comme chez OVH)
          | |           - si dans un /40, 65k machines par service
          | |           - si dans un /48, 255 machines par service
          | |      (assume max 255 VMs par serveur)
          | |    (et si jamais tech change -> nouveau type de service ou </64 par VM)
          | |
          | |  Ex: 2602:ff21:5000:0100::/56 à 2602:ff21:5000:01ff::/56 = KVM 0
          | |      2602:ff21:5000:0200::/56 à 2602:ff21:5000:02ff::/56 = KVM 1
          | |      2602:ff21:5000:ff00::/56 à 2602:ff21:5000:ffff::/56 = KVM 0xFF
          | |      2602:ff21:50ff:ff00::/56 à 2602:ff21:5000:ffff::/56 = KVM 0xFFFF
          | |
          | ╰-------------------------╯
          |                 |
          |         /40 par type de service (0xff = 255 types de services)
          |
          |   Ex: 2602:ff21:5000::/40 à 2602:ff21:50ff::/40 = VPS service
          |       2602:ff21:5100::/40 à 2602:ff21:51ff::/40 = Colo service
          |       2602:ff21:5200::/40 à 2602:ff21:52ff::/40 = VPN service
          |       2602:ff21:5300::/40 à 2602:ff21:52ff::/40 = ...
          |       2602:ff21:ff00::/40 à 2602:ff21:ffff::/40 = Unicorn service
          |
          ╰---------------------------╯
                            |
                /36 par "point of presence" (POP), 16 POPs

              Ex: 2602:ff21:1000::/36 à 2602:ff21:1fff::/36 = POP 1
              Ex: 2602:ff21:2000::/36 à 2602:ff21:2fff::/36 = POP 2
              Ex: 2602:ff21:f000::/36 à 2602:ff21:ffff::/36 = POP 0xF

RFC 3849 (exemple)

Ceci n'est pas une allocation réelle! Le bloc 2001:0DB8::/32 est seulement un exemple, tiré du RFC 3849.

Nous avons maintenant une allocation IPv6 (voir AllocationIp#ARIN IPv6). Cette allocation est un exemple de comment les choses pourraient être séparées avec IPv6, en admettant qu'on a 2001:0DB8:a000::/36 (16 x /40):

2001:0DB8:a000::/40
pop0: tour - 16 x /44
2001:0DB8:A000::/44
core0
2001:0DB8:A000::/48
core0
2001:0DB8:A000::/64
core0 automatic allocation
2001:0DB8:A000::1/64
main core router
2001:0DB8:A001::/48
core0-resv1
2001:0DB8:A010::/44
pop0-resv1
2001:0DB8:A020::/44
pop0-resv2
2001:0DB8:A030::/44
pop0-resv3
2001:0DB8:A040::/44
VPS, colos et dédi (16k x /56)
2001:0DB8:A040::/48
colo0 (256 x /56)
2001:0DB8:A040:00::/56
colo0-main0
2001:0DB8:A040::/64
colo0-main0
2001:0DB8:A040::1/64
colo0-main0 colo gateway
2001:0DB8:A040:1::/64
reserved?
2001:0DB8:A040:100::/56
reserved...
[...]
...
2001:0DB8:A040:1000::/56
colo client 1 (start allocating in the middle)
2001:0DB8:A040:1001::/56
colo client 2
[...]
+ 253 /56 colo clients
2001:0DB8:A040:FFFF::/56
colo client FFFF
2001:0DB8:A041::/48
colo0-resv0
2001:0DB8:A042::/48
colo0-resv1
[...]
+ 5 /48 colo0-resvN
2001:0DB8:A048::/48
vps0 (256 x /56)
2001:0DB8:A049::/48
vps0-resv9
2001:0DB8:A04A::/48
vps0-resvA
[...]
+ 5 /48 vps0-resvN
2001:0DB8:A04F::/48
vps0-resvF
2001:0DB8:A050::/44
pop0-resv5
2001:0DB8:A060::/44
pop0-resv6
2001:0DB8:A070::/44
pop0-resv7
2001:0DB8:A080::/44
shared0
2001:0DB8:A080::/48
Koumbit main colo netel shared hosting (aegir) vlan
2001:0DB8:A081::/48
Koumbit main colo netel shared hosting (alternc) vlan
2001:0DB8:A090::/44
pop0-resv9
2001:0DB8:A0A0::/44
pop0-resvA
2001:0DB8:A0B0::/44
pop0-resvB
2001:0DB8:A0C0::/44
pop0-resvC
2001:0DB8:A0D0::/44
pop0-resvD
2001:0DB8:A0E0::/44
pop0-resvE
2001:0DB8:A0F0::/44
pop0-resvF
2001:0DB8:a100::/40
pop1-resv
2001:0DB8:a200::/40
pop2-resv
2001:0DB8:a300::/40
pop3-resv
2001:0DB8:a400::/40
pop4: vpns (16 x /44, each into a /56 per client, so 65k clients)
2001:0DB8:a400::/44
vpn0 (4096 x /56)
2001:0DB8:a400::/56
client A
2001:0DB8:a410::/44
vpn1-resv
[...]
+14 /44 libres pour les VPNs
2001:0DB8:a800::/40
pop8 (office)
2001:0DB8:a800::/44
office0-dmz
2001:0DB8:a810::/44
office1-priv
[...]
+13 /44 libres
2001:0DB8:a900::/40
pop9-resv
2001:0DB8:aa00::/40
popA-resv
2001:0DB8:ab00::/40
popB-resv
2001:0DB8:ac00::/40
popC: accès commuté (théorique)
2001:0DB8:ad00::/40
popD-resv
2001:0DB8:ae00::/40
popE-resv
2001:0DB8:af00::/40
popF-resv

Plan proposé pour 2602:ff21::/36

Réviser ce plan et le comparer avec les deux plans ci-haut pour déterminer le bon à prendre. Correspond plus ou moins au plan RFC 3849 ci-haut, mais en forme graphique et avec des exemples et modifications.

Ci-bas, on alloue des IPs automatiquement en SLAAC dans le premier /64 des /44 pour pas avoir à gosser avec le routage ou le DHCP pour avoir du réseau. Ensuite, si les machines veulent router plus d'IPs que leur SLAAC, on leur route un /56 statiquement ou en DHCPv6.

Par exemple, dans pop0-colo0 (2602:ff21:40::/44) on alloue le premier /64 (2602:ff21:40::/64) au SLAAC, et donc les machines là on une IP du style:

2602:ff21:40::xxxx:xxxx:xxxx:xxxx/64

Ensuite, on peut déléguer un /56 ou un /64 en dessous, si nécessaire (ou automatiquement). Typiquement, on voudrait probablement l'allouer automatiquement pour des machines qu'on *sait* qu'elles auront besoin de plus d'IPs (e.g. les machines à VM, quoique là on délèguerait à Ganeti).

Voici un exemple de plan d'allocation du 2602::ff21::/36, tel qu'imaginé par TheAnarcat un samedi après-midi en révisant le plan d'allocation RFC-3849 fait ci-haut par lui-même et le plan graphique fait par MathieuLutfy un peu plus tard:

2602:ff21:0xxx:xxxx:xxxx:xxxx:xxxx:xxxx
           |||   |  |
           |||   |  --------┬---------╯
           |||   |          |
           |||   |       /64 par VM
           |||   |                    
           |||   ╰----------┬---------╯
           |||              |
           |||      /56 par serveur KVM
           |||          - incluant colo? peuvent être /64?
           |||          - si dans un /40, 65k machines par service
           |||          - si dans un /44, 14k machines par service
           |||          - si dans un /48, 255 machines par service
           |||     (assume max 255 VMs par serveur)
           |||   (et si jamais tech change -> nouveau type de service ou </64 par VM)
           |||
           |||   Ex: 2602:ff21:100:0100::/56 à 2602:ff21:100:01ff::/56 = KVM 0 in office
           |||       2602:ff21:100:0200::/56 à 2602:ff21:100:02ff::/56 = KVM 1 in office
           |||       2602:ff21:100:ff00::/56 à 2602:ff21:100:ffff::/56 = KVM 0xFF
           |||       2602:ff21:100:ff00::/56 à 2602:ff21:100:ffff::/56 = KVM 0xFFFF
           |||
           |||
           |||   Ex: 2602:ff21:40::/64 à 2602:ff21:40::ffff:ffff:ffff:ffff/64 = pop0-colo0-slaac
           |||   Ex: 2602:ff21:40:100::/56 à 2602:ff21:40:1ff::/56 = pop0-colo0-client0-deleg0
           |||
           |||   ie. un /56 routé vers le /64 autonmatiquement alloué à la colo, sur demande ou automatiquement avec DHCPv6
           ||╰------------------------╯
           ||              |
           ||       /44 par "service" (0xf = 16 services)
           ||
           || Ex: 2602:ff21::/44 à 2602:ff21:f::/44 = pop0-core0
           ||     2602:ff21:10::/44 à 2602:ff21:1f::/44 = pop0-resv1
           ||     2602:ff21:20::/44 à 2602:ff21:2f::/44 = pop0-resv2...
           ||     ...
           ||     2602:ff21:40::/44 à 2602:ff21:4f::/44 = pop0-colo0
           ||     ...
           ||     2602:ff21:80::/44 à 2602:ff21:8f::/44 = pop0-shared0
           ||     ...
           ||     2602:ff21:a0::/44 à 2602:ff21:af::/44 = pop0-vps0...
           ||     ...
           ||     2602:ff21:f0::/44 à 2602:ff21:ff::/44 = pop0-resvF...
           ||
           |╰-------------------------╯
           |            |
           |        /40 par "point of presence" (PoP) (0xf = 16 PoP)
           |
           |  Ex: 2602:ff21::/40 à 2602:ff21:ff::/40 = pop0: tour = 16 x /44
           |      2602:ff21:100::/40 à 2602:ff21:1ff::/40 = pop1: office
           |      2602:ff21:200::/40 à 2602:ff21:2ff::/40 = pop2: resv
           |      2602:ff21:300::/40 à 2602:ff21:3ff::/40 = pop3: e.g. anycast
           |      2602:ff21:f00::/40 à 2602:ff21:fff::/40 = popf: resv
           |
           ╰--------------------------╯
                      |
                2602::ff21:/36


CategoryConfiguration

AllocationIpConfiguration (last edited 2021-10-16 14:05:55 by anarcat)