UnRAID_6.8.2_配置_設置
轉載注明來源: 本文鏈接 來自osnosn的博客,寫於 2020-10-05.
參考:
UnRAID download
Getting_Started
Official Documentation
unraid forums
unRaid系列二:認識界面並配置教程
QEMU(4) q35,SeaBIOS(2)-硬件架構
NAS最強攻略:使用UNRAID系統,搭建ALL IN ONE全過程
下載,安裝,參考官方文檔。
- 我安裝/配置,用的是UnRAID-6.8.2
- u盤必須是FAT或FAT32格式,因為FAT,FAT32才支持啟動。usb2.0/3.0都行。只是usb3.0的讀寫快些。據說用SLC芯片的u盤壽命長。
- u盤必須有"序列號",最后16位不能是全零,否則unraid不認/不能注冊,unraid的GUID是由"VID-PID-設備序列號的后16位"組成。
chipGenius(芯片精靈)工具可以看到,有無: VID,PID,序列號。
一般有品牌的u盤都OK,知名主控芯片的u盤也OK。實在沒有序列號,用量產工具自動生成一個序列號刷入。 - 可以用官方推薦的工具 USB_Creator.exe 寫U盤。寫之前無需對U盤改名。(它不認無序列號的u盤。導致無法選擇U盤,無法繼續)
- 手工寫U盤,參看官方文檔。也能支持UEFI啟動。
- 確定u盤是fat32,否則格式化為fat32.
- 把unraid的文件解壓到u盤根目錄。把卷標名改為"unraid"
- 打開dos窗口,執行u盤根目錄的
make_bootable.bat
。 完成。
- 記得,做了任何配置的更改。都要備份u盤的
config/
目錄。因為unraid的u盤很容易壞。
備份的辦法,很簡單,把config目錄整個打包成壓縮文件(zip,tar,7z都行),copy出來另存即可。
啟動后,初始配置。
- DASHBOARD 中,給主機改個名,缺省名為"Tower".
- MAIN 中,添加一個 Disk,(parity,cache按需添加,也可以不添加)。START Array(開啟陣列)。看到有個提示"Unmoutable"無法掛載的磁盤,選擇 FORMAT 格式化一下。
- MAIN->Boot Device->Flash,有個警告,說是被共享了,不安全。點 Flash 進去,在 SMB Security Settings->Export 選 NO,不共享。(按需設置)
- SETTINGS->Date and Time, 設置一下時區,按需修改同步用的時間服務器。
如ntp1.aliyun.com
,time.pool.aliyun.com
,time.nist.gov
,cn.pool.ntp.org
,0.debian.pool.ntp.org
- 修改/設置 root 的密碼。在 USERS 點 root,改密碼。(如果忘了密碼,官方文檔有說明,修改u盤 /config/shadow 文件重置密碼)
- 創建一個普通用戶,用來訪問共享文件。在 USERS 中創建。
- 在 SETTINGS->Management Access 中,關閉 TELNET 的訪問。留着 SSH 就行了。
- unraid 在單位代理服務后面,不能直接訪問外網。這有幾篇文章(我沒試過,不知道行不行):
裝APP商店
- 參看:Unraid 安裝 app 中心和插件 , Unraid Server安裝 apps 應用中心, 初次入坑unraid
- Community Applications地址 (即app商店)
https://raw.githubusercontent.com/Squidly271/community.applications/master/plugins/community.applications.plg
- NerdTools 地址
https://raw.githubusercontent.com/dmacias72/unRAID-NerdPack/master/plugin/NerdPack.plg
顯示主板溫度
- ssh 登錄 unraid,打命令 sensors,可以顯示cpu和主板溫度。但 web 界面中沒有。
- 參考: unRaid系列八:顯示主板、CPU傳感器溫度
先在NerdTools裝perl,再裝顯示溫度的appDynamix System Temperature
。
https://raw.github.com/bergware/dynamix/master/unRAIDv6/dynamix.system.temp.plg
掛載移動硬盤
- 有個app,叫 "unassigned.devices" , 地址是:
https://github.com/dlandon/unassigned.devices/raw/master/unassigned.devices.plg
,
https://github.com/dlandon/unassigned.devices/raw/master/unassigned.devices-plus.plg
plus 支持 exFat,HFS+
給虛擬機掛載usb設備
- 有個插件,叫"Libvirt Hotplug USB" , 地址是:
https://github.com/dlandon/libvirt.hotplug.usb/raw/master/libvirt.hotplug.usb.plg
網卡直通
- 看VedioTalk的視頻,看"下集UNRAID NAS系統配置雙軟路由,完美直通網卡,CPU"
注意, 他視頻中的四個網卡是分別在4個group中,所以只要更改一下GUI的啟動參數,然后接上顯示器,去GUI中創建一個虛擬機的樣本(最小內存,硬盤選none,勾上3個直通網卡)保存即可。以后創建虛擬機,就去抄這個樣本中的直通代碼。如果碰到XML error: Attempted double use of PCI Address '0x05'
這樣的錯誤,就把05改07,08,09,0A,...改到不出錯即可。
下次再建新虛擬機,抄完代碼又不出錯了。奇怪。 - 還有個簡便的方法,就是裝
VFIO-PCI.CFG
插件,看 unraid如何實現多口網卡直通。勾選之后,創建虛擬機時,直接有直通網卡選擇。
https://raw.githubusercontent.com/Skitals/unraid-vfio-pci/master/plugins/vfio.pci.plg
- 如果你的多個網口,是在同一個group中。我不知道怎么搞,我的機器沒這問題。
- 6.9.1 有些不同,請看【UnRAID_6.9.1_配置_設置】
命令行工具
- 用 NerdPack 裝,這些命令行工具是裝在 U盤中的。跟着unraid系統的。
- 比如: tmux, python3, p7zip, unrar, vim, tcpdump, ... (看自己需要吧)
安裝OpenWRT
- 下載鏡像, OpenWrt Downloads -> Stable Release -> x86 -> 64 -> combined-ext4.img , 參考【OpenWrt-官網知多少】。這個是穩定版。
- 把 openwrt 的 img 鏡像 copy 到
/mnt/user/domains/openwrt-xxx/
, 目錄名自己定義。多建一層目錄是方便管理。
把 目錄和img文件的 owner 設為 nobody.users, 目錄的權限為 777,文件的權限是666。
如chown nobody.users openwrt-xxx.img
,chmod 666 openwrt-xxx.img
- 創建虛擬機VM。修改"名稱"和"描述"。
- CPU按需給,1個或2個,內存256MB就夠了。如果你的實際內存很多,那就分512吧。
- (僅撥號上網占不到60M,再跑4個大進程才用到168MB內存,比如radiusd)
- Machine: 選 Q35最新版,或者 i440fx最新版,看不出區別。都行。
- BIOS:SeaBIOS 傳統啟動兼容性好。(OVMF是UEFI,不知道openwrt行不行)
- Primary vDisk Location: 選 manual,指定openwrt的img文件。 vDisk Bus: 選VirtIO,SATA,或IDE,選SCSI不能啟動。
- 用
openwrt-19.07.4-x86-64-combined-ext4.img
這個鏡像vm中可以直接用來啟動。
root分區252MB,剩余空間220多MB,裝東西的話,基本夠用。- 如果要擴容, 用
qemu-img resize combined-ext4.img 200m
擴容到200MB,
或者直接在img后添加全零字節dd if=/dev/zero bs=1M count=100 >> combined-ext4.img
用losetup -f combined-ext4.img
掛載到loop4
, 用cfdisk
或fdisk
調整分區。
用partx /dev/loop4
加載分區表到內核。用resize2fs /dev/loop0p2
擴展第二分區(rootfs)。可以fsck
一下。
最后partx -d /dev/loop4
卸載內核分區記錄。losetup -d /dev/loop4
卸載loop設備。 - 詳細操作筆記見【openwrt_21.02_img_空間擴容】
- 如果要擴容, 用
openwrt-19.07.4-x86-64-combined-squashfs.img
這個鏡像vm中也可以啟動。
我知道可以用它來刷路由器。vm中,好像要先創建個磁盤,然后刷進去。下面嘗試直接用img啟動,並擴容。- 直接用這個img啟動,第一次啟動,網絡都無法啟動。打命令
firstboot;reboot
之后。
overlay只有66kb的空間,連配置都保存不了,重啟就恢復出廠。
關閉vm,在unraid中用命令,對剛才的img擴容qemu-img resize combined-squashfs.img +200m
增加200MB,
再次啟動,overlay還是只有66kb,firstboot再重啟,還是剩66k。 - 再測試,重新copy一份原始的combined-squashfs.img,先用命令擴容,再啟動。
overlay居然擴容成功了(op19.07),有190mb空間。(最多可以擴容+256MB)。MBR分區的,擴容比較簡單。 - 另: unraid中,如果直接用
cfdisk combined-squashfs.img
打開這個文件,可以重新分區。可是改動后,這個img就不能啟動了。
應該用losetup -f combined-squashfs.img
掛載到loop設備,再調整分區。應該可以超過256MB限制。
里頭有兩個分區,squashfs 和 ext4 , 擴的是ext4分區(overlay)。 - 對 op21.02 僅使用 qemu-img 擴容 squashfs-combined-efi.img 失敗。大概是因為gpt分區,需要修改分區表才行。
成功的操作筆記見【openwrt_21.02_img_空間擴容】 - 其他參考: 【OpenWrt全硬盤安裝方法】【OpenWrt x86 磁盤擴容】
- 直接用這個img啟動,第一次啟動,網絡都無法啟動。打命令
- 用
- 其他默認吧。
- 然后,網卡直通,抄一下之前的虛擬機樣本中的直通代碼。如裝了
VFIO-PCI.CFG
插件, 直接勾上需要直通的網卡即可, 不用抄代碼了。 - 就可以啟動VM看看了。
- 通過虛擬終端,登錄 openwrt,編輯
/etc/config/network
修改 lan 口 IP,重啟網絡。就可以通過 web 訪問 openwrt。
重啟網絡, 用任意一個指令都行:/etc/init.d/network reload
,/etc/init.d/network restart
,reboot
。 - 修改
/etc/opkg/distfeeds.conf
改為清華大學源 , 把 downloads.openwrt.org 改為 mirrors.tuna.tsinghua.edu.cn/openwrt 即可。- 安裝wget的https支持
opkg install wget ca-bundle
, 然后把distfeeds.conf中的http:
全部改為https:
- 安裝wget的https支持
- 為了安全,不建議對外網開放ssh登錄,不開放外網的web管理頁。(更改端口,再把root的用戶名改了,再設置一個超長密碼,才考慮開放外網訪問)
- Network -> Firewall -> General Settings 中,有三個 reject 改為 drop。
參考【設置openwrt路由器的防火牆_允許從外網訪問_ipv6服務】關於"默認規則drop/reject"部分。 - 定時檢查網絡,不通就重撥。參考【OpenWRT19.07_命令行_重撥wan_重啟路由】
- 改圖標,參考 教你UNRAID虛擬機自定義Docker圖標icon方法
- 官方版openwrt裝 雙撥,ddns,usb掛載,遠程下載,參考【基於官方原版OpenWrt的雙線接入(移動、長城)及IPv6 DDNS詳細設置方法】
Lean 的 Openwrt
- 下載 Lean Openwrt
- 安裝方法一樣。
- 這個版的,用的最新測試的snapshot。比上面那個官方穩定版openwrt新,特性會很新,但可能有bug。
unraid 的 ipv6
- unraid 可以獲取到 ipv6 ,通過 dhcpv6/slaac 得到兩個ip。
在 settings -> network settings 中有個IPv6 privacy extensions
選項。- 如果disabled。slaac地址,應該不會變。但實際上得到的是非eui64地址,PD變化,IP也變了。
官方說是個bug,IPV6 PRIVACY EXTENSIONS NOT WORK, IPV6 not working - 如果enabled。slaac地址,會變。
- 如果disabled。slaac地址,應該不會變。但實際上得到的是非eui64地址,PD變化,IP也變了。
- 如果要改為 eui64。需改
/etc/dhcpcd.conf
文件,並重啟dhcpcd
進程。比較麻煩。- config/go 腳本執行時機晚於 dhcpcd的執行。
- 重啟 dhcpcd,
- 辦法1,殺了它,再按原參數重新運行。
- 辦法2,執行
/etc/rc.d/rc.inet1 br0_restart
。這個辦法只重啟了unraid的br0。vm的直通網口不影響,但連接的br0會丟失。除非再重啟vm。
- (未測試)似乎不能在config/go中直接修改
sysctl -w net.ipv6.conf.br0.use_tempaddr=0
達到設置eui64的目的。
- 在openwrt中靜態分配ipv6地址給 unraid,從而固定它的ipv6后綴。
- 其實openwrt分配的ipv6后綴和客戶機的 DUID 是對應的。基本不變。
不過openwrt改不了客戶機的DUID,也不能直接指定客戶機的IPv6。見:【設置openwrt路由器的防火牆_允許從外網訪問_ipv6服務】
- 其實openwrt分配的ipv6后綴和客戶機的 DUID 是對應的。基本不變。
- 可以試試,修改 unraid 的 /boot/config/machine-id,然后重啟。可能會更改 unraid 的 DUID。(未測試)
- openwrt動態分給unraid的ipv6后綴,其實是固定的,與unraid的DUID相關。
- unraid想換個ipv6后綴,可以修改unraid自己的DUID,通過創建文件解決
/var/lib/dhcpcd/duid
,文件內容就一行,自定義的duid01:02:03:0a:0b:0c:0d:0e:0f:11:12:13
,然后重啟dhcpcd
- unraid想換個ipv6后綴,可以修改unraid自己的DUID,通過創建文件解決
- 這里給出一個例子(經測試,OK),供大家參考。在config/go 文件中添加一行
/bin/sh /boot/cnofig/modify_dhcpcd.sh
#!/bin/bash
# filename: config/modify_dhcpcd.sh
# 用途: unraid-6.8.2 中 modify dhcpcd.conf , duid
# 這個文件config/duid自己創建。(自定義DUID,格式)->"00:01:02:03:0d:0e:0f:cc"
/bin/cp /boot/config/duid /var/lib/dhcpcd/duid
/bin/sed -i 's/^#slaac hwaddr/slaac hwaddr/g;s/^slaac private/#slaac private/g' /etc/dhcpcd.conf
if [ -f /run/dhcpcd-br0-6.pid ]; then
kill $(cat /run/dhcpcd-br0-6.pid )
# 下面這行,自己在unraid中用ps命令查看,記錄下參數。然后修改為你自己機器中的參數。
dhcpcd -b -q -t 10 -h myName_Tower -C resolv.conf -6 br0
fi
- 有了eui64的ipv6地址,就可以【設置openwrt路由器的防火牆_允許從外網訪問_ipv6服務】。要考慮開放的服務的安全性。
- ddns 參考【Linux中獲取本機的最新IPv6地址_更新ddns的腳本_獲取openwrt的IP地址】。
- 6.9.1 有些不同,請看【UnRAID_6.9.1_配置_設置】
docker
- 裝個 NextCloud, 有官方版,和LinuxServer版。不知道區別,應該差不多。
- LinuxServer版, images 408MB, 用alpinelinux, nginx-1.18, php-fpm-7.3, 配好了80,443,(有ip, ss, less, vim)
- 官方版, images 809MB, 用debian, apache-2.4, php-7.4, 只配了80,(居然gcc都有,但ip, ss, less, vim沒有)
- 還要裝個 linuxserver 的 mariadb 配合。image 351MB.
- docker 下載慢,參考 Unraid修改docker鏡像地址&默認啟動, 解決手工設置Docker鏡像源 /etc/docker/daemon.json 后重啟后丟失失效的問題
- docker 的 IPv6。
Network Type:
為Custom: br0
, 手工指定一個 IPv4的地址。- 高級視圖編輯中,
Extra Parameters:
加入參數
--sysctl net.ipv6.conf.all.disable_ipv6=0 --sysctl net.ipv6.conf.eth0.use_tempaddr=2
- 重啟這個容器,它就會自動獲取公網的IPv6,包括eui64地址。
- unRaid-6.8.2中測試,成功獲取ipv6公網地址。
設置開機啟動的東西
- Array(陣列自動啟動)。 在SETTINGS->Disk Settings 中,第一項auto start.
- VM 設置,哪個虛擬機自動啟動。
- docker 設置,哪個docker自動啟動。
unraid 的 shell 用着不習慣
- bash 中, 少了幾個常用的alias。直接修改 .bash_profile , 重啟無效。
- 網上搜了一下,說是要解開 bzroot,修改之后再打包回去。太麻煩。
- unraid 啟動之后,最后會執行 u盤中 config/go 腳本。執行時的路徑是 /boot/config/go 。
所以可以另寫個腳本,放在config目錄中,然后在 go 腳本中加一行執行自己的腳本,做一些簡單的修改。
比如: 添加幾行alias到.bash_profile。創建 .ssh/authorized_keys,添加一個key,方便登錄。
在config/go 文件中添加一行/bin/sh /boot/cnofig/modify_roothome.sh
#!/bin/bash
# filename: config/modify_roothome.sh
cat >>/root/.bash_profile << __EOF__
alias l="ls -lF"
alias mv="mv -i"
alias cp="cp -i"
alias rm="rm -i"
export TIME_STYLE=long-iso
__EOF__
mkdir -m 0700 /root/.ssh
echo "ssh-ed25519 AAAAC6k------a65OhPlz test@localhost" >> /root/.ssh/authorized_keys
chmod 600 /root/.ssh/authorized_keys
- 6.9.1 有些不同,請看【UnRAID_6.9.1_配置_設置】
執行定時腳本(crontab)
unraid 本身是有 crond 服務進程在執行。
- 可是,登錄unraid命令行,在 root 用戶下創建的 crontab,重啟后都會丟失。
- 用 config/go 腳本在每次啟動時創建 root 的 crontab,太過於麻煩。
- 安裝
CA User Scripts
插件,在app商店中搜索安裝。這個插件就是用來創建 root 的 crontab 。- 使用方法,不算麻煩。在這里創建的定時任務,重啟之后還是有效。
- 如果需要執行的定時任務,與 unraid 本身無關。
- 可以裝個docker,在app商店中搜索
DebianBuster
。在里面啟動cron服務。缺點是,這個鏡像帶xfce4桌面,有點大(1.25GB)。 - 可以裝個docker,在app商店中搜索
Ubuntu-Playground
。這個是純字符界面的,只有262MB。不過,cron沒有,要自己裝。 - 或者創建個VM,裝個Linux,那就隨便搞了。
- 可以裝個docker,在app商店中搜索
裝群暉 VM
- unRAID 虛擬群暉DSM系統|unRaid下黑群暉|VMware虛擬機安裝黑群暉DSM6.2|D
Q35-4.2
,OVMF
,1GB
內存,啟動鏡像用USB
,第一硬盤用SATA
,網卡改e1000
。說找不到硬盤,無法安裝。- 再換到
Q35-3.0
,找到硬盤了。 - 再換回
Q35-4.2
,OVMF
,1GB
內存,啟動鏡像用USB
,第一硬盤用SATA
,網卡改e1000
。又找到硬盤了,奇怪。 - 啟動選擇第三項
VMWare/ESXI with Jun's Mod v1.02 alpha
,因為是在虛擬機中。 - 然后,提供安裝文件
.pat
,2-3分鍾就自動重啟了。再然后就進入漫長的初始化(超過10分鍾)。- 裝完,群暉在硬盤上開了兩個分區。
2.4GB
分區中寫入了 1.5G 的系統文件,2GB
的分區不知道寫了什么。(6.1.1版)。
這個硬盤的剩余空間可以作為數據盤使用(會顯示為"未使用磁盤")。
- 裝完,群暉在硬盤上開了兩個分區。
- 群暉在開/關機時cpu占用挺高,平時占用極低。如果VM支持指定CPU,可以指定非
cpu0
。 - 群暉支持IPv6,可以獲取到ipv6地址。其中 slaac 地址是
eui64
。且在"控制面板"->"網絡"中沒有private
選項。
如果要改,應該是修改/etc/sysconfig/network-scripts/ifcfg-eth0
(未測試)。 - 群暉有時重啟后出問題,參看 黑群暉故障(抱歉,您所指定的頁面不存在)問題
兩個lib文件,在你安裝群暉系統用的.pat
文件中找。用7zip可以打開。
libsynopkg.so.1
,libsynoshare.so.6
這兩個文件建議放在群暉的 /root 目錄中,下次還會再用到的。 - 裝好,放了幾天。就故障,一會是"抱歉,您所指定的頁面不存在",一會又看不到硬盤了。
無奈再次重裝。結果,無論怎么組合,都找不到硬盤。只好放棄玩群暉了。沒意思。
裝 Debian 的 VM
- 下載 amd64-netinst.iso (約350MB), 可以去 華為鏡像,阿里鏡像,163鏡像,清華鏡像 找。
把 iso 文件 copy 到/mnt/user/isos
目錄中。我用的是 debian-10.6.0-amd64-netinst.iso。 - 給 Debian10, 1-2個CPU,最小內存1G,最大2GB內存,硬盤選20GB(qcow2,VirtIO), Q35-4.2 即可。
- Debian10:1GB內存夠用,2GB內存比較寬松。
- 20GB硬盤,分500MB做boot(一般會用到200MB),swap給1G就好。剩下全給root分區。
- 啟動光盤選擇 netinst.iso
- debian 安裝過程比較人性化,硬盤選擇自動分區之后,會顯示分區結構,允許你再修改。確認后才寫盤安裝。
- 安裝時,直接給出國內鏡像源的列表,讓你選擇。
- 裝完系統,再裝上nginx,mysql,php,gcc,golang 差不多占3.3GB。只要不裝GUI的桌面,怎么都夠用了。
- NetworkManager , 解決network-manager中wired為unmanaged的問題
- 讓它管理網卡, Set
managed=true
in/etc/NetworkManager/NetworkManager.conf
,
然后service network-manager restart
或service NetworkManager restart
. - 啟用network-manager, 需要注釋掉 /etc/network/interfaces 中
allow-hotplug eth0
和iface eth0 inet dhcp
這兩行。否則會分配兩個IPv4。(如果是靜態指定IP,則不影響)
- 讓它管理網卡, Set
- 裝 postfix 僅作為本地郵件系統,簡單而小巧. 裝 mutt 查看郵件。
- 裝 chrony 對時服務,用
cn.pool.ntp.org
。把服務器的時間搞准。 - 裝 nginx php-cli php-fpm php-curl php-sqlite3 php-xml (默認是安裝php7.3)
- 有了 nginx,可以配置一下webdav。見:【搭建私人的雲筆記_使用webdav服務】。
【Linux中獲取本機的最新IPv6地址_更新ddns的腳本_獲取openwrt的IP地址】
【設置openwrt路由器的防火牆_允許從外網訪問_ipv6服務】 - 如果nginx是開放在非標准端口,【nginx_非標准端口_同端口_http_自動跳轉_https】
- apt install python3 python3-pip; pip3 install virtualenv; pip3虛擬環境
- 還有個選擇
apt install python3-venv
, 創建虛擬環境的命令是pyvenv
或python3 -m venv
- 還有個選擇
- 對外開放ssh端口后,總是有很多試密碼的。
- 要修改
/etc/ssh/sshd_config
中的幾項。改端口Port 1234
。 - 禁止root用密碼登錄(保留證書登錄)
PermitRootLogin without-password
。重啟sshd。
可以保留本地IP登錄,允許使用密碼。見【配置sshd_除了特定ip外_僅密鑰登錄】 - 普通用戶,用難猜的名字,難猜的密碼。
- 還要裝
fail2ban
, debian10的fail2ban 是支持ipv6的。看【Debian10_Centos8_fail2ban】。
- 要修改
- vimrc , debian 的vim的缺省配置挺好的。但只要創建了
~/.vimrc
, 哪怕是空的。缺省配置就丟失了。- 辦法1,不創建
~/.vimrc
, 去修改/etc/vim/vimrc.local
- 辦法2,參考: 修復 Debian 中的 vim 奇怪行為,
~/.vimrc
第一行加上source $VIMRUNTIME/defaults.vim
- 辦法1,不創建
- 如果vim/nano編輯中文亂碼,設export LC_ALL=en_US.UTF-8
如果還不行,apt install locales-all
- debian-10 的防火牆底層用的是nft。命令行的iptables/ip6tables的規則,其實是轉換為nft規則執行的。
- 默認沒有iptables.service,也沒有firewalld.service。
- 所以建議
apt install nftables; systemctl enable nfttables; nft -f /etc/nftables.conf
,
你的自定義規則可以寫在/etc/nftables.conf
中,系統開機會加載這個文件。 - 不喜歡直接用nft,可以裝ufw,或者firewalld。
apt install ufw
或apt install firewalld
。 - 也可以繼續用iptables,
apt install iptables-persistent
,
用iptables-save
保存規則到/etc/iptables/rules.v4 | rules.v6
,systemctl start netfilter-persistent
開機時導入規則。
或者,開機時,在rc.local
中執行iptables-restore
恢復iptables-save
保存在某個地方的規則。
- 裝點工具。比如: tmux, p7zip, unrar, unzip, vim, tcpdump, tsocks, mutt, nmap, telnet, wget, file, dos2unix, tofrodos, dnsutils, apache2-utils, traceroute,
裝 CentOS8 的 VM
- CentOS-8 對比一下 Debian-10 ,玩玩兩個系統有什么不同。
- 下載 x86_64-boot.iso (約630MB), 我用的是 CentOS-8.2.2004-x86_64-boot.iso
- 給 CentOS-8, 1-2個CPU,2GB內存,硬盤20GB也足夠玩玩了。不裝GUI,占用硬盤比debian多一點,但也不超過4GB。
- CentOS8:1G內存有點緊張,2G內存足夠用。
- 安裝過程中,選擇/使用網絡源安裝,見【CentOS8_在線安裝_網絡源_網絡鏡像源填寫格式_以及其他筆記】。
- centos8 的硬盤分區。
- 如果選擇自動分區,下一步就是確認寫盤,也不顯示分區結構。
- 如果選擇手工,當你手工刪除原有分區后,有一個選項是自動分配。可以試試。
- sshd 改端口。禁止root用密碼登錄。
- 裝
fail2ban
。看【Debian10_Centos8_fail2ban】。 - CentOS-8 默認防火牆是激活的,用的是firewalld,底層是nft表。
- 如果安裝了網絡服務,記得要用
firewall-cmd
指令開放對應的端口。
- 如果安裝了網絡服務,記得要用
裝 ROS
- 安裝ros的特別版本。需要指定硬盤的"廠家標識"和"硬盤ID"。
- ros 的傳統版本。聽說是根據硬盤id來認證。ros是離線檢測。
- ros 的chr版。是在線認證的。ros在運行中,大約每30天自動去你的賬號中獲取認證。
買這種認證比較划算。可以隨意遷移,功能沒有任何限制,僅限制工作帶寬。 - unraid 的 vm 中,關於指定硬盤標識的信息網上很少。搜到一篇竟然看不了,要會員才能看。只好自己摸索。
- 參考: kvm中虛機xml定義格式說明, Domain XML format,
- PVE關於修改硬盤參數的摘抄: PVE導入ROS ESXi ovf模版
- 鏡像轉換。用
qemu-img convert -p -f vmdk -O qcow2 disk-0.vmdk ROS-xx.qcow2
- 指定"廠家標識"。我沒找到辦法。似乎qemu不支持。
- 指定"硬盤ID"。在
<disk>..</disk>
中, 加入<serial>12345678901234567890</serial>
。ros只認前20個字符,超出部分丟棄。 - 沒裝成功....
iKuai8_3.4.9_Build202101291904
- 安裝容易。
- ipv4方面的功能非常好。
- ipv6的支持很少。只支持ipv6地址對內網的下發。沒找到 外網->內網的訪問(轉發)的支持。
OPNsense , pfSense
- 一個開源的防火牆/網關/路由,基於FreeBSD。
- 改天試試。寫在這,備忘。