ASN 初體驗 Part 1

前言

由於看到今年海狗大大在 COSCUP 上的一篇議程 aka 老鼠會抓下線文宣 (x
又再次看到了 ASN 這個名詞
於是決定去研究看看這是什麼東西

第一次是在兩年前某位朋友的自介中看到這個名詞
去 google 了一陣子後發現好像是網路架構中很 Infra 的部分
查了一堆相關知識 但實在太抽象了 很難想像究竟是一個什麼樣的概念
那些內容對於當時的我很難去實作一個練習
也就姑且放置了

如今又偶然間看到這篇議程
我想應該是在提醒我 是時候去弄清楚了XD

接下來文章中會記錄一些我剛學到的概念、設定流程
當然都非常的基礎
甚至可以說是沒有任何進階的保護 (因為我還沒理解到那麼多…
所以請大老拍小力一點 會痛 QQ

取得 ASN

這個應該是我認為最麻煩的部分
但首先我們必須先知道 ASN (Autonomous System Number) 是什麼東西

What is ASN?

AS 是 “網際網路” 中溝通的最小單位
而 ASN 則是表示該 AS 的唯一 ID
這句話可能很詭異 網路中最小單位不是應該是電腦 (IP) 才對嗎?
其實這可以透過一般家中的路由器來理解

你家中的 IP 該如何走
只要到你的 Gateway 自然就知道要出去還是內網
這是非常好理解的二選一

但兩台路由器的情形呢
你必須告訴第一台路由器哪些 IP 要送往 第二台
同理第二台也是要設定哪些 IP 該送去第一台
這就是所謂的 Route Table

由此可見當你越多段 IP 就需要越多路由表去紀錄這些事情
上面說的情形還只限於非常少數的路由器之間
還可以手動去設定靜態路由
我們繼續將範圍放大到全世界 有屬不清的路由器

那 AS 就是管理著多段 IP 該如何送
其中可能包含多個路由器的一個群集
並且同時往上發布給更上位的路由器說哪些該送到自己這
亦或是取得其他路由器發給你的路由表記起來
這種互相交換路由表的行為會透過 BGP (Border Gateway Protocol) 來溝通

所以說真正在世界網路上互相溝通的單位是 AS
他們彼此交換路由表
才能讓世界中任何一個 IP 知道該往哪送

申請 ASN

現在世界上管理網路的單位是一個樹狀結構

我們借用一下 APNIC 的圖

簡單的由上往下區分一下級別

  • 世界總管 (灰)
    • IANA
  • 五大洲級 (橘)
    • AfriNIC
    • ARIN
    • APNIC
    • LACNIC
    • RIPE NCC
  • 國家級 (綠)
    • ex. TWNIC
  • 地區級 (水藍)
  • 業者 (紫)
  • 個人 (深藍)

看完了分級後
我們這次申請主要以 RIPE NCC 為主
因為他有對 LIR 贊助機制
使一般人可以用比較負荷的了的情況取得 ASN
不然爆幹貴 文件還很難被審過 QQ

Google 一下應該就會找到一堆 RIPE LIR 有提供代辦服務
或是可以來這個網站看人家整理好的表 http://bgp.services/

找好 LIR 後
我們需要先了解申請的幾個大步驟
這些資料都是即將提交給 LIR 的

  1. 去 RIPE NCC 建立幾個關於自己資訊的 Object (maintainer, role, organization)
  2. 兩個可以與你對接的 ASN and 對方的 email
  3. 於歐洲的設備證明 (ex. 發票)
  4. 申請 ASN 的目的
  5. 給 LIR 贊助費
  6. 與 LIR 的合約 (這個通常在你將資料提交給 LIR 並確認無誤後,對方會簽好給你簽,然後寄回去)

首先
我們就先去建立屬於自己的 Object 吧
這些資料也就是當我們在 whois 時所噴給你那些資訊

註冊好 RIPE 的帳號後
第一步就先到 Create an Object 建立 role and maintainer pair

  • mntner
    這欄位非常重要 是這個 Object 的唯一 ID
    之後所建立的其他 Object 都必須關連到這個 ID 你才有權限更動
  • role
    填你自己的名字就好
  • address
    地址 不多說
  • email
    屬於該 role 的 email
    請填一定能收到信的信箱 未來所有驗證相關都會用到

新增完成後你就會看到 mntner 的 ID 以及 role 的 ID
這些資訊日後都可以更改
所以填歪填錯也不用怕

接著我們用剛剛得到的 ID 先去看一下 role 選擇 Update
然後在 email 旁邊的 + 按下去 新增一個 abuse-mailbox

填寫好之候就可以儲存

接著我們要新增一個 organization 的物件

這邊要注意

  • abuse-c
    這個就填剛剛 role 的 ID

  • mnt-ref
    這個通常會填寫 LIR 的 mntner ID 以方便追蹤下游
    但現在還沒有拿到就先填自己的就好

以上到這裡 RIPE 物件的部分就準備完成了
你可以先把資料都丟去給 LIR 確認一遍
如果無誤對方就會 (通常) 要你轉一筆註冊費給他
然後給你一份同意書簽名寄回
接著就是等待 RIPE 把 ASN 分發下來囉

喔對了 通常跟 LIR 申請
他都會發一段 IPv6 的給你

下一篇 Part 2 會告訴各位如何將自己申請到的 IP 以及 ASN 廣播到全世界
不過先讓我喘一下 腦袋要燒了 (x