sshuttle - 更智能的 SSH VPN 方案
sshuttle
更智能的方案(推荐使用 sshuttle)
如果不需要精细控制 TUN 设备,推荐使用轻量级 SSH VPN 工具:
1 | # 安装 sshuttle(Python 编写,无需内核驱动) |
效果:
- 所有流量自动通过 SSH 隧道
- 无需手动配置 TUN 设备
- 自动处理路由规则
两种方案对比
特性 | 原生 SSH TUN 方案 | sshuttle 方案 |
---|---|---|
配置复杂度 | 高(需手动管理设备) | 低(一键启动) |
跨平台兼容性 | 依赖 TUN 驱动 | 纯 Python 实现 |
流量控制 | 需手动配置路由 | 自动路由所有流量 |
系统权限需求 | 需要 root/sudo | 普通用户权限 |
适用场景 | 需要精细控制网络层 | 快速建立全流量 VPN |
测试连接
对于原生 SSH TUN 方案:
1 | # 连接并创建隧道 |
常见问题处理
出现
utun0: Network is down
错误- 确认已安装 TUN 驱动
- 检查
sudo
权限是否配置正确
sshuttle 无法启动
- 指定 Python3 路径:
--python $(which python3)
- 确保远程服务器允许 SSH 端口转发
- 指定 Python3 路径:
部分应用不遵循系统路由
- 配合使用
--dns
参数转发 DNS 请求
1
sshuttle -r user@host --dns 0.0.0.0/0
- 配合使用