首页
斐讯设备
疯言疯语
系统运维
编程语言
网站建设
友情连接
推荐
autojs
Search
1
charles破解注册码(含windows和mac)最新安装教程「亲测有效」
39 阅读
2
【omv5安装教程二】N1盒子Armbian系统下,一条命令搞定Openmediavault(OMV5)安装
18 阅读
3
【N1安装飞牛优化四】关闭不必要服务优化记录
12 阅读
4
博客简介
11 阅读
5
SSH如何访问fe80开头的ipv6????
11 阅读
登录
Search
标签搜索
JAVA
JAVA学习系列
docker
Linux
js
N1
git
模块二
端口
模块一
模块五
模块九
数据库
模块四
镜像
模块三
模块六
MySQL
百度网盘
nginx
DaiMaFengZi
累计撰写
588
篇文章
累计收到
9
条评论
首页
栏目
斐讯设备
疯言疯语
系统运维
编程语言
网站建设
页面
友情连接
推荐
autojs
搜索到
64
篇与
的结果
2024-11-29
使用wireguard搭建实现异地组网并使用 wg-gen-web 来管理 WireGuard 的配置
使用wireguard搭建实现异地组网并使用 wg-gen-web 来管理 WireGuard 的配置内容有点长,让我缕缕前言说起异地组网,之前一直在使用zerotier-planet进行搭建,使用了一段时间也挺稳定,唯一的不足就是ios平台由于系统限制没办法修改planet文件,也就没法进行组网。网上找了一圈,看到很早就有人在官方论坛里面提过这个需求,但是官方似乎对此兴趣好像不大,没办法只能研究其他组网方式,找了一圈后最后确定下来使用wireguard搭建中继服务器进行组网,wireguard的各平台支持也都比较齐全,其功能也都满足我的需求,在此记录下组网过程。画个图安装wireguard #Ubuntu22 apt install -y wireguard #Centos yum install -y wireguard #armbian yum install -y wireguard #KylinV10 yum install -y wireguard # 添加下面的配置到 /etc/sysctl.conf 后执行 sysctl -p 生效 net.ipv4.ip_forward = 1一键命令,一次性搞定。wg-gen-web 配置wg-gen-web 仓库对于新手来说,如何才能快速把 WireGuard 用起来呢?当然是通过图形管理界面啦,填几个参数,生成个二维码,再拿客户端扫下二维码就连上了,简直是比爽姐还爽~wg-gen-web 就是这样一款图形管理界面,主要包含以下这些功能:根据 CIDR 自动分配 IP 地址给客户端;每个客户端会生成 QR 二维码,方便移动客户端扫描使用;支持通过邮件发送二维码和配置文件;支持启用和禁用某个客户端;支持 IPv6;支持使用 GitHub 和 Oauth2 OIDC 来进行用户认证;颜值还比较高。wg-gen-web 支持直接通过容器来运行,如果你是在本地运行,可以准备一份 docker-compose 文件:version: '3.6' services: wg-gen-web: image: vx3r/wg-gen-web:latest container_name: wg-gen-web restart: always expose: - "8080/tcp" ports: - 80:8080 environment: - WG_CONF_DIR=/data - WG_INTERFACE_NAME=wg0.conf - OAUTH2_PROVIDER_NAME=fake - WG_STATS_API=http://<API_LISTEN_IP>:8182 volumes: - /etc/wireguard:/data network_mode: bridge wg-json-api: image: james/wg-api:latest container_name: wg-json-api restart: always cap_add: - NET_ADMIN network_mode: "host" command: wg-api --device wg0 --listen <API_LISTEN_IP>:8182我习惯于用docker命令来安装:docker run --rm -it -v /tmp/wireguard:/data -p 8080:8080 -e "WG_CONF_DIR=/data" vx3r/wg-gen-web:latest这里还用到了另外一个项目 wg-api,该项目提供了一个 JSON-RPC 接口,用来暴露 WireGuard 的网络状态信息。其中 <API_LISTEN_IP> 可以直接替换成 docker0 的 IP。执行以下命令运行 wg-gen-web:docker-compose up -d在浏览器中输入 URL 打开图形管理界面,点击 “SERVER” 开始填写服务端和客户端的配置信息:这里的 PostUp和PostDown我只有如下设置的时候才行,不知道是不是我的内网原因。各位看着弄 #PostUp iptables -A FORWARD -i wg0 -j ACCEPT; iptables -A FORWARD -o wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE #PostDown iptables -D FORWARD -i wg0 -j ACCEPT; iptables -D FORWARD -o wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE填写好配置信息后,直接点击 UPDATE SERVER CONFIGURATION 保存,同时会生成配置文件 wg0.conf: cat /etc/wireguard/wg0.conf # Updated: 2021-01-20 03:59:37.718655459 +0000 UTC / Created: 2021-01-20 03:32:28.045982181 +0000 UTC [Interface] Address = 10.6.6.1/24 ListenPort = 51820 PrivateKey = iLPeSYaKYERfyrOX/YcAam4AIIHCNEBXnqL2oRedAWQ= PreUp = echo WireGuard PreUp PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -A FORWARD -o wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE PreDown = echo WireGuard PreDown PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -D FORWARD -o wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE注意: 这里如果需要多个内网网段,记得都填写下去接下来点击 CLIENTS,然后点击 ADD NEW CLIENT 开始新增客户端配置:填写客户端配置信息:点击 SUBMIT,就会在 /etc/wireguard 目录下生成客户端的 json 配置文件:cat /etc/wireguard/f5fcc1e7-e03a-48bb-acd9-8d5214c6cb1f { "id": "f5fcc1e7-e03a-48bb-acd9-8d5214c6cb1f", "name": "test", "email": "yangchuansheng33@gmail.com", "enable": true, "ignorePersistentKeepalive": false, "presharedKey": "8QkkeXGt4D/lnLDA1jfJUhB3oiShhRWp/GC8GFQtgKs=", "allowedIPs": [ "10.6.6.0/24" ], "address": [ "10.6.6.2/32" ], "tags": [], "privateKey": "ODN2xN12p5lwcEuj20C4uZV9kJE9yHz4eAHB/4czPEM=", "publicKey": "k2Ut15aQn7+mNHqEd4bwdNx3WcvA4F7SPmETYuWdSjM=", "createdBy": "Unknown", "updatedBy": "", "created": "2021-01-20T05:19:16.659225991Z", "updated": "2021-01-20T05:19:16.659225991Z" }如果勾选了 “Enable client after creation”,还会将 peer 的配置加入 wg0.conf:cat /etc/wireguard/wg0.conf # Updated: 2021-01-20 03:59:37.718655459 +0000 UTC / Created: 2021-01-20 03:32:28.045982181 +0000 UTC [Interface] Address = 10.6.6.1/24 ListenPort = 51820 PrivateKey = iLPeSYaKYERfyrOX/YcAam4AIIHCNEBXnqL2oRedAWQ= PreUp = echo WireGuard PreUp PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -A FORWARD -o wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE PreDown = echo WireGuard PreDown PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -D FORWARD -o wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE # test / yangchuansheng33@gmail.com / Updated: 2021-01-20 05:19:16.659225991 +0000 UTC / Created: 2021-01-20 05:19:16.659225991 +0000 UTC [Peer] PublicKey = k2Ut15aQn7+mNHqEd4bwdNx3WcvA4F7SPmETYuWdSjM= PresharedKey = 8QkkeXGt4D/lnLDA1jfJUhB3oiShhRWp/GC8GFQtgKs= AllowedIPs = 10.6.6.2/32最后直接启动 wg-quick 服务就行了:systemctl start wg-quick@wg0如果你之前已经启动过该服务,现在只需要重启就行了:systemctl restart wg-quick@wg0每次更新配置后都要手动 reload 还是很麻烦的,我们可以通过 systemd 来监听配置文件的实时变化,一但配置文件有所改动,就立即触发 reload。方法也很简单,先创建一个 wg-gen-web.service 用来 reload:# /etc/systemd/system/wg-gen-web.service [Unit] Description=Restart WireGuard After=network.target [Service] Type=oneshot ExecStart=/usr/bin/systemctl reload wg-quick@wg0.service [Install] WantedBy=multi-user.target然后再创建一个同名的 wg-gen-web.path 用来监听文件变化:# /etc/systemd/system/wg-gen-web.path [Unit] Description=Watch /etc/wireguard for changes [Path] PathModified=/etc/wireguard [Install] WantedBy=multi-user.target设置开机自启:systemctl enable wg-gen-web.service wg-gen-web.path --now后面如果再到 Web 页面上更新配置信息,会立即触发 reload,不需要再自己手动 reload 了。查看接口信息:wg show wg0 interface: wg0 public key: dG5xPA7Q6X7ByeNl5pasI/8ZPhiTOsfsy0NUX4w2wmI= private key: (hidden) listening port: 51820 peer: k2Ut15aQn7+mNHqEd4bwdNx3WcvA4F7SPmETYuWdSjM= preshared key: (hidden) allowed ips: 10.6.6.2/32客户端建立连接Linux客户端# 安装wireguard apt install -y wireguard # 添加下面的配置到 /etc/sysctl.conf 后执行 sysctl -p 生效 net.ipv4.ip_forward = 1将上面服务器添加的客户端配置文件下载后 存放到 /etc/wireguard/并执行启动程序systemctl reload wg-quick@wg0启动后ping一下上面设置的局域网内网连接,如果通了,则组网成功!一些优化有时外网IP变化了,wg服务并未报错,但是也没有重连到中继服务器上,造成机器离线,这里新增一个watchdog服务进行连接保活监控# 新建watchdog服务 vim /lib/systemd/system/wg-watchdog.service # 添加下面代码到service中 [Unit] Description=Wireguard Watchdog After=network.target StartLimitIntervalSec=0 [Service] Type=simple Restart=always RestartSec=10 ExecStart=/etc/wireguard/watchdog.sh [Install] WantedBy=multi-user.target# 新建脚本 vim /etc/wireguard/watchdog.sh # 添加下面代码到watchdog.sh中 #!/bin/bash # TARGET_HOST 根据实际情况修改,这里是中继服务器的内网IP TARGET_HOST='10.0.1.1' # this is your wireguard network server IP UP=false while true do count=$(ping -c 1 $TARGET_HOST | grep rtt | wc -l) if [ $count -eq 0 ]; then echo "$(date)" "Target host" $TARGET_HOST "unreachable, reinitiating wireguard wg0 interface!" systemctl restart wg-quick@wg0 UP=false else if [ $UP = false ]; then echo "$(date)" "Wireguard connection reestablished!" fi UP=true fi sleep 10 done最后启动服务systemctl daemon-reload systemctl start wg-watchdog systemctl enable wg-watchdog脚本原理是每隔10秒ping一下中继服务器IP,如果ping不通则说明本机离线,检测到离线后就重启wg服务,这样就可以保证机器一直在线了。
2024年11月29日
4 阅读
0 评论
0 点赞
2024-11-29
【N1和Armbian】九、Docker装青龙 n1盒子教程
我就懒得截图了,就一个命令而已docker run -dit \ -v /mnt/H1/qinglong/ql/data:/ql/data \ -p 5700:5700 \ --name qinglong \ --hostname qinglong \ --restart unless-stopped \ whyour/qinglong:latest安装好之后访问 IP:5700进行访问
2024年11月29日
4 阅读
0 评论
0 点赞
2024-10-29
斐讯N1webpad2.0固件,以及刷机Armbian用到固件等
斐讯N1webpad2.0固件,以及刷机Armbian用到固件等下载地址{cloud title="189天翼云盘(访问码:xag5)" type="default" url="https://cloud.189.cn/web/share?code=JF7v22Rr6bYr" password=""/}
2024年10月29日
2 阅读
0 评论
0 点赞
2024-07-10
【openvpn系列三】解决OpenVPN客户端可以连接,且只能访问openvpn本机服务器问题
【openvpn系列三】解决OpenVPN客户端可以连接,且只能访问openvpn本机服务器问题起因公司服务器停电。导致服务器全部重启之后,openvpn可以连接,但是连接后只能访问openvpn本身的那台服务器,并无法访问其他内网服务器,也不能上外网。解决办法查询是否是防火墙关闭了。因为openvpn需要转发流量,如果没有防火墙的话,是无法转发的。
2024年07月10日
0 阅读
1 评论
0 点赞
2024-07-10
【N1和Armbian】N1安装armbian后不会自动挂载WebDav盘,开机自动挂载在WebDAV
N1安装armbian后不会自动挂载WebDav盘,设置开机自动挂载在WebDAV普通挂载后,重启就会发现通过 WebDAV 挂载的磁盘没有了,也就意味着你每次重启 Linux 系统,都需要重新挂载,这时候需要更改几个设置来实现开机自动挂载。第一步.更改配置编辑davfs2.conf配置文件,将use_locks的1改为0vim /etc/davfs2/davfs2.conf# davfs2 configuration file 2012-07-19 # version 9 # ------------------------------------ # Copyright (C) 2006, 2007, 2008, 2009, 2012 Werner Baumann # Copying and distribution of this file, with or without modification, are # permitted in any medium without royalty provided the copyright notice # and this notice are preserved. # Please read the davfs2.conf (5) man page for a description of the # configuration options and syntax rules. # Available options and default values # ==================================== # General Options # --------------- # dav_user davfs2 # system wide config file only # dav_group davfs2 # system wide config file only # kernel_fs fuse # buf_size 16 # KiByte # WebDAV Related Options # ---------------------- # use_proxy 1 # system wide config file only # proxy # system wide config file only # servercert # clientcert # secrets ~/.davfs2/secrets # user config file only # ask_auth 1 use_locks 0 # lock_owner <user-name> # lock_timeout 1800 # seconds # lock_refresh 60 # seconds # use_expect100 0 # if_match_bug 0 # drop_weak_etags 0 # allow_cookie 0 # precheck 1 # ignore_dav_header 0 # server_charset # connect_timeout 10 # seconds # read_timeout 30 # seconds # retry 30 # seconds # max_retry 300 # seconds # add_header # Cache Related Options # --------------------- # backup_dir lost+found # cache_dir /var/cache/davfs2 # system wide cache # ~/.davfs2/cache # per user cache # cache_size 50 # MiByte # table_size 1024 # dir_refresh 60 # seconds # file_refresh 1 # second # delay_upload 10 # gui_optimize 0 # Debugging Options # ----------------- # debug # possible values: config, kernel, cache, http, xml, # httpauth, locks, ssl, httpbody, secrets, most第二步.添加账号修改secrets文件,添加账号信息vim /etc/davfs2/secrets在底部添加账号信息,如https://pan.cloud.com/dav user password第三步.添加开机挂载命令vim /etc/rc.local末尾添加挂载命令,和挂在U盘一样mount -t davfs https://pan.cloud.com/dav /mnt/H1/ALiYun重启即可自动挂载。
2024年07月10日
0 阅读
0 评论
0 点赞
2024-07-10
【N1和Armbian】六、N1安装armbian后将阿里网盘WEBDAV挂载为本地磁盘
阿里的webdav方式方式有很多,比如使用alist,使用aliyundrive-webdav.alist方式的webdavalist的方式我就不多说了,可以看官网文档:https://alist.nn.ci/zh/aliyundrive-webdav方式愿意折腾的,也可以不使用docker,可以去原作者的github上去看看其他方式 GitHub地址使用docker拉取aliyundrive-webdav镜像docker pull messense/aliyundrive-webdav获取阿里网盘的REFRESH_TOKEN获取阿里令牌启动阿里网盘WebDAV的服务docker run -d \ --name=aliyundrive-webdav \ --restart=unless-stopped \ -p 9527:8080 \ -v /mnt/H1/aliyun-webdav/:/etc/aliyundrive-webdav/ \ -e REFRESH_TOKEN='刚刚复制的REFRESH_TOKEN' \ -e WEBDAV_AUTH_USER=daimafengzi \ -e WEBDAV_AUTH_PASSWORD=Gongxifacai168.. \ messense/aliyundrive-webdav验证是否已经正常启动在你的浏览器地址栏上,直接输入设备的ip:端口,然后输入启动时设置的账号密码,查看里面文件是否是你网盘的文件,有就说明正常启动连接到你的网盘了比如我的是192.168.31.132:9527安装davfs2,挂载webdav为本地路径安装软件apt-get install davfs2创建共享的文件夹(你想放在哪个目录下,就在哪儿创建)mkdir /aliyundrive更改文件夹的访问权限(你刚刚创建的文件夹)chmod 777 /aliyundrive将网盘挂载到系统的本地路径,执行完命令后会提示你输入账号密码,输入运行webdav时创建的账号密码即可mount -t davfs http://127.0.0.1:9527/ /aliyundrive在这个例子中,使用的是本地地址(127.0.0.1)和端口9527。你得替换成你自己的IP验证挂载是否成功执行完命令后,能看到一块你网盘大小的磁盘被挂载到你刚创建的文件夹上df -h完美安装,可以备份数据哦每天定时压缩打包日期格式的文件shell脚本mysql 怎么做定时备份 / mysql 备份 / sql文件导出
2024年07月10日
2 阅读
0 评论
0 点赞
2023-11-24
【N1和Armbian】七、如何使用docker搭建DDNS-GO教程
docker安装ddns-godocker pull jeessy/ddns-go docker run -d --name ddns-go --restart=always --net=host -v /opt/ddns-go:/root jeessy/ddns-go访问Web面板http://IP:9876设置选择,CloudFlare,然后点击蓝色的“创建令牌->编辑区域DNS(使用模板)”跳转到cloudflare token配置页面。(不要偷懒,不要搞错了api弄上去是没用的)最终会得到一个token,然后将token填写到管理页面的Token输入框内。ipv4配置选择启用,然后在Domains填写自己想更新ip的域名,也可以填多个。ipv6配置这里根据自己家网络能获取到ipv6,以及是否要开放ipv6访问来决定。安全配置这里最好禁用公网访问,只让通过局域网或者当前主机进行访问,来提高安全性用户名+密码也配上,增加安全性Webhook可以用来增加一些额外的自定义事件,比如钉钉、飞书的通知保存保存后,ddns就会发起一次cloudflare接口请求,比较ip是否发生变化,页面右侧会有比较日志。至此,ddns的配置就完成了。为了测试,此时可以把主机关机,然后再开机,让其进行一次自动拨号获取最新的公网ip,然后自动更新域名解析。因为docker服务是开机启动的,并且容器也配置了–restart=always参数,会随docker启动后自动启动,所以ddns-go检测到ip变化会及时更新。
2023年11月24日
1 阅读
0 评论
0 点赞
2023-08-02
qBittorrent常用命令
启动qbittorrent-nox并创建服务配置sudo systemctl daemon-reload # 重新加载systemd守护程序 systemctl enable qbittorrent-nox # 使qbittorrent-nox.service生效 systemctl start qbittorrent-nox # 启动qbittorrent-noxqbittorrent-nox控制命令systemctl start qbittorrent-nox # 启动qbittorrent-nox systemctl restart qbittorrent-nox # 重启qbittorrent-nox systemctl stop qbittorrent-nox # 停止qbittorrent-nox systemctl status qbittorrent-nox # 查看qbittorrent-nox状态卸载qbittorrent-nox如果你觉得qbittorrent不能满足自己的需求,或者没有达到预期,想要删除bittorrent客户端,可以使用系统包管理器或运行命令:apt remove qbittorrent-nox如果需要卸载qbittorrent和它的各种依赖,可以使用如下命令apt -y autoremove qbittorrent-nox如果需要卸载qbittorrent和它设置和数据文件,可以使用如下命令apt-get -y purge qbittorrent-nox如果需要卸载qbittorrent、它设置和数据文件以及各种依赖,可以使用如下命令apt-get -y autoremove --purge qbittorrent-nox
2023年08月02日
1 阅读
0 评论
0 点赞
1
2
3
...
8