菜单

openwrt连接爱快VPN服务器

发布于 2025年07月18日

实现效果:让连接OpenWRT路由器的终端设备访问VPN服务器资源

问题:需解决路由推送、防火墙放行和NAT豁免三个核心问题。

🔧 ​一、OpenWRT路由器端关键配置​

1.安装openvpn,安装好如下所示3个包,安装后重启一下路由器

2.配置vpn客户端

配置文件内容如下:

client
dev-type tun
dev tunx
proto udp
tun-mtu 1400
cipher BF-CBC
comp-lzo
remote ikuai.rongtech.top 1194
resolv-retry infinite
nobind
persist-key
persist-tun
verb 3
auth-user-pass  '/etc/openvpn/auth-user.txt'#这个文件存放vpn用户名和密码,第一行用户名,第二行密码
script-security 2
push 'route 192.168.6.0 255.255.255.0'#推送openwrt 网段到vpn服务器
<ca>
#换成自己的证书
</ca>

# redirect-gateway def1 bypass-dns  # uncomment to set as default gateway
# route-nopull  # uncomment to disable server route push
#

3. ​推送终端子网到VPN服务器​.见上面的配置

修改OpenVPN客户端配置文件(/etc/openvpn/你的配置.ovpn),添加本地子网路由推送指令:

push "route 192.168.7=6.0 255.255.255.0"  # 替换为你的终端设备所在子网[3,6](@ref)
  • 作用​:告知VPN服务器客户端终端子网的存在,使其能正确回传数据包。

  • 验证​:VPN连接后执行 ip route,确认目标网络(如 192.168.10.0/24) 的下一跳为VPN接口(如 tunx)。

2. ​防火墙放行终端流量​

通过SSH登录OpenWRT,执行以下命令:

# 允许终端子网流量进入VPN隧道
uci add firewall rule
uci set firewall.@rule[-1].name='Allow-LAN-to-VPN'
uci set firewall.@rule[-1].src='lan'         # 源区域为LAN
uci set firewall.@rule[-1].dest='wan'        # 目标区域为WAN(VPN流量出口)
uci set firewall.@rule[-1].proto='all'
uci set firewall.@rule[-1].target='ACCEPT'
uci commit firewall
service firewall restart[4,7](@ref)

3. ​豁免VPN流量的NAT伪装​

# 避免终端流量被错误NAT导致回程失败
iptables -t nat -I POSTROUTING -o tunx-j MASQUERADE  # 对VPN接口流量启用MASQUERADE
iptables -I FORWARD -i br-lan -o tunx-j ACCEPT       # 允许LAN→VPN转发
iptables -I FORWARD -i tunx-o br-lan -j ACCEPT       # 允许VPN→LAN转发[4,7](@ref)

注:tunx需替换为你的VPN接口名(通过 ifconfig 查看)。


💻 ​二、终端设备配置​

  1. 网关与DNS设置

    • 终端网关必须指向OpenWRT的LAN IP(如 192.168.1.1)。

    • 若需解析VPN内网域名,在终端手动设置DNS为VPN服务器内网DNS(如 10.8.0.1

  2. 静态路由(非必须)​
    仅当路由器未自动下发路由时需手动添加:

    # Linux终端
    sudo ip route add 10.8.0.0/24 via 192.168.1.1
    # Windows终端
    route add 10.8.0.0 mask 255.255.255.0 192.168.1.1

三、验证

使用连接openwrt路由器的终端直接ping 爱快路由器网关192.168.9.1,验证连通成功。



评论