Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

wireguard-tools 安装失败,脚本中止 #128

Closed
doctorgreen4721 opened this issue Dec 1, 2024 · 4 comments
Closed

wireguard-tools 安装失败,脚本中止 #128

doctorgreen4721 opened this issue Dec 1, 2024 · 4 comments

Comments

@doctorgreen4721
Copy link

运行脚本安装warp后,使用“ wireproxy,让 WARP 在本地创建一个 socks5 代理”。
想查看一下warp ip,于是按照warp h中的提示运行warp n
但脚本提示:wireguard-tools 安装失败,脚本中止

     当前操作系统:Debian GNU/Linux 12 (bookworm)
     内核:6.1.0-27-amd64
     处理器架构:amd64
     虚拟化:microsoft
@doctorgreen4721
Copy link
Author

手动安装wireguard后,如果直接运行warp n,会导致所有流量都通过 WARP 接口,SSH连接断开。解决方案是添加路由保护或者更改warp n的相关功能。

# 保存当前 SSH 连接的 IP
SSH_IP=$(who am i | awk '{print $NF}' | sed 's/[()]//g')

# 添加路由保护
if [ -n "$SSH_IP" ]; then
ip route add $SSH_IP via $(ip route | awk '/default/{print $3}' | head -n1) dev $(ip route | awk '/default/{print $5}' | head -n1)
fi

# 启动 WARP
${SYSTEMCTL_START[int]} >/dev/null 2>&1
wg-quick up warp >/dev/null 2>&1

@fscarmen
Copy link
Owner

fscarmen commented Dec 2, 2024

你好,这几天忙没有及时回复

运行脚本安装warp后,使用“ wireproxy,让 WARP 在本地创建一个 socks5 代理”。
想查看一下warp ip,于是按照warp h中的提示运行warp n
但脚本提示:wireguard-tools 安装失败,脚本中止

wireproxy 是使用 warp y

手动安装wireguard后,如果直接运行warp n,会导致所有流量都通过 WARP 接口,SSH连接断开。解决方案是添加路由保护或者更改warp n的相关功能。

# 保存当前 SSH 连接的 IP SSH_IP=$(who am i | awk '{print $NF}' | sed 's/[()]//g')

# 添加路由保护 if [ -n "$SSH_IP" ]; then ip route add $SSH_IP via $(ip route | awk '/default/{print $3}' | head -n1) dev $(ip route | awk '/default/{print $5}' | head -n1) fi

# 启动 WARP ${SYSTEMCTL_START[int]} >/dev/null 2>&1 wg-quick up warp >/dev/null 2>&1

这个 ssh 失联的问题,应该是在 warp.conf 配置文件里有相关以防失联的。

image

@doctorgreen4721
Copy link
Author

非常感谢您的回复,我也不知道问题怎么产生的,我选择的是创建socks代理,想查看一下当前的ip信息于是用warp n,然后SSH连接就被打断了,现在这个问题解决了。

但让我困惑的还有另外一个问题,选择这两个选项都可以创建socks代理,以便用户在代理工具中使用。

 5. 安装 CloudFlare Client 并设置为 Proxy 模式 (bash menu.sh c)
13. 安装 wireproxy,让 WARP 在本地创建一个 socks5 代理 (bash menu.sh w)

我用的是vultr的VPS测试,debian12系统,关闭了防火墙。创建的代理如下:

本地 Socks5: 127.0.0.1:40000
WARP Free IPv4: 104.28.206.113 日本 Cloudflare, Inc.
WARP Free IPv6: 2a09:bac1:3b20::300:1c 日本 Cloudflare, Inc.

在singbox中通过设置域名解析策略(ipv4_only、ipv6_only)可以正常使用该代理。

但如果用curl命令似乎就出现了一些问题:

curl -4 -x socks5h://127.0.0.1:40000 -s -o /dev/null -w "%{http_code}" https://www.google.com
200

ipv4正常运行

curl -6 -v -x socks5h://127.0.0.1:40000 -s -o /dev/null -w "%{http_code}" https://www.google.com
* Closing connection 0
curl: (7) Couldn't connect to server
000

通过culr使用socks的ipv6就返回000。

这样造成的问题就是在warp i这个功能中,如果选择切换ipv6,就永远无法满足200连通的条件。我尝试了美国日本地区的vps,切换了300多个不同的ipv6,脚本还是显示无法解锁netflix,但事实上一开始的ipv6就是可以解锁的(通过singbox搭建代理设置socks ipv6_only)。
所以我就在想是不是这个问题导致的。我也先去问了AI,回答是-6会使用[::1]进行连接,如果只监听127.0.0.1就无法连接。我测试了一下,如果把/etc/wireguard/proxy.conf文件中BindAddress改成[::1],curl也改成[::1]:40000确实能连通,但总感觉有点奇怪。
若您有空的话,希望作者大大能够解惑。

@fscarmen
Copy link
Owner

fscarmen commented Dec 7, 2024

收到,抽时间看看

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants