首页
斐讯设备
疯言疯语
系统运维
编程语言
网站建设
友情连接
推荐
autojs
Search
1
charles破解注册码(含windows和mac)最新安装教程「亲测有效」
57 阅读
2
aris常用命令收集
32 阅读
3
【N1和Armbian】一、N1刷Linux系统armbian
31 阅读
4
docker更新现有容器为自动重启
28 阅读
5
[上]JAVA学习系列模块九第五章186.对象数组_基本使用
26 阅读
登录
Search
标签搜索
JAVA
JAVA学习系列
docker
Linux
js
N1
git
模块二
模块一
端口
模块五
数据库
模块九
模块四
镜像
模块三
模块六
MySQL
百度网盘
nginx
DaiMaFengZi
累计撰写
591
篇文章
累计收到
10
条评论
首页
栏目
斐讯设备
疯言疯语
系统运维
编程语言
网站建设
页面
友情连接
推荐
autojs
搜索到
65
篇与
的结果
2024-11-29
【N1和Armbian】十、Docker装wireguard进行多局域网组网教程
【N1和Armbian】十、Docker装wireguard进行多局域网组网教程看另一篇文章吧,方法是一样的。使用wireguard搭建实现异地组网并使用 wg-gen-web 来管理 WireGuard 的配置
2024年11月29日
3 阅读
0 评论
0 点赞
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日
17 阅读
0 评论
0 点赞
2024-07-10
【openvpn系列三】解决OpenVPN客户端可以连接,且只能访问openvpn本机服务器问题
【openvpn系列三】解决OpenVPN客户端可以连接,且只能访问openvpn本机服务器问题起因公司服务器停电。导致服务器全部重启之后,openvpn可以连接,但是连接后只能访问openvpn本身的那台服务器,并无法访问其他内网服务器,也不能上外网。解决办法查询是否是防火墙关闭了。因为openvpn需要转发流量,如果没有防火墙的话,是无法转发的。
2024年07月10日
4 阅读
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日
2 阅读
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日
5 阅读
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日
2 阅读
0 评论
0 点赞
1
2
3
...
9