Day 4 - 部署 Home Lab 网路 - 安装路由器

那昨天介绍完路由表,我们今天要来部署我们的路由器啦!

那笔者还是推荐大家使用这些系统来当作路由器。

题外话,如果想直接使用 Upstream 的网路也可以不安装路由器,直接让 VM 与 Host 的网卡 bridge。

那今天笔者使用的是 VyOS,因为他可以是使用 CLI 来设定。很像 Juniper, Cisco 等系统,其 Routing Daemon 则是使用 FRRouting,若想直接在 Linux 上作为路由器,也是可以的!

安装 VyOS

  1. 首先,我们先到 VyOS 官网 下载 Rolling Release(这边顺带提一下,LTS Version 是稳定版本,但需要付费才可以下载)

https://ithelp.ithome.com.tw/upload/images/20210919/20119484dokaNW38iH.png

  1. 我们自己决定好要下载哪一个版本後,将其放进 PVE 的 ISO Media

https://ithelp.ithome.com.tw/upload/images/20210919/20119484oBowAZAIhU.png

  1. 接着建立 VM,并开机。进入 VNC 输入 install image 来进行安装
    PS. 预设帐号密码皆为 vyos

https://ithelp.ithome.com.tw/upload/images/20210919/20119484L1Y9VJthm2.png

  1. 安装完後,我们就可以重开机并 Unmount ISO 罗!

设定网路

刚安装完後,我们需要来设定一下网路。否则无法上网,也不能使用 SSH 连接。

  1. 首先,进入 VNC,输入 config 进入设定模式。
  2. 设定网卡 IP。注:若只有一个 IP 的话,那就直接使用这个指令,即可获取 DHCP IP 地址。
    set interface ethernet eth0 address dhcp
    设定完之後,输入 commit 来储存设定文件。
  3. 离开设定模式後,我们可以输入 show interface 来查看现在的所有网路介面

https://ithelp.ithome.com.tw/upload/images/20210919/20119484mhtt8Le7oL.png

  1. 接着,我们要来设定 DHCP,让 VM 可以连上网际网路。
    在此之前,我们先新增一个网路介面卡吧。以下图为例,net1 对应的 vmbr8 是 VM 使用的网路

https://ithelp.ithome.com.tw/upload/images/20210919/20119484Kbl4BB8GUw.png

  1. 接着,我们进去 VNC 中,设定好这个新网卡。并输入以下指令来设定 DHCP Server
set service dhcp-server shared-network-name {custom} subnet {你想要设定的网段} range {name} start {该网段内开始的发放的 IP}
set service dhcp-server shared-network-name {custom} subnet {你想要设定的网段} range {name} stop {该网段内开始的发放的最後一个 IP}
set service dhcp-server shared-network-name {custom} subnet {你想要设定的网段} default-router {该网段内的路由器}
  1. 完成後,我们创建一台 VM 或 LXC,并绑定 vmbr8 及设定 DHCP 取得 IP。

https://ithelp.ithome.com.tw/upload/images/20210919/20119484ZdgMCnOPPj.png

  1. 输入 ip aip r 来查看 IP Address 及路由表。

https://ithelp.ithome.com.tw/upload/images/20210919/20119484h6aD3y6DUA.png

  1. 接着可以使用 mtr 8.8.8.8 来看看能不能连上网际网路罗!

https://ithelp.ithome.com.tw/upload/images/20210919/2011948433W9W0oJ3G.png

设定 SNAT

你可能会有点疑惑,为什麽上面这张图到了路由器後就没有进一步了呢?

因为我们使用的是私网 IP,路由器可以识别 10.99.0.2 的路由在哪,但路由器的上游 ISP 并不知道要怎麽抵达 10.99.0.2 这个 IP,所以就会丢弃封包了。

那一般来说,我们上网都会将内网 IP 转换为公网 IP,目的是为了让封包可以抵达网际网路。

我们在 VyOS 可以直接使用这个指令,来让内网 IP 转换为公网 IP。

# 注:eth0 为我的公网 IP 网卡
vyos@vyos# set nat source rule 10 outbound-interface 'eth0'
[edit]
vyos@vyos# set nat source rule 10 translation address 'masquerade'

接着,ISP 就会将回程封包发回来了

https://ithelp.ithome.com.tw/upload/images/20210919/20119484GWL64OEQWF.png


<<:  Day 7 Dart语言-资料型态

>>:  Day12-"二维阵列"

JS 23 - 非同步执行,也是要依序排队!

大家好! 今天我们要实作的静态函式有点像 Promise 的感觉。 我们进入今天的主题吧! 程序码 ...

Swift 新手-建立 Laravel 开发环境

浏览了超过 50 篇文章,直到找到这篇影音教学,真的是非常符合目前的需求~! 观看影片後也能轻松上手...

前端工程学习日记第23天

绝对定位设计优惠价 https://codepen.io/pwbzvqja/pen/GRjodBK ...

[Day 7] .Net WhenAll 底层(2)

前言 我们今天要试着解决昨天阅读 WhenAll 留下来的两个问题 为何要 "atomic...

Day24. Blue Prism加班日 –BP自动选定功能

今日加班加的凶, 不过希望加班加的有意义有价值, 很遗憾的是有时候却是补别人懒惰来的缺口, 排除负面...