目录
1. 简介
v2ray-openwrt 转发DNS是一种在OpenWRT系统上使用v2ray实现DNS转发的方法。通过配置v2ray的DNS转发功能,可以将所有DNS请求通过v2ray代理服务器进行转发,从而实现科学上网和DNS污染绕过。这种方法可以有效解决在OpenWRT路由器上无法直接使用代理的问题,为用户提供稳定可靠的科学上网体验。
2. 准备工作
2.1 硬件要求
- 支持OpenWRT固件的路由器设备
- 路由器至少需要32MB的RAM和8MB的Flash存储空间
2.2 软件准备
- OpenWRT固件 (推荐 19.07 或更新版本)
- v2ray软件包
3. 安装v2ray
3.1 添加软件源
首先需要在OpenWRT系统中添加第三方软件源,以便安装v2ray软件包。编辑 /etc/opkg.conf
文件,在文件末尾添加以下内容:
src/gz openwrt_core https://mirrors.cloud.tencent.com/openwrt/releases/19.07.7/packages/mipsel_24kc/base src/gz openwrt_packages https://mirrors.cloud.tencent.com/openwrt/releases/19.07.7/packages/mipsel_24kc/packages src/gz openwrt_routing https://mirrors.cloud.tencent.com/openwrt/releases/19.07.7/packages/mipsel_24kc/routing src/gz openwrt_telephony https://mirrors.cloud.tencent.com/openwrt/releases/19.07.7/packages/mipsel_24kc/telephony
3.2 安装v2ray
在OpenWRT系统中运行以下命令安装v2ray软件包:
opkg update opkg install v2ray
等待安装完成即可。
4. 配置v2ray
4.1 编辑配置文件
v2ray安装完成后,需要编辑其配置文件。OpenWRT系统中v2ray的配置文件位于 /etc/v2ray/config.json
。使用以下命令打开并编辑配置文件:
vi /etc/v2ray/config.json
在配置文件中添加以下内容:
{ “log”: { “access”: “/var/log/v2ray/access.log”, “error”: “/var/log/v2ray/error.log”, “loglevel”: “warning” }, “inbounds”: [ { “port”: 1080, “protocol”: “socks”, “settings”: { “auth”: “noauth”, “udp”: true } } ], “outbounds”: [ { “protocol”: “vmess”, “settings”: { “vnext”: [ { “address”: “your_v2ray_server_address”, “port”: 10086, “users”: [ { “id”: “your_uuid”, “alterId”: 64 } ] } ] } }, { “protocol”: “dns”, “settings”: { “address”: “8.8.8.8”, “port”: 53 }, “tag”: “dns-out” } ], “dns”: { “servers”: [ “8.8.8.8”, “8.8.4.4” ] }, “routing”: { “rules”: [ { “type”: “field”, “outboundTag”: “dns-out”, “domain”: [ “geosite:gfw” ] } ] }}
请根据实际情况修改以下参数:
your_v2ray_server_address
: 你的v2ray服务器地址your_uuid
: 你的v2ray用户ID(UUID)
4.2 添加DNS转发规则
接下来需要在OpenWRT的防火墙配置中添加DNS转发规则,将所有DNS请求转发给v2ray处理。编辑 /etc/config/firewall
文件,在 config forwarding
部分添加以下内容:
config forwarding option src lan option dest wan option proto udp option src_port 53 option dest_port 53
4.3 启动v2ray
完成上述配置后,就可以启动v2ray服务了。运行以下命令启动v2ray:
/etc/init.d/v2ray start
如果启动成功,v2ray服务将在后台运行。
5. 测试与验证
5.1 DNS解析测试
在OpenWRT系统中运行以下命令测试DNS解析是否正常:
nslookup www.google.com
如果能正确解析出Google的IP地址,说明DNS转发配置成功。
5.2 代理测试
可以使用以下命令测试v2ray代理是否正常工作:
curl –socks5 127.0.0.1:1080 https://www.google.com
如果能正常访问Google网站,说明v2ray代理配置成功。
6. 常见问题FAQ
6.1 v2ray无法启动?
可能是由于配置文件错误或者系统资源不足导致。请检查以下几点:
- 检查
/etc/v2ray/config.json
配置文件是否有语法错误 - 检查路由器是否有足够的内存和存储空间运行v2ray
- 尝试重启路由器或者重新安装v2ray软件包
6.2 DNS转发不生效?
请检查以下几点:
- 防火墙转发规则是否正确配置
- v2ray的DNS设置是否正确
- 系统DNS设置是否已经指向v2ray的本地监听地址
6.3 如何更新v2ray?
可以使用以下命令更新v2ray软件包:
opkg update opkg install v2ray –force-reinstall
这将会下载并安装最新版本的v2ray。更新后需要重新配置v2ray,并重启服务。