菜青虫个人笔记 - 2025年3月
type: channel
link: https://www.439700.xyz/index.php/2025/03/
description: 个人折腾日记，网络相关，路由器相关，服务器，NAS等
items: DiscuzX接入CDN
items: 群晖Docker开启网桥桥接bridge-host
items: vim中进行复制粘贴

DiscuzX接入CDN
type: item
date: 2025-03-20T10:42:06+08:00
description: DiscuzX 接入 CDN 需要解决以下问题：附件接入 CDNJS，CSS 接入 CDNstaticurl 接入 CDN界面基础图片目录 {IMGDIR} 接入 CDN头像接入 CDN插件静态文件接入 CDN基本方案是新增一个静态资源域名作为 CDN 回源域名，比如 static.tecbbs.com，然后配置以上 项目 能够通过此域名访问到。然后配置 CDN 域名，比如 cdn.tecbbs.com。Contents [hide]1 附件接入CDN2 JS CSS接入CDN3 staticurl接入CDN4 界面基础图片目录接入CDN5 头像，插件等接入CDN6 参考资料附件接入CDN通过以下配置，使 static.tecbbs.com 能够访问附件：location ^~ /data/attachment/ {root /var/www/discuz; expires 30d;}然后 DiscuzX 后台，全局 - 上传设置 - 基本设置 - 本地附件 URL 地址 中改为 CDN 链接 https://cdn.tecbbs.com/data/attachment。如果使用了远程附件，则为远程附件做 CDN 加速，并且在远程附件配置中把 远程访问 URL 改为 CDN 链接。JS CSS接入CDNDiscuzX 的 JS 和 CSS 会缓存到 data/cache 目录下，因此首先为此目录添加 static.tecbbs.com 域名：location ^~ /data/cache/ {root /var/www/discuz; expires 1d;}然后到后台，全局 - 性能优化 - 服务器优化，修改 JS 文件 URL 及 CSS 文件 URL 为 CDN 链接。staticurl接入CDN为 static/ 目录添加 static.tecbbs.com 域名：location ^~ /static/ {root /var/www/discuz; expires 1d;}config/config_global.php 中，修改以下配置为 CDN 链接：$_config'output' = 'https://cdn.tecbbs.com/static/'界面基础图片目录接入CDN已经为 static/ 目录添加域名，然后界面基础图片目录可以直接修改为 CDN 链接。进入后台， 界面 - 风格管理，编辑当前使用的模板，找到 界面基础图片目录 {IMGDIR}，改为 https://cdn.tecbbs.com/static/image/common。头像，插件等接入CDN这一部分思路都类似，都使基于 Nginx sub_filter 模块来做，和 WordPress 方案类似。DiscuzX 主域名的配置中配置 sub_filter：cdnsub_filter 'https://www.tecbbs.com/uc_server/data/avatar/' 'https://cdn.tecbbs.com/uc_server/data/avatar/';相册cdnsub_filter '<img src="data/attachment/album/' '<img src="https://cdn.tecbbs.com/data/attachment/album/';插件，可根据情况为指定插件开启sub_filter 'source/plugin/zxsq_' 'https://cdn.tecbbs.com/source/plugin/zxsq_';sub_filter_types *;sub_filter_once off;然后在 static.tecbbs.com 域名下配置：location ~ /uc_server/data/avatar/(\d\d\d)/(\d\d)/(\d\d)/(\d\d)_avatar_(.+?).jpg {root /var/www/discuz; set $avatar1 $1; set $avatar2 $2; set $avatar3 $3; set $avatar4 $4; set $avatarsize $5; # 用户未上传头像的情况，根据自身情况配置 @avatar try_files $uri @avatar; # 设置过期时间，否则cdn不会命中缓存 # 对头像来说，短一些比较合适，否则用户更新头像不生效 expires 1d;}location ^~ /source/plugin/ {root /var/www/discuz; expires 1d;}解决字体跨域，某些插件可能引用了字体location ~* .(eot|ttf|woff|woff2)$ {add_…

群晖Docker开启网桥桥接bridge-host
type: item
date: 2025-03-20T10:32:31+08:00
description: 前言群晖Docker默认网络模式是bridge和host，通过手动添加第三种bridge-host模式，可以把Docker容器模拟成一台新的客户端一样，容器会有自己的内网IP地址，端口独立分配。对比Bridge：docker容器内部虚拟网桥，容器内部172.17.0.X网段，无法获取主机网络ip，访问容器需要映射端口，并且不能和主机占用端口冲突，不映射端口无法使用。Host：容器绑定到主机网卡使用主机的ip并且不能和主机占用端口冲突，使用哪些端口自动占用。bridge-host：通过主机的虚拟网卡来创建虚拟网桥，将容器的网卡绑定到这个直通局域网的虚拟网桥上，它的优点是容器获取到局域网ip，容器ip和群晖主机一个网段，端口1-65535全端口使用 不和主机冲突并且容易ip可手动指定，可以说模式就是把容器都桥接到你群晖所在的局域网开始打开群晖 控制面板 >> 网络 >> 网络界面 >> 管理 >>Open vSwitch设置启用Open vSwitch打开群晖控制面板——终端机和SNMP——启动SSH功能用putty工具SSH登录进群晖并切换到root账户群晖切换root账户sudo -i查询群晖网卡名称和IP地址ip addr执行创建网络命令，指令根据自己的IP网段修改，我的IP网段为192.168.7.X，网关地址为192.168.7.1,根据自己的需求修改创建bridge-host网络docker network create -d macvlan --subnet=192.168.7.0/24 --gateway=192.168.7.1 -o parent=ovs_eth0 bridge-host做了端口汇聚创建bridge-host网络docker network create -d macvlan --subnet=192.168.7.0/24 --gateway=192.168.7.1 -o parent=ovs_bond0 bridge-host群晖Docker开启局域网桥接打开Docker，点击网络，可以看见我们创建的bridge-host创建容器网络可以在群晖docker面板——网络里面修改注意：如果创建Docker容器的时候使用bridge-host网络模式，并不手动指定IP的话，默认会从192.168.x.2,192.168.x.3排列下去。手动指定容器的IP容器绑定到桥接网卡，并指定ip： --network bridge-host --ip=192.168.7.21举例:启动hushunxu/qinglong_base映像命名为qinglong并使用bridge-host网络手动分配192.168.7.21 IP地址docker run -itd --restart=always --network bridge-host --ip=192.168.7.21 --name qinglong hushunxu/qinglong_base地址冲突问题当你创建连接到 macvlan 网络的容器时，Docker 将从子网范围中选择一个地址并将其分配给你的容器。这会导致潜在的冲突：如果 Docker 选择了一个已经分配给你网络上另一台主机的地址，那么你就有问题了！你可以通过保留一部分子网范围供 Docker 使用来避免这种情况。此解决方案有两个部分：你必须在网络上配置任何 DHCP 服务，使其不会分配给定范围内的地址。你必须告诉 Docker 保留的地址范围。如何完成前者完全取决于你的本地网络基础设施，超出了本文档的范围。后一项任务是通过--ip-range选项来完成的docker network create。在我的本地网络上，我的 DHCP 服务器不会分配上述任何地址192.168.7.190。我决定将子集分配给 Docker 192.168.7.192/27，它是一个 32 个地址范围，从 192.168.7.192 开始，到 192.168.7.223 结束。相应的docker network create命令将是：docker network create -d macvlan -o parent=ovs_eth0 --subnet 192.168.7.0/24 --gateway 192.168.7.1 --ip-range 192.168.7.192/27 bridge-host###端口汇聚:docker network create -d macvlan -o parent=ovs_bond0 --subnet 192.168.7.0/24 --gateway 192.168.7.1 --ip-range 192.168.7.192/27 bridge-host现在可以创建连接到我的本地网络的容…

vim中进行复制粘贴
type: item
date: 2025-03-20T10:24:23+08:00
description: 1.vim中的复制按住shift键选中ctrl+insert键就是复制复制出来ctrl + V粘贴2.windows复制ctrl + c 复制shirt + insert 键粘贴