iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 24
1

前言

到昨天為止的我們討論了有關於單點使用 PVE 的知識。
但更多的時候,我們擁有遠端工作的需求,今天我們來講講我的解決方案。

安裝 Router OS

Router OS 是由拉脫維亞 MikroTik 公司,基於 Linux 核心開發的作業系統,透過軟體將標準的 PC 電腦化為路由器。他簡化了平時繁複的 Linux 網路設定,並將其化為簡單的介面與指令。
但因為是軟體路由器,所以效能取決於硬體的好壞以及是否有硬體加速。
不過以非生產環境來說,其 CP 值還是遠高於其他的路由大廠。

在軟體路由的幫助下,一般來說,能滿足各式各樣奇怪的要求,只有我想不到,沒有他做不到!

  1. 下載:在虛擬機內安裝 Router OS,我們可以透過官方網站:https://mikrotik.com/download 下載 CHR(Cloud Hosted Router) 的 RAW Disk 版本
  2. 到 Hardware 頁面把原本的硬碟移除(兩次)完全刪除。
  3. 安裝:到 PVE 我們可以利用如下指令將解壓縮後的 img 作為 VMid 的硬碟。
$ qemu-img resize chr-6.47.4.img +1G
$ qm importdisk <VMid> chr-6.47.4.img local-lvm
  1. 到 Hardware 把剛剛才 import 但是 unused 的硬碟加上去。
  2. 載入授權:可以根據官方文件 https://wiki.mikrotik.com/wiki/Manual:CHR 下載試用版授權

設定 Router OS VPN

要設定 RouterOS 主要有兩種方式:

  • WebFig
  • Winbox
    安裝完的 RouterOS 由於沒有 IP,我們只能利用官方的 Winbox 查找 Mac 地址進入管理介面。
    在 Quick Set 做完你的 IP 的基本設定後,我們及便利用別人的電腦,也能夠利用 WebFig 設定。

簡單的網路設定在這邊變不多做敘述。
若想要從外往連入自己的主機與開發服務,使用 VPN 無非是快速而安全的方法之一,所以接下來直接進入 VPN 的設定教學。

  1. ROS 開啟 VPN 的方式很簡單,可以直接在 PPP -> L2TP Enable 並依照你的硬體開啟 IPsec 。

  2. 在 PPP -> Secret 頁面填寫登入帳號密碼,IP 可以隨便設定兩個區網 IP(或 IP pool)。

  3. 最後前往 IP -> Firewall,新增如下兩條 Rule 並在 Firewall 頁面把他們往上拉。

  4. 前往你的裝置,以 Mac 為例,填寫如下資訊:

  • 你的 Server IP
  • 選擇 L2TP over IPsec(esp)
  • 取一良好的名字
  • 輸入剛剛第二步驟的帳號與密碼
  • 輸入第一步驟的 IPsec 共用密鑰

到此為止,便完成了 VPN 的設定。

設定 BGP

剛剛是外網到 PVE,但有時候我們時常分隔兩地作業,如學校、家裡、Lab、辦公室等。
在這些受到信任的地方仍染每次都要連線 VPN 就略顯麻煩,而若機器分隔兩地,就會造成很大的困擾。
所以,可以利用路由協議,如 OSPF、BGP 來達成:任一地都能彼此相連,到處都是自己內網的目標。

  1. 要設定 BGP 需要仰賴兩台 RouterOS 已經連接,所以我們先在其中一地 S 地利用如上方式設定 VPN Server。
  2. 在 C 地連上此 VPN。 PPP -> Add New,並填寫上面說的資料

  3. 確認聯通後,在 S 及 C 地點選 Routing -> BGP -> Instance,分別修改不同的 Local AS 位置
  4. 在 S 及 C 地點選 Routing -> BGP -> Peer,分別設定對方的資訊(如圖藍字)。
  5. 在 S 及 C 地點選 Routing -> BGP -> Network,分別設定想要分享給對方的網段。

到此,便能在 IP -> Routes 中看到對方的 IP 網段已經出現在路由表中!

結語

  • 更多選擇
    除了 RouterOS 外,也有 OpenWRT 等軟路由作業系統可以選擇,若不想付授權費,大家也可以自行研究看看!

上一篇
Day23:PVE 的網路架設
下一篇
Day25:BGP IP 位置經驗
系列文
在家機器學習?用虛擬化技術實現個人 AI 環境配置30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言