想上網?
大展 L3 路由魔法吧!
SteveYi / Sciuridae @ SITCON 2021
Sciuridae 松鼠
• 一個二技生
• 維護茶園網路ㄉ人
SteveYi 小易
• 一個五專生,目前專二
Who are we?
小知識們
小知識
• Src. Address
• Source Address
• 來源位址
• Dst. Address
• Destination Address
• 目標位址
小知識 - 遮罩 (Netmask)
• /0 - 0.0.0.0
• 0.0.0.0 - 255.255.255.255
• /8 - 255.0.0.0
• A.0.0.0 - A.255.255.255
• /16 - 255.255.0.0
• A.B.0.0 - A.B.255.255
• /24 - 255.255.255.0
• A.B.C.0 - A.B.C.255
小知識 - TTL
起始點 目的地
TTL : 64
TTL : 63 TTL : 62 TTL : 61
TTL : 60
那...路由器是幹嘛ㄉ?
那...路由器是幹嘛ㄉ?
• 上網
• 封包轉發
• WiFi
負責將你發出去的封包
根據目的地進行轉發
那...路由器是幹嘛ㄉ?
台東
鹿野
苗栗
高雄
鹿野的路徑表
目的地 下一站位置
台北 台北
台東 台東
高雄 台東
苗栗 台東
南投 台東
台東的路徑表
目的地 下一站位置
台北 鹿野
鹿野 鹿野
高雄 高雄
苗栗 高雄
南投 高雄
高雄的路徑表
目的地 下一站位置
台北 苗栗
鹿野 台東
台東 台東
苗栗 苗栗
南投 南投
苗栗的路徑表
目的地 下一站位置
台北 台北
鹿野 高雄
台東 高雄
高雄 高雄
南投 南投
那...路由器是幹嘛ㄉ?
封包是由很多台路由器轉送到目的地的,那如果傳不到?
• 試試看有沒有通?
• Ping
• 或著看看在哪邊被丟掉了 QQ
• traceroute
• tracert
• mtr
台灣內
美國
歐洲
那...路由器是幹嘛ㄉ?
有察覺過你電腦的 IP 和 https://ipinfo.io ( 取得目前你使
用的公網 IP ) 有時候會不一樣嗎?
那...路由器是幹嘛ㄉ?
Src. IP : 192.168.1.2
Dst. IP : 103.158.187.14
Src. IP : 103.152.202.2
Dst. IP : 103.158.187.14
那...路由器是幹嘛ㄉ?
NAT ( 網絡地址轉換 )
RFC 1918 Private IP Address
- 10.0.0.0/8 ( 10.0.0.0 - 10.255.255.255 )
- 172.16.0.0/12 (172.16.0.0 - 172.31.255.255)
- 192.168.0.0/16 (192.168.0.0 - 192.168.255.255)
基本路由認識
基本路由認識
• 路由
• Dst. Address ( 目的地地址 )
• Gateway ( 閘道,要被發往的位置 )
• Metric / Distance ( 連線所需的成本 )
基本路由認識
基本路由認識
範例:
Dst. Address : 192.168.1.0/24
Gateway : 193.42.40.1
Distance : 1
基本路由認識
• 靜態路由
• 動態路由
• Physical (實體介面)
• BGP
• OSPF
• RIP
基本路由認識
封包會根據路由表中的目的地位置進行轉送
基本路由認識
路由器會先找最小區段的路由進行轉發
• 8.0.0.0/8 (8.0.0.0 - 8.255.255.255)
• 8.8.0.0/16 (8.8.0.0-8.8.255.255)
• 8.8.8.0/24 (8.8.8.0-8.8.8.255)
基本路由認識
若有多筆路由為相同位置,則會優先選擇最小的 Distance
的路由進行轉發
基本路由認識
目的地沒有在路由表上?
Default Route (預設路由)
• Dst. Address : 0.0.0.0/0
• Gateway : 193.42.40.1
• Distance : 1
靜態路由
靜態路由
手動指定某一條路由到不同的 ISP
靜態路由
路由器互通
R1
• IP Address: 10.2.0.2/24
• Route: 192.168.2.0/24
• Gateway: R2 Interface
R2
• IP Address: 10.2.0.1
• Route 192.168.1.0/24
• Gateway: R1 Interface
R1
10.2.0.2/24
192.168.1.0/24
192.168.2.2/24
192.168.1.2/24
R2
10.2.0.1/24
192.168.2.0/24
靜態路由
如果只設定了一台...?
IGP 內部閘道協議
IGP 內部閘道協議
● Interior Gateway Protocol
○ OSPF
○ RIP
○ ...等
● 讓內部的路由器互相交換內部路由
IGP 內部閘道協議
• 內部路由器
• 交換內部網段
IGP
IGP
IGP
IGP
IGP
IGP
AS2
AS3
EGP EGP
EGP
AS1
IGP 內部閘道協議
我的 ISP 業者
Google 內網
BGP 邊界路由協議
BGP 邊界路由協議
• Border Gateway Protocol
• 1995 RFC 1771
• 使用 ASN 與其他路由器交換路由(Peer)
BGP 邊界路由協議
iBGP
• Interior Border Gateway Protocol
• 用於內部路由交換
eBGP
• Exterior Border Gateway Protocol
• 與其他 ASN 建立 BGP Peer(交換外部路由)
BGP 邊界路由協議
ASN (Autonomous System Number)
• 網際網路中用於識別的編號
• 實務上會簽署文件來驗證身分
• 宣告路由
Google AS15169
SteveYi AS60614
BGP 邊界路由協議
建立 BGP Peer 時...
• ASN 相同,則為 iBGP
• 若不相同,則為 eBGP
BGP 邊界路由協議
BGP 邊界路由協議
Filter 過濾器
• 過濾接收及發送出去的路由資料
• 路由劫持
BGP 邊界路由協議
BGP Hijacking
Full table attack (事實上並沒有這種東西)
要設定好 Filter 還有 Neighbor Prefix Limit
BGP 邊界路由協議
BGP 邊界路由協議
RPKI
• 類似 SSL CA 機制
• 管理局會記錄你擁有的
ASN、Prefix
Route Object
• 紀載 ASN、Prefix
• 任何人都可以新增
• 可透過 Whois 查詢
BGP 邊界路由協議
IX (Internet Exchange)
• 網路交換中心
• 互相交換路由的中心
• 節省 Transit 成本
ISP ISP
內容提供商 內容提供商
交換中心
BGP 邊界路由協議
非對稱式路由
• 多個 Upstream
• 最佳化路由
欸欸 如果我想玩要準備什麼 R
欸欸 如果我想玩要準備什麼 R
物理層面
• 網路基礎概念
• 路由器
• 從管理局或其他管道取得 ASN / IP Prefix
欸欸 如果我想玩要準備什麼 R
心理層面
• 把家裡網路炸掉
• 被家人念
• 重設路由器好幾次的心理準備
• 斷... 線...
欸欸 如果我想玩要準備什麼 R
路由器選擇
• Mikrotik RouterOS (hEX S)
• CHR
• Juniper / Cisco
• Linux Routing Daemon
• VyOS
• ...等
欸欸 如果我想玩要準備什麼 R
網路環境
• 無防火牆阻擋及其他干擾
• 可在網際網路上訪問的 Public IP
如何跟真實網路接上軌?
如何跟真實網路接上軌?
想要有自己的網路嗎?想和別人 Peer 嗎?
接下來簡單講述步驟,如何從無到有自己的網路
如何跟真實網路接上軌?
管理局
• 管理網路資源
• ASN
• IP Prefix
• ...等
• 最頂層管理局為 IANA
• 下面有許多區域管理局
如何跟真實網路接上軌?
IANA
AFIRNIC ARIN
APNIC LacNIC
RIPE
NCC
TWNIC
LIR
個人/公司
如何跟真實網路接上軌?
如何跟真實網路接上軌?
跟管理局申請到 ASN 及 Prefix 後...?
• 與其他 ISP 交換路由
• 購買 IP Transit 服務
如何跟真實網路接上軌?
證明 ASN 跟 Prefix 是你所擁有的
• 新增 Route Object 紀錄
• RPKI 紀錄
• 驗證 Whois 上的 Email
如何跟真實網路接上軌?
如何跟真實網路接上軌?
如何跟真實網路接上軌?
如何跟真實網路接上軌?
IP Transit
• 直接跟 ISP 簽約,將網路接到家中
• 在 Data Center 購買
• 帶有 BGP 的 VPS
如何跟真實網路接上軌?
https://bgp.services
如何跟真實網路接上軌?
透過 VPN Tunnel 接到一些實驗性質的 IX
• EVIX
生產環境
• SIX
• TWIX
• HKIX
STUIX (Maintenance by TWDS)
https://stuix.io
Q&A
Thanks

SITCON 2021 想上網?大展 l3 路由魔法吧!

Editor's Notes

  • #46 講者 : SteveYi 講稿 : 在實務上來說,一個 ISP 並不會只跟一個上游交換路由,通常會有許多上游或是 ISP 進行交換,這時封包在轉送的時候就會選擇最有利的路由