编辑 /etc/default/ufw
找到 18行左右的 DEFAULT_FORWARD_POLICY
,将值改为true
1vim /etc/default/ufw
编辑 /etc/sysctl.conf
将 net.ipv4.ip_forward=1
注释去掉,并确保值为1
1vim /etc/sysctl.conf
2sysctl -p
编辑 /etc/ufw/before.rules
在 *filter
上方,一般在最顶部,添加如下命令
docker默认情况下会使用整个172.16.0.0/12网段, 很明显对于个人用户, docker占用了太多的内网IP, 容易与其他内网网段冲突
1. 停用所有镜像
1# 停止
2docker stop $(docker ps -aq)
3# 删除
4docker rm $(docker ps -aq)
2. 清楚已经分配的网络
1docker network prune
3. 编辑配置文件
1# 创建文件
2vim /etc/docker/daemon.json
- 我将
172.18.0.1/16
分配给默认网段, 一般情况下/24
也够用 - 我将
172.19.0.0/16
分配给docker默认的ip段分配器,/26
限制每次分配的网段大小
1{
2 "bip": "172.18.0.1/16",
3 "default-address-pools": [
4 {"base": "172.19.0.0/16", "size": 26}
5 ]
6}
4. 应用配置
1systemctl daemon-reload
2systemctl restart docker
远程挂载目录
安装
1apt install sshfs
挂载
1sshfs root@10.0.0.4:/storage /mnt/storage -o _netdev,reconnect,ServerAliveInterval=15,ServerAliveCountMax=3,IdentityFile=/root/.ssh/id_ed25519
开机自动挂载
1# vim /etc/fstab
210.0.0.4:/storage /mnt/storage fuse.sshfs _netdev,reconnect,ServerAliveInterval=15,ServerAliveCountMax=3,IdentityFile=/root/.ssh/id_ed25519 0 0
NFS是一种没有加密的高性能的远程挂载工具, 如果在局域网中可以直接使用, 如果在公网环境下, 可以搭配Wireguard使用
安装
NFS服务器
假设IP: 10.0.0.4
1apt install -y nfs-kernel-server
客户端
假设IP: 10.0.0.2
1apt install -y nfs-common
创建共享
编辑配置文件
有时候服务器之间需要加密传输数据(例如NFS挂载),为了平衡延迟和速度,可以采用Wireguard来组建一个内网,这样业务数据可以通过内网IP高速和安全的传输
注意
- Wireguard有加密但无混淆,特征较为明显,谨慎用于其他用途
- Wireguard使用UDP传输,部分云服务商限制了UDP会导致性能较差
- 由于海外和国内网络互联较差, 使用了一个带优化线路的中转节点来中转国内和海外服务器, 降低连接延迟, 提高传输速度
特性
ListenPort 监听和发送端口的问题
当给Interface配置ListenPort之后,这个端口既承担了监听端口的功能,又承担了对外发送端口的功能,这会导致一些问题
Emby的硬件解码需要订阅才能使用
安装驱动
1# 安装显卡驱动
2apt install intel-media-va-driver-non-free
3# 或开源
4apt install intel-media-va-driver
5
6# 如果上述没有生效, 安装这个(不确定这个起作用没有)
7apt install i965-va-driver
配置grub
1vim /etc/default/grub
查看 GRUB_CMDLINE_LINUX
中是否有 nomodeset
项, 如果有需要去掉. 去掉之后使grub生效
如果IP被Google判定为中国, 可使用此方式修复, 视情况可能需要坚持很久
临时解决方案
访问 google.com 时,地址后加上ncr,即 google.com/ncr (ncr = no country redirect = 无国家/地区重定向)
在谷歌搜索设置里,SafeSearch选项选为Show explicit results
这是一篇指导如何使用和开发Wallet的博客
详细的内容以后再说吧, 今天连着开源了三个项目, 写了三篇博客, 燃尽了
相关项目
默认用户名及密码
- 用户名:
admin
- 密码:
password
界面预览
- 多用户
- 自定义银行,货币类型,银行卡类型
- 保存银行卡信息
- 自定义汇率
- 自定义交易分类(收入/支出/转账/兑换下的子分类
- 创建钱包, 以及钱包下的划分, 每个划分绑定到某张银行卡
- 创建愿望单, 与钱包功能一致
- 创建债务, 与钱包功能一致
- 创建订阅, 自定义付费周期, 自动计算下次付费时间, 下次付费前通过短信或邮件提醒, 自动计算每天/月/年的订阅开支
- 开支图表, 日历形式展示每天/月的开支, 饼状图展示区间内的开支占比, 折线图展示区间内的开支占比
- 通过短信或邮件发送通知
这是一篇指导如何使用和开发MSG的博客
概念介绍
- 平台: 例如SMS,邮箱,Telegram,微信
- Bot: 每个bot都可以支持一个或多个平台, 但每种平台只能绑定一个
- 通知渠道: 将Bot,平台以及发送目标绑定在一起, 同时可以给渠道设置标记(全局唯一), 发送信息时可以通过渠道ID或渠道标记向对应的渠道发送信息
相关项目
相关
苦于国内的短信平台都需要指定发送模板, 没法发送高度自定义的消息, 且模板审核过于麻烦, 因此想要自己开发一套用于发送短信的平台
受 此文章 的启发, 决定使用Air780E和树莓派制作一个能够接收和发送短信的程序
首先安装socat
1sudo apt-get install socat
启动虚拟串口
1socat -d -d pty,raw,echo=0 pty,raw,echo=0
成功后返回以下信息
12024/09/22 21:32:10 socat[1997612] N PTY is /dev/pts/13
22024/09/22 21:32:10 socat[1997612] N PTY is /dev/pts/14
32024/09/22 21:32:10 socat[1997612] N starting data transfer loop with FDs [5,5] and [7,7]
- (终端1)监听其中一个串口
cat < /dev/pts/2
- (终端2)另一个串口写入数据
echo "Hello World!" > /dev/pts/3
现在,从终端1可以看到“”Hello World!“”打印信息,证明串口创建并连接成功。