利用 AS-SET 建立過濾器

最近,為了跟一些新入坑的朋友們建立 BGP Peer,所以也順便來教他們怎麼使用 AS-SET 過濾。 什麼是 AS-SET AS-SET 是一個可以新增 ASN 及 AS-SET 的 Object。 通常用於過濾透過 BGP 協議所交換的路由。(如 BGP Peer Neighbor、Internet Exchange Route Server 等) 我們通常透過 Whois 及遞迴的方式,來查詢這個 AS-SET 中的所有 Route Object。 舉例來說,我們今天要透過 AS-STEVEYI 對某一個 BGP Peer 進行過濾。 首先,先透過 whois 查詢這個 AS-SET 中有哪些 ASN,然後我們在繼續查詢這個 AS-SET 中的其他 AS-SET(這邊的為 AS-STEVEYI-C ) $ steveyiyo@steveyi-MBP ~ % whois -r AS-STEVEYI as-set: AS-STEVEYI descr: SteveYi Network Service members: AS17413 members: AS60614 members: AS141173 members: AS209557 remarks: --- DownStream --- members: AS-STEVEYI-C remarks: ---------- tech-c: YT1698-RIPE admin-c: YT1698-RIPE mnt-by: STEVEYI-MNT created: 2020-09-10T18:57:46Z last-modified: 2021-03-26T15:31:21Z source: RIPE 接著,我們可以透過 RADB 查詢對應的 Route Object 紀錄...

2021-06-27 · SteveYi

成為 MANRS 參與者!

在去年年底時,我送出了 SteveYi Network Service 的 MANRS 申請 今年年初時,我們通過了審核。正式成為 MANRS 的參與者! 我們的會員介紹在這裏 https://www.manrs.org/isps/participants/entry/1484/ 那麼,我們就順便來說說 我們如何實施 MANRS 政策 MANRS 主要有四個政策,分別是這些 避免廣播錯誤的路由 阻止錯誤偽造的IP流量 促進網絡運營商之間的溝通與協調 促進驗證在網際網路內的路由訊息 那我們是如何做到這些呢? 首先,我們在我們的核心路由器上阻斷了 RFC1918 定義的私網 IP 位置流量,來自這些 IP位置 的流量並不會往公網發送 其次,我們遵守 RFC 8212,在沒有明確的路由策略下,我們 不會廣播沒有使用的網段。 並且,我們會從我們的 AS-STEVEYI 中產生對應的 IRR 紀錄,並過濾掉 不屬於我們的路由 我們也會過濾與我們建立私人對等的對等方路由,我們會將所有對等方的 AS-SET 或 ASN 加進我們的 AS-STEVEYI-A 中,並自動產生對應的 IRR 紀錄,過濾無效的路由 我們也歡迎對我們的過濾系統有興趣的網路愛好者/工程師,可以發信至 info_at_steveyi_dot_net 與我們聯繫!

2021-01-25 · SteveYi

透過 BGP 與朋友組成內網

嗨!好久不見! 在 2020 初時,我拿到了第一個 ASN號碼 - AS209557 我也使用了 RFC 1918 所定義的 IP Address ,與我一些朋友透過 BGP 及 Internet 隧道 組成了一個大內網 那麼,讓我們開始吧! 首先,我們使用 Ubuntu 20.04 來建立隧道,並與其他人建立 BGP 對等 那通常,我都是使用 GRE, SIT 或是 WireGuard 其中,GRE 或 SIT 隧道是屬於非加密隧道,在公網上是可以查看到其封包的。若要加密需要配上 IPsec WireGuard 則是在 2019 年 9 月 推出的點對點隧道,在 2020 年 3 月 已列入 Linux 內核 (其實更早就在 Beta 了,但小易用 WireGuard 時已經是屬於穩定版了) 那接著,是我與我朋友的對等信息 PS. 部分 IP Address 被基於安全因素,可能與實際使用的 IP Address 不同 我的資料 公網 IP Address: 59.126.1.1 隧道內 IP Address: 10....

2021-01-24 · SteveYi

從 RIPE 申請屬於自己的 ASN

今天來講一下透過 LIR 在 RIPE 取得自己的 ASN 首先,可能有些人會很好奇 為什麼要選擇 RIPE 呢?選擇 APNIC, ARIN 不好嗎? 筆者有兩個 ASN,分別是 RIPE 及 APNIC 下的 當筆者在改一些 whois 時,RIPE 可以直接進入網頁修改 但 APNIC 則需要發送郵件……比較麻煩(其實好像也差不多) 不過,APNIC 與 RIPE 兩個管理機構也是有差別的 RIPE 需要驗證真實身份(個人申請需要發送護照或其他證明文件) APNIC 則不需要任何證明文件 那麼,我們就開始申請吧 尋找 LIR(贊助者) 首先,我們需要找到一位 RIPE 會員 (LIR) 做自己的 Sponsor 我們只要在 Google 上搜尋「Lir Service」就會看到非常多的相關服務 那小易嘗試過 Openfactory 的服務,非常推薦其服務!(雖然比較慢) 準備申請資料 我們找到 LIR 之後,透過 Email 或其他管道聯繫後,我們就可以來準備一下申請資料了 根據小易的經驗,大部分 LIR 都需要這些東西(因為他們需要提交給 RIPE ) 真實英文姓名 (First + Last name),也就是護照上的名稱 Postal address(真實地址) 護照的複印/掃描圖片(有時候可能需要身份證照片) 接著還需要兩個對等方,也就是我們常說的 “Peer Partner”...

2020-11-21 · SteveYi

在 RIPE DataBase 建立 Object

在本篇文章中,將與大家分享如何在 RIPE DataBase 註冊 MAINTAINER, PERSON / ROLE, and ORGANIZATION object 這些對象也是註冊 ASN 必要的,如果要申請 ASN,可以參考 這篇教學 那首先,我們要先註冊 RIPE 的帳號 註冊網站在這 註冊完成之後,我們進入 RIPE Datebase,然後點擊 “Create an Object”(建立一個物件Object) 然後我們選擇第一個 “role and maintainer pair” 第一個填寫 mnter,他將會是 “mnt-by” role 隨意輸入 address 寫自己家裡地址 email 寫自己的電子郵箱地址 註冊完成後,你會拿到一個 role 與 mnter,這邊要記住 primary key 我們等等會用到 建立好後,我們需要再回去 role,新增一個 “abuse-mailbox” 濫用投訴信箱,等等ORG object需要使用 完成後,我們回到 “Create an Object”(建立一個物件Object)的步驟 這次選擇建立 Organisation 完成後,我們點擊Submit 我們需要更改的內容有 “org-name”: 填寫自己的真實英文姓名(護照上的) “address”: 地址 “e-mail”: 電子郵件地址 “abuse-c”: 剛剛我們建立的role “mnt-ref”: 剛剛我們建立的mnter...

2020-11-21 · SteveYi

透過 BGP 組建不同網段互通

小時候常常為了家中的網路管理而困擾。 舉例來說,我家有三個樓層、三台路由器。並讓三個路由器後的設備可以互通,但是如果我三台路由器都打開 DHCP Server 的話,三台將會是獨立的網段而不互通。 後來發現如果使用 bridge(橋接)的方式將一台路由器當作 DHCP Server,其他的當作 AP 或 Switch,就可以達到網段相同且可以互通了! 不過,這次我們要做的是跨 L3 的「異地組網」,沒辦法去做到使用同一個的 DHCP Server 來連接,所以就會有兩個網段。 那之前有跟大家分享過 FRRouting 安裝教學,所以我們也可以透過 BGP 及 VPN Tunnel 來組建不同區域網段互通。 事前準備 路由器須為 Linux 系統,或是可以使用 BGP 功能的路由器。 e.g. RouterOS, Cisco IOS, Junos, etc. Linux 路由套件,這邊推薦以下兩種: FRRouting (FRR) BIRD Router: R1 R2 以 FRRouting 來做 BGP 互連 本篇將以 FRRouting 作為示範。 PS. 雙方路由器必須支持 BGP,否則只能使用 NAT 設備來進行互通了 設定路由器 IP 地址 我們先在雙方路由器配置好路由器 IP R1: 10.0.1.1/24 DHCP 分配 10.0.1.2 - 10....

2020-08-11 · SteveYi

FRRouting 安裝教學

很久沒有來分享了!最近仍然在學習 BGP 知識及測試之前一直使用 Bird1 來廣播 BGP,後來在跟朋友 Peer 時,一直無法建立對等(很玄,但卻可以跟 IX 建立) 於是我將 BIRD1 解除安裝了,改安裝 FRRouting。 FRRouting 是從 Quagga Fork 來的路由套件,功能也十分強大( 其指令類似於 Cisco 或 Quagga ) 使用者指南(英文):https://docs.frrouting.org/en/latest/ GitHub 專案:https://github.com/FRRouting/frr/releases 首先,我們要先來安裝 FRRouting 更新套件 sudo apt update -y sudo apt upgrade -y # 安裝網路套件及 GPG 套件 sudo apt install -y curl gnupg2 traceroute 安裝 FRRouting # 導入 GPG curl -s https://deb.frrouting.org/frr/keys.asc | sudo apt-key add - FRRVER="frr-stable" # 寫入軟體源 echo deb https://deb.frrouting.org/frr $(lsb_release -s -c) $FRRVER | sudo tee -a /etc/apt/sources....

2020-07-12 · SteveYi

在 Linux 系統上使用 WireGuard

WireGuard 是一個點對點加密網路。一直以來,我都使用它來管理 / 互聯我所有的雲端主機。 而今天我們就來分享一下怎麼使用 WireGuard 吧! 安裝 WireGuard 基本上 WireGuard Install Page 已經非常完整的提供了各版本的安裝方法及指令,所以大家直接到上面參考就好~ 創建 WireGuard Profile 首先,進入 WireGuard 安裝資料夾。如果不存在的話,請建立一下。 cd /etc/wireguard 使用指令來產生公私鑰,並搭配 cat 查看公私鑰內容。 wg genkey | tee privatekey | wg pubkey > publickey 將公私鑰記下來,並建立一個設定文件。 nano wg0.conf 進入 nano 編輯器後,我們將下方設定檔貼上,並修改公私鑰。 [Interface] Address = 192.168.200.1/24 // 這邊可以自定網段 SaveConfig = true ListenPort = 51820 PrivateKey = <修改為私鑰> [Peer] PublicKey = <對方的公鑰> AllowedIPs = 192.168.200.2/24 // 對方的網段 輸入 Crtl + X 在輸入 y 退出編輯器。...

2020-05-16 · SteveYi

在 Vultr 使用 Bird6 廣播 IPv6

建議可以參考於 2021 年 01 月 24 日 的 透過 BGP 與朋友組成內網 文章 這次就來分享一下在 Vultr 廣播IP吧! 設置 AS 號碼及 IP 前綴 首先,我們要先開通 BGP 的功能! 點擊這裡前往 Vultr BGP 頁面 進入此頁面後,我們點擊 Get Started 選擇 I have my own IP space 及 I have own my ASN (如果沒有 ASN 不用選擇) 而關於 LOA 的部分,可以參考 這份 範例文件 接著其他保持預設就好 接著點 Start,來驗證 IP 擁有權 或 ASN 系統會寄一封電子郵件到 Whois 的 Email,進行驗證! 驗證完後呢,我們就等待工作人員設置 廣播 這次是使用 Ubuntu 18.04 來進行宣告的,CentOS 及 Debian 應該大同小異...

2020-04-10 · SteveYi