[Linux軟路由第二彈] - 4.設(shè)置基礎(chǔ)網(wǎng)絡(luò)和系統(tǒng)參數(shù)

0.前期準(zhǔn)備
在上一篇文章《?[Linux軟路由第二彈] - 3.Ubuntu服務(wù)器初始化 》中,Linux 路由器已經(jīng)安裝了必要軟件,現(xiàn)在開始設(shè)置服務(wù)器網(wǎng)絡(luò)。
由于網(wǎng)絡(luò)設(shè)置中涉及網(wǎng)橋,需要根據(jù)實際情況判斷是否需要關(guān)閉 PVE 服務(wù)器內(nèi)其他路由系統(tǒng),或斷開 Ubuntu Server 的上級物理路由器,并將 Ubuntu Server 連接光貓。
1.移除舊網(wǎng)絡(luò)設(shè)置
Ubuntu 系統(tǒng)默認(rèn)使用?Netplan
?進(jìn)行網(wǎng)絡(luò)設(shè)置,為了避免干擾,需要將其配置文件移除。
一并移除舊的運(yùn)行時?Systemd Network
?配置文件。
2.設(shè)置網(wǎng)橋
本機(jī)網(wǎng)絡(luò)配置文件一般放在?/etc/systemd/network
?目錄下。創(chuàng)建網(wǎng)橋之前,需要檢查?systemd-networkd.service
?服務(wù)狀態(tài),確保該服務(wù)開機(jī)自啟動。
服務(wù)狀態(tài)為?enabled; preset: enabled
?,則表示該服務(wù)已開機(jī)自啟動:
2.1.創(chuàng)建網(wǎng)橋設(shè)備
使用?nano
?編輯器創(chuàng)建?網(wǎng)橋設(shè)備?配置文件,執(zhí)行以下命令:
在編輯器對話框中輸入以下內(nèi)容,并保存:

2.2.設(shè)置網(wǎng)橋網(wǎng)絡(luò)
設(shè)置網(wǎng)橋網(wǎng)絡(luò)之前,需要對所使用的網(wǎng)絡(luò)地址段進(jìn)行規(guī)劃,演示參數(shù)如下:
IPv4 地址(本機(jī)):
172.16.1.1
IPv4 子網(wǎng)掩碼:
255.255.255.0
?( 即?/24
?)IPv6 地址(本機(jī)):
fd10::1
IPv6 前綴:
fd10::/64
根據(jù)?RFC-4193?中給出的定義,IPv6 的私有地址 ULA 前綴為?FC00::/7
?。
該前綴包含?FC00::/8
?和?FD00::/8
?兩個部分,嚴(yán)格意義上 ULA 目前應(yīng)該使用?FD00::/8
?。
在實際使用場景下,建議使用類似?RFC4193 IPv6 Generator?的工具來生成符合規(guī)范的 ULA 地址。
該工具只需要輸入接口(例如服務(wù)器的?bridge1
?)的 MAC 地址即可,
使用?nano
?編輯器創(chuàng)建?網(wǎng)橋網(wǎng)絡(luò)?配置文件,執(zhí)行以下命令:
在編輯器對話框中輸入以下內(nèi)容,并保存。
注意:cake
?部分為 QoS 參數(shù),請根據(jù)實際情況進(jìn)行調(diào)整。

2.3.設(shè)置網(wǎng)橋成員
不同種類的網(wǎng)卡在 Ubuntu Server 中所使用的名稱有所不同。
使用以下命令獲取當(dāng)前所有網(wǎng)卡信息:
可見 PVE 虛擬機(jī)在?q35
?機(jī)型中?VirtIO
?網(wǎng)卡均以?enp6s
?開頭:
其中?enp6s18
?在本文中將作為 WAN 口連接光貓,因此網(wǎng)橋成員為其余網(wǎng)卡。
使用?nano
?編輯器創(chuàng)建?網(wǎng)橋成員?配置文件,執(zhí)行以下命令:
在編輯器對話框中輸入以下內(nèi)容,并保存:
3.設(shè)置回環(huán)接口
本段回環(huán)接口設(shè)置主要為了安全加固,為可選設(shè)置項。
使用?nano
?編輯器創(chuàng)建?回環(huán)接口?配置文件,執(zhí)行以下命令:
由于回環(huán)接口的配置文件很長,因此我放在文章結(jié)尾處。
4.設(shè)置光貓訪問
一般情況下,路由器進(jìn)行 PPPoE 撥號后,光貓將無法訪問。
為了訪問光貓,需要給連接光貓的網(wǎng)口?enp6s18
?增加一個與光貓同網(wǎng)段的靜態(tài) IPv4 地址。
演示地址為?192.168.100.2/24
?。
注意:給網(wǎng)口添加靜態(tài) IPv4 地址時,不要添加默認(rèn)路由。
使用?nano
?編輯器創(chuàng)建?靜態(tài)IPv4?配置文件,執(zhí)行以下命令:
在編輯器對話框中輸入以下內(nèi)容,并保存:
5.設(shè)置硬件卸載
本段內(nèi)容主要為了關(guān)閉各個接口的硬件卸載(Offload),為可選內(nèi)容。
使用?nano
?編輯器創(chuàng)建?硬件卸載?配置文件,執(zhí)行以下命令:
在編輯器對話框中輸入以下內(nèi)容,并保存:
6.設(shè)置內(nèi)核模塊
本段內(nèi)核模塊設(shè)置主要針對 Nftables 的一些必要特性進(jìn)行設(shè)置。
使用?nano
?編輯器創(chuàng)建?內(nèi)核模塊?配置文件,執(zhí)行以下命令:
在編輯器對話框中輸入以下內(nèi)容,并保存:
7.設(shè)置內(nèi)核參數(shù)
為了能讓服務(wù)器完成路由器功能,需要對內(nèi)核參數(shù)進(jìn)行調(diào)整。
使用?nano
?編輯器編輯?內(nèi)核參數(shù)?配置文件,執(zhí)行以下命令:
在配置文件末尾增加輸入以下內(nèi)容,并保存:
至此,服務(wù)器網(wǎng)絡(luò)設(shè)置步驟完成。

環(huán)回接口配置文件: