更新一下进展,给后续有需要的人参考,目前问题算是解决了,只不过暂时不确定解决方案有没有什么风险。 解决方案是在ROS上增加一条NAT规则
/ip firewall nat add chain=srcnat src-address=10.0.0.0/24 action=masquerade
src-address是wg的网段
在此之前我一直没有设置过这条规则,都用了一年多了,HA的nginx日志显示的地址也一直是我的wg网段,然后今天发现在wireguard的设置教程里往往会设置
PostUp = iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE
我感觉我之前一直是有问题的,运气好一直用着,正常就应该设置伪装的。
另外也附一张抓包的截图吧,虽然我啥都没看出来
1
maybeonly 2023-11-21 09:32:19 +08:00
如果“其他设备都是通的”,盲猜一个 nuc 设置了“只允许局域网访问”,然后你的 wg 不在同一个局域网网段
但是有一个问题,除了路由器和 nuc 以外的其他设备呢?如果其他设备也不通,那可能是路由设置错误,比如没有回程路由,和 wg 的 allowedip 没有添加内网网段之类的。 如果仍然解决不了,抓包看看。 wg 是加密的 vpn ,运营商做不到只阻断里边特定的连接。 |
2
niukuo 2023-11-21 09:43:42 +08:00 via iPhone
盲猜 nuc 子网掩码设置有问题
|
3
yukinomiu 2023-11-21 09:57:29 +08:00
wg 先回家, 然后通过其他机器作为跳板, 看看能不能连上这个 nuc; 再或者在 mikrotik 里 ping 下 nuc 的 IP, 看看能否通
|
4
mcluyu 2023-11-21 10:00:44 +08:00
NUC 时 win 系统吗? 检查下 NUC 的的网络设置是不是自动变为 公用网络 了防火墙变了局域网就访问不到了, 改为专用网络应该就可以了
|
5
Senorsen 2023-11-21 10:01:59 +08:00
对比一下 wg 网段和 nuc 的路由表
|
6
hahasong 2023-11-21 10:35:05 +08:00
太麻烦了 不如 ss+分流规则
|
7
EyebrowsWhite OP |
8
EyebrowsWhite OP |
9
Senorsen 2023-11-21 10:45:09 +08:00
另外没深度用过 RouterOS 不清楚能不能开 tcpdump ,可以在 wg interface 上抓包看看是哪一步开始出问题的(外网到 nuc 的包/nuc 回包等)
|
10
EyebrowsWhite OP @Senorsen 我对 ROS 也用的不深,不过我查资料试试看,目前好像只有抓包才能搞明白怎么回事了
|
11
ztelliot 2023-11-21 14:49:31 +08:00
@EyebrowsWhite 可以用 /tool/sniffer 抓包
|
12
surfwave 2023-11-21 15:20:46 +08:00
先 traceroute 看看哪里卡住了。建议看看主机的路由表,如果装了 docker ,docker 容器多了之后,某个容器自动生成的子网搞不好跟某台主机的 IP 会冲突。
|
13
EyebrowsWhite OP 更新一下进展,给后续有需要的人参考,目前问题算是解决了,只不过暂时不确定解决方案有没有什么风险。
解决方案是在 ROS 上增加一条 NAT 规则 `/ip firewall nat add chain=srcnat src-address=10.0.0.0/24 action=masquerade` src-address 是 wg 的网段 在此之前我一直没有设置过这条规则,都用了一年多了,HA 的 nginx 日志显示的地址也一直是我的 wg 网段,然后今天发现在 wireguard 的设置教程里往往会设置 `PostUp = iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE` 我感觉我之前一直是有问题的,运气好一直用着,正常就应该设置伪装的。 另外也附一张抓包的截图吧,虽然我啥都没看出来 ![]( ) |