Closed z499738316 closed 1 year ago
@a499738316 你好!请启用 Libreswan 日志,重新连接 VPN 客户端,然后检查日志是否有错误。
你可以尝试在连接 VPN 后访问 https://1.1.1.1,如果可以访问,可能是 DNS 的问题。测试 DNS 的话,应该在你的安卓设备上进行(在连接 VPN 后)。要为 VPN 指定其他的 DNS 服务器,请参见如何使用本镜像。你需要重新创建 Docker 容器以使对 env 文件的更改生效。
如果你有更多信息可以继续在这里回复。
你好!请启用 Libreswan 日志,重新连接 VPN 客户端,然后检查日志是否有错误。
你可以尝试在连接 VPN 后访问 https://1.1.1.1,如果可以访问,可能是 DNS 的问题。测试 DNS 的话,应该在你的安卓设备上进行(在连接 VPN 后)。要为 VPN 指定其他的 DNS 服务器,请参见如何使用本镜像。你需要重新创建 Docker 容器以使对 env 文件的更改生效。
如果你有更多信息可以继续在这里回复。
根本就不是dns的问题
@a499738316 不一定是 DNS 的问题 - 如果你有更多信息,比如 Libreswan 日志中的相关错误,请在这里回复。
另外一个可能是 Docker 容器中的 IPTables 规则不正确。要检查 IPTables 规则,请在容器中运行:
iptables -nvL; iptables -nvL -t nat
@a499738316 不一定是 DNS 的问题 - 如果你有更多信息,比如 Libreswan 日志中的相关错误,请在这里回复。
另外一个可能是 Docker 容器中的 IPTables 规则不正确。要检查 IPTables 规则,请在容器中运行:
iptables -nvL; iptables -nvL -t nat
auth.log 这个是我的日志
@a499738316 你提供的日志中没有完整的客户端连接记录,请重新尝试连接 VPN 客户端,尝试重现此问题,然后附上新的日志(可以去掉如 IP 地址和客户端名称等信息)。
另外你可以参考一下这些 Openwrt 相关的 Issue: https://github.com/hwdsl2/docker-ipsec-vpn-server/issues?q=is%3Aissue+openwrt
@a499738316 你提供的日志中没有完整的客户端连接记录,请重新尝试连接 VPN 客户端,尝试重现此问题,然后附上新的日志(可以去掉如 IP 地址和客户端名称等信息)。
另外你可以参考一下这些 Openwrt 相关的 Issue: https://github.com/hwdsl2/docker-ipsec-vpn-server/issues?q=is%3Aissue+openwrt
auth.log 这是新的日志
@a499738316 你的新日志显示 IKEv2 连接成功建立。但是连接好像遇到了网络问题。有可能是 Docker 容器中的 IPTables 规则不正确。要检查 IPTables 规则,请在容器内运行: iptables -nvL; iptables -nvL -t nat
另外看一下容器内的网络路由信息: ip route show
@a499738316 你的新日志显示 IKEv2 连接成功建立。但是连接好像遇到了网络问题。有可能是 Docker 容器中的 IPTables 规则不正确。要检查 IPTables 规则,请在容器内运行: iptables -nvL; iptables -nvL -t nat
另外看一下容器内的网络路由信息: ip route show
谢谢 请帮忙看一下网络
@a499738316 IPTables 规则中的 Chain POSTROUTING 应该还有一行,不知道是不是你的截图遗漏了一行。另外Chain INPUT应该有几条规则。你之前编辑过run.sh中的 IPTables 规则吗?
你可以尝试在容器内运行: iptables -t nat -I POSTROUTING -s 192.168.43.0/24 -o eth0 -m policy --dir out --pol none -j MASQUERADE
然后重新连接客户端。如果问题解决,你可以重新创建 Docker 容器以还原对 run.sh 中的规则的更改。
@a499738316 IPTables 规则中的 Chain POSTROUTING 应该还有一行,不知道是不是你的截图遗漏了一行。另外Chain INPUT应该有几条规则。你之前编辑过run.sh中的 IPTables 规则吗?
你可以尝试在容器内运行: iptables -t nat -I POSTROUTING -s 192.168.43.0/24 -o eth0 -m policy --dir out --pol none -j MASQUERADE
然后重新连接客户端。如果问题解决,你可以重新创建 Docker 容器以还原对 run.sh 中的规则的更改。 没有编辑过run.sh 上面的截图就是全部
运行您给的命令报错了
@a499738316 看来Openwrt的Linux内核默认未加载 IPTables policy extension。请尝试运行:
iptables -t nat -I POSTROUTING -s 192.168.43.0/24 ! -d 192.168.43.0/24 -o eth0 -j MASQUERADE
iptables -t nat -I POSTROUTING -s 192.168.43.0/24 ! -d 192.168.43.0/24 -o eth0 -j MASQUERADE
运行这行命令就没有问题了 请问我接下来该怎么做 谢谢!!!!!!!!!!
@a499738316 你只需编辑容器内的 /opt/src/run.sh, 找到以下部分
-m policy --dir out --pol none -j MASQUERADE
将它替换为
! -d 192.168.43.0/24 -j MASQUERADE
就可以了。
如果重新创建容器,需要再次编辑此文件。
@a499738316 你只需编辑容器内的 /opt/src/run.sh, 找到以下部分
-m policy --dir out --pol none -j MASQUERADE
将它替换为
! -d 192.168.43.0/24 -j MASQUERADE
就可以了。
如果重新创建容器,需要再次编辑此文件。
非常的感谢您的帮助 问题已经解决了
您好,我在openwrt的docker里安装了您的vpn,在使用安卓13自带的vpn客户端时,显示已经连接,并且在docker中也显示了连接,地址为192.168.43.10,但是就是不能访问互联网,我进入docker 并且ping了几个网站都是正常的,dns也改用了本地的dns并用nslookup测试都没有问题, 但就是能连接无法连网,用的ikev2 rsa模式