1120 字
6 分钟
OpenWrt
1.Openwrt及其相关安装
-
Proxmox 安装 OpenWrt及扩容步骤
-
安装磁盘
qm importdisk 101 /path/op.img local --format qcow2# 101为虚拟机编号# 使用qcow2可以不实际占用 -
使用虚拟光驱装入GParted
-
进入GParted命令行模式
-
依次输入命令
parted /dev/sda #选择磁盘sdaprint #打印信息resizepart 2 4G #调整分区2print #打印信息 -
注意:GParted扩容只有squashfs有效
-
以上方法淘汰了,现在进入图形化界面:
- 启动到 GParted 的图形界面后,它会自动检测到你的硬盘(如
/dev/sda) - 你会看到
/dev/sda2分区后面有一块“未分配”的空间(如果文件系统还没扩容的话),或者 GParted 会显示分区很大但文件系统很小(并标记一个警告) - 右键点击
/dev/sda2分区 - 选择 “检查” (Check)。GParted 会先运行
e2fsck检查文件系统 - 检查通过后,再次右键点击
/dev/sda2,选择 “调整大小/移动” (Resize/Move) - 在弹出的窗口中,将滑块拖到最右边,填满所有空间
- 点击“调整大小”按钮
- 点击主工具栏上的绿色“对勾” (Apply All Operations) 按钮。GParted 会自动离线完成
resize2fs操作。
- 启动到 GParted 的图形界面后,它会自动检测到你的硬盘(如
-
-
Openwrt扩容分区
cfdisk建立extend分区lsblk查看分区mkfs.ext4 /dev/sda3格式化分区mount /dev/sda3 /mnt/sda3挂载分区- 重启后去web挂载分区,每挂载一个重启一次
-
PVE虚拟机挂载硬盘
ls /dev/disk/by-id/列出硬盘qm set 101 --sata1 /dev/disk/by-id/ata-HITACHI_HTS545050B9A300_110109PBN403171EPU9E挂载硬盘
-
部分Docker容器创建命令
-
AdguardHome
docker run --name adg\--restart unless-stopped\-v /root/config/adg/work:/opt/adguardhome/work\-v /root/config/adg/conf:/opt/adguardhome/conf\--network host\-d adguard/adguardhome -
Emby
docker run \#开放端口#http-p '8096:8096' \#https-p '8920:8920' \#local network discovery-p '7359:7359/udp' \#映射配置目录-v /mnt/user/ssd/config/emby:/config \#映射影视资源目录-v /mnt/user/o1hdd/emby:/media \#设置时区-e TZ="Asia/Shanghai" \#映射硬解驱动--device /dev/dri:/dev/dri \#设置权限-e UID=0 \-e GID=0 \-e GIDLIST=0 \--restart always \#docker名字--name emby \#docker源版本-d lovechen/embyserver -
青龙
docker run -dit \-v /root/config/ql:/ql/data \-p 5700:5700 \--name qinglong \--hostname qinglong \--restart unless-stopped \whyour/qinglong:latest -
LibreSpeed
docker run -e MODE=standalone -e TITLE='喵喵卡の测速站' -p 5501:80 -d --name speed ghcr.io/librespeed/speedtest -
wallabag
docker run --name mariadb -p 6603:3306 -e "MYSQL_ROOT_PASSWORD=Richly7092-*" -d mariadbdocker run --name wallabag --link mariadb:mariadb -e "MYSQL_ROOT_PASSWORD=Richly7092-*" -e "SYMFONY__ENV__DATABASE_DRIVER=pdo_mysql" -e "SYMFONY__ENV__DATABASE_HOST=mariadb" -e "SYMFONY__ENV__DATABASE_PORT=3306" -e "SYMFONY__ENV__DATABASE_NAME=wallabag" -e "SYMFONY__ENV__DATABASE_USER=wallabag" -e "SYMFONY__ENV__DATABASE_PASSWORD=wallapass" -e "SYMFONY__ENV__DATABASE_CHARSET=utf8mb4" -e "SYMFONY__ENV__DOMAIN_NAME=http://wall.lan" -p 5502:80 wallabag/wallabag#SQLite版本docker run --name wallabag -p 5502:80 -e "SYMFONY__ENV__DOMAIN_NAME=http://wall.abag" wallabag/wallabagdocker run --name wallabag -v /root/config/wallabag/data:/var/www/wallabag/data -v /root/config/wallabag/images:/var/www/wallabag/web/assets/images -p 5502:80 -e "SYMFONY__ENV__DOMAIN_NAME=http://wall.abag" wallabag/wallabag -
Komag
docker create \--name=komga \--user 1000:1000 \-p 5504:25600 \--mount type=bind,source=/root/config/komga,target=/config \--mount type=bind,source=/extend/hdd/media/comic,target=/data \--restart unless-stopped \gotson/komga
-
2. OpenWrt相关配置
-
samba4如需使用root用户需把
invalid users = root注释掉 -
修改OpenWrt默认配置有以下几种方法,以nginx为例
-
使用uci
-
修改默认配置文件,位于
/etc/config -
修改初始化配置文件,位于
/etc/init.d -
添加自定义配置,位于
/etc/nginx/conf.d#自定义配置示例server {listen 80;listen [::]:80;server_name adg.op;location / {proxy_pass http://localhost:3000/; #adg3000}} -
修改完后需刷新配置
service nginx reload -
参见:OpenWrt Wiki
-
-
Emby插件路径
/config/plugins/system/plugins#我也不知道是哪个,两个都传一份吧 -
必备软件安装
# 安装dockeropkg install dockerd docker docker-compose luci-app-dockerman luci-i18n-dockerman-zh-cn# 安装主题opkg install luci-app-argon-config# 安装SFTP服务器opkg install openssh-sftp-server -
OpenWrt替换
httpd为nginx-
停止并禁用 uhttpd
/etc/init.d/uhttpd stop/etc/init.d/uhttpd disable# 完全删除uhttpdopkg remove uhttpd -
安装 Nginx
opkg install nginxopkg install luci-nginx
此时luci已经由Nginx管理,但http访问会默认跳转到https,如果想用http访问还需额外配置
-
-
配置http访问
# 先删除https跳转uci delete nginx._redirect2ssluci commit nginxuci add nginx serveruci set nginx.@server[-1].listen='80'uci add_list nginx.@server[-1].listen='[::]:80'uci set nginx.@server[-1].server_name='_lan_http'uci add_list nginx.@server[-1].include='restrict_locally'uci add_list nginx.@server[-1].include='conf.d/*.locations'uci set nginx.@server[-1].uci_enable='true'uci commit nginx# 重启Nginx/etc/init.d/nginx restart# service nginx reload 只会重载配置,修改uci后必须重启,否则可能不生效 -
Dnsmasq解析lan域名
# 在 /etc/dnsmasq.conf 添加如下内容# 特定域名优先匹配address=/a.lan/192.168.1.10address=/b.lan/192.168.1.20# 其他所有 *.lan 走第三个地址address=/.lan/192.168.1.30dnsmasq 会按 最具体 → 最模糊 的顺序匹配:
a.lan匹配/a.lan/...b.lan匹配/b.lan/...xxx.lan、abc.lan、anything.lan匹配/.lan/...
-
常用DNS服务
# 无加密dns119.29.29.29223.5.5.5114.114.114.114# 国内dnstls://dns.alidns.comtls://dot.pubhttps://dns.alidns.com/dns-queryhttps://doh.pub/dns-query# 国际dns# ADGuardtls://94.140.14.14# Cisco OpenDNStls://208.67.222.222# DNS.SBtls://186.222.222.222tls://1.1.1.1tls://8.8.8.8tls://9.9.9.9
3. 疑难杂症
-
luci-app-nikki首次启动时需要下载GeoIP和Geosite等文件,如果配置文件中使用的是GitHub等托管的文件,就会因为无法下载而无法启动,可以把相关文件手动放到
/etc/nikki/run文件夹 -
Tailscale的MagicDNS功能会修改
/etc/resolv.conf,如果导致dns异常可以关闭MagicDNS功能并手动修改/etc/resolv.conf
部分信息可能已经过时