首页
留言板
统计
友链
关于
推荐
图片压缩
在线PO转MO
柠娜汉化站
搜索
1
PCL我的世界启动器设置第三方登录
44 阅读
2
Debian搭建wireguard组网
12 阅读
3
Openclaw实战部署
12 阅读
4
开源、轻量、易用的服务器监控,实战部署哪吒监控
4 阅读
5
WireGuard跨网段流量转发实战:Linux → Windows双VPN代理 + SNAT完整配置
4 阅读
服务器
技术
闲谈
MC
VPN
登录
搜索
标签搜索
debian
服务器
Linux
监控
雨云
wireguard
Android
MC
我的世界
硬盘
nginx
反向代理
哪吒
部署
Rust
静态编译
组网
局域网
联机
虚拟网卡
mohuangNPC
累计撰写
21
篇文章
累计收到
1
条评论
首页
栏目
服务器
技术
闲谈
MC
VPN
页面
留言板
统计
友链
关于
推荐
图片压缩
在线PO转MO
柠娜汉化站
搜索到
21
篇与
的结果
2026-05-08
通过 WireGuard VPN 访问不在同局域网的局域网内机器实战记录
前言最近遇到一个典型的网络访问场景:需要通过 WireGuard VPN 访问位于远程服务器局域网内的机器,而自己不在该局域网中。虽然 VPN 能成功建立,但在访问局域网内的目标机器时,总会遇到路由和 NAT 问题,导致 ping 或服务访问不通。为了理清网络流向和解决问题,我记录了整个排查和配置过程,供大家参考。本文以 Debian 系统 + WireGuard VPN + 局域网访问 为例,结合具体 IP 拓扑,展示问题分析与解决方案。问题描述网络拓扑:本机 A:WireGuard 客户端,wg0 IP 为 172.32.100.2服务器 B:WireGuard VPN Server,wg0 IP 为 172.32.100.1服务器 C:WireGuard 客户端,wg0 IP 为 172.32.100.3,物理网卡 eth0 为 172.16.100.2目标机器:局域网内 IP 172.16.100.3,直接连接在服务器 C 所在的物理网段需求:本机 A 可以成功连接 WireGuard VPN,并且要能够访问 172.16.100.3 。目标机器与服务器 C 在同一局域网,但本机 A 并不在这个局域网中。网络拓扑图实战步骤本机wg配置首先需要在本机的wg配置中的allowips中添加一个路由172.16.100.3/32 这代表当本机访问172.16.100.3的时候会通过wg网卡发送至B服务器B配置作为组网的服务端,也需要在对应的peer中增加allowips 172.16.100.3[Peer] PublicKey = eWlvr AllowedIPs = 172.32.100.3/32,172.16.100.3/32这代表B收到172.16.100.3的请求知道发往172.32.100.3服务器 C配置此时服务器C中使用 tcpdump -i any -n icmp抓包,然后本机A ping一下172.16.100.3 应该是可以抓到流量包了,但是还无法转发 服务器C首先一定要开启ip转发echo "net.ipv4.ip_forward = 1" | sudo tee -a /etc/sysctl.conf sysctl -p然后,如果我们操作抓包,则应该会注意到:16:33:00.570423 IP 172.32.100.2 > 172.19.100.3: ICMP echo request, id 1, seq 62, length 40看上去没什么问题,但是源ip是172.32.100.2,如果不做snat,极有可能是无法发到172.19.100.3的,所以我们还要做snat,执行命令iptables -t nat -A POSTROUTING -s 172.32.100.0/24 -o eth0 -j MASQUERADE这样当从eth0出口的流量就会转为eth0网卡的ip,这样就可以成功发送给同在局域网的172.19.100.3了 此时Aping172.19.100.3即可通过菜鸟标注因为我不太懂snat以及网卡出入这个抽象概念,,第一次看到snat,就好奇如果设置了这个东西,那我本机ping 172.32.100.2的时候,虽然走了wg网卡(出口网卡),但是最终不是还会通过eth0发到公网,是否会被snat,但是答案显然易见是不会,我没找到让我能非常理解的概念,不过大体可以理解为只有一个出口网卡,你设置了路由,把172.32.100.0/24的流量路由到wg网卡,那wg就是出口网卡,然后无论最终他又通过什么方式由eth0发出去,那出口就是wg网卡不是eth0,所以snat命令也只对出口网卡是eth0的生效,如果有更好的解释方式请务必留言
2026年05月08日
1 阅读
0 评论
0 点赞
2026-04-24
WireGuard跨网段流量转发实战:Linux → Windows双VPN代理 + SNAT完整配置
前言最近遇到一个wg节点之间相互访问的问题,记录一下操作过程问题涉及机器机器A(linux) 172.40.100.3本机B(windows) 172.32.100.2(vpn1),172.40.100.2(vpn2)描述机器A有一个需求,那就是访问172.32.100.6的流量时需要把流量转发给本机B,由本机B去代为请求,并正确响应,其中172.32.100.0/24(vpn1)与172.40.100.0/24(vpn2)分别隶属不同的wg peer端解决步骤机器A增加路由首先机器A的AllowedIPs中需要增加一个172.32.100.6/32的路由,具体作用为当机器A访问172.32.100.6的相关流量时会走当前(vpn2)的网卡vpn2服务端增加路由转发接下来去172.40.100.0/24组网的wg服务端中,在wg的conf中的对应peer(172.40.100.2)中的AllowedIPs也增加172.32.100.6/32,目的为了当流量到服务端时,转发给本机A节点验证机器A -> 本机B此时本机B使用wireshark抓包vpn2网卡,在机器A中ping 172.32.100.6, 会发现已经可以抓到流量了本机B配置IP转发因为本机B是windows所以默认没有开启ip转发,执行命令Set-NetIPInterface -InterfaceAlias "vpn1" -Forwarding Enabled Set-NetIPInterface -InterfaceAlias "vpn2" -Forwarding Enabled该命令的作用为将vpn1和vpn2开启ip转发,可以让vpn2的目标ip为172.32.100.6的流量转发给vpn1,但注意该命令非持久化,重启电脑或者网卡重新开启关闭就会失效,最好写到wg脚本中//查看各个网卡转发是否开启 Get-NetIPInterface | Select-Object ifIndex,InterfaceAlias,AddressFamily,Forwarding验证vpn2 -> vpn1此时本机B使用wireshark抓包vpn1网卡,在机器A中ping 172.32.100.6, 会发现已经可以抓到流量了,172.40.100.x -> 172.32.100.6进行SNAT此时虽然vpn1可以收到,但是因为源ip为172.40.100.x, 所以回包可能会出现问题,此时需要做一个snat,执行命令New-NetNat -Name "wg-nat" -InternalIPInterfaceAddressPrefix 172.40.100.0/24该命令的作用是创建一个wg-nat规则,可以更改源ip,粗暴理解:当某个包从A网卡到B网卡的时候,B网卡会收到的源IP会改为B网卡的IPAI解释:当一个包从A网卡进入 → 被系统转发 → 从B网卡发出时 → 发出时源IP会被改成B网卡的IP(如果命中NAT规则)包进入(zgbzw2), 不改系统决定转发 , 查路由从 vpn 发出去 , 此时 NAT 生效 , 改源IP//获取nat规则 Get-NetNat //删除nat规则 Remove-NetNat -Name "wg-nat"验证此时在机器A中ping 172.32.100.6即可成功
2026年04月24日
4 阅读
0 评论
0 点赞
2026-03-31
pgsql角色授权
-- 完整授权脚本\c your_database_name;-- 1. 授予数据库连接权限GRANT CONNECT ON DATABASE your_database_name TO your_role_name;-- 2. 授予模式权限GRANT ALL ON SCHEMA public TO your_role_name;GRANT USAGE ON SCHEMA public TO your_role_name;GRANT CREATE ON SCHEMA public TO your_role_name;-- 3. 授予现有表的所有权限GRANT SELECT, INSERT, UPDATE, DELETE, TRUNCATE, REFERENCES, TRIGGER ON ALL TABLES IN SCHEMA public TO your_role_name;-- 4. 授予未来表的所有权限ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT, INSERT, UPDATE, DELETE, TRUNCATE, REFERENCES, TRIGGER ON TABLES TO your_role_name;-- 5. 授予现有序列的所有权限GRANT USAGE, SELECT, UPDATE ON ALL SEQUENCES IN SCHEMA public TO your_role_name;-- 6. 授予未来序列的所有权限ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT USAGE, SELECT, UPDATE ON SEQUENCES TO your_role_name;-- 7. 授予现有函数的所有权限GRANT EXECUTE ON ALL FUNCTIONS IN SCHEMA public TO your_role_name;-- 8. 授予未来函数的所有权限ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT EXECUTE ON FUNCTIONS TO your_role_name;-- 9. 授予创建对象的权限(重要!)GRANT CREATE ON DATABASE your_database_name TO your_role_name;
2026年03月31日
3 阅读
0 评论
0 点赞
2026-03-11
DBeaver连接国产神通数据库
前言DBeaver是免费和开源 (GPL)为开发人员和数据库管理员通用数据库工具。神通数据库管理系统是传承航天自主创新传统,按照航天工程化和质量控制体系研制的一款自主创新、安全高效的国产数据库软件,具有通用性、高性能、高安全、高可靠、高可用等特性,提供多种版本充分满足不同业务场景需求,具备共享存储高可用、读写分离等多种部署模式,提供多种性能优化 技术,可满足用户在海量数据、高并发应用场景下对系统高性能的需求,为用户打造功能完善、稳定高效的业务数据存储管理支撑平台。最新版本DBeaver中ODBC连接方式已经弃用【Legacy ODBC driver is deprecated】,提供通用JDBCX方式进行连接神通数据库。配置流程如下:1.选择JDBCX连接方式2.编辑驱动设置,配置神通数据库连接方式3.设置神通数据库类名和URL模板类名:com.oscar.DriverURL模版:jdbc:oscar://{host}:{port}4.添加神通数据库JDBC驱动库文件基本都在神通数据库安装目录的lib下然后删除多余的别的依赖或者文件5.点击确定后保存6.输入神通数据库连接信息【IP、端口、数据库实例名称、用户名及密码】7.点击测试连接,测试是否正常连接8.完成设置点击完成,即可完成设置
2026年03月11日
3 阅读
0 评论
0 点赞
2026-02-03
Openclaw实战部署
安装nodejs安装官方推荐的NVMcurl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash代替重启shell\. "$HOME/.nvm/nvm.sh"下载并安装 Node.jsnvm install 24推荐一定要装偶数版本的,比如24,22,20验证 Node.js 版本node -v验证 npm 版本npm -v安装openclaw安装clicurl -fsSL https://openclaw.ai/install.sh | bash运行引导程序(并安装服务)openclaw onboard --install-daemon步骤 1:安全确认方向键←,选yes回车步骤2:选择模式推荐直接回车,后面可以自己修改步骤 3:选择 AI 后端和认证方式这里选择智谱的API KEY方式我选择4.7-flash 因为免费 = =!步骤4:选择消息平台这里我就跳过了,我没打算配置消息平台,因为后面我想接入QQ之类的步骤5:完成配置远程浏览器访问本机如果是本机127.0.0.1访问的话,那可直接跳到配对环节远程访问如果各位想远程访问,需要配置网关,这里推荐不要随便改动,直接安装一个nginx,将80/443反向代理到web端口配置sslopenclaw主页要求https才能使用大部分功能,各位可以自行在nginx中配置域名的ssl,或者直接在服务器自签名一个ip证书,测试不被信任的证书也可以配对配置远程访问后主页会提示disconnected (1008): pairing required这是要求咱们必须进行设备配对在服务器中执行:openclaw devices list会看到一个新的配对请求(一定要浏览器先访问,否则不会有配对请求)执行命令批准:openclaw devices approve <requestId>此时即可使用openclaw的对话功能部分疑难杂症解决方案disconnected (1008): unauthorized: gateway token missing方案1 在UI中手动配置令牌(推荐)获取令牌在终端执行以下命令,获取网关令牌:openclaw config get gateway.auth.token或者直接查看配置文件:grep -A1 '"token"' ~/.openclaw/openclaw.json2.在UI中粘贴令牌打开左侧菜单,进入 Control -> Overview 页面找到 Gateway Access Panel(网关访问面板)区域。将上一步获取的令牌粘贴到对应的输入框中,保存设置。刷新页面,连接应该会恢复正常。方案2 使用带令牌的URL直接访问在终端执行以下命令,它会自动生成并打开一个包含认证令牌的URL:openclaw dashboard这个URL会自动完成认证,无需手动输入令牌。
2026年02月03日
12 阅读
0 评论
0 点赞
1
2
...
5