OpenWrt 软路由

Tags
weblinux
Created
Jul 19, 2025 3:50 PM

SSH 连接:/etc/dropbear/authorized_keys

需要手动挂载外置硬盘 // 可以配置自动

整个 /root 目录挂载到外置硬盘 Zed 就连不上 // 不知是不是 Zed 的 Bug

安装软件需要先更新源(类似 linux):apk update

v2ray 除了 core 外还有 geoip geosite 这两个要装下,不然默认配置会读取他们读不到

进程管理守护程序 procd

  • /etc/init.d/v2ray 服务启动脚本
  • /etc/config/v2ray 服务配置文件,这里面要开启,UCI 规范

透明代理https://deepzz.com/post/router-openwrt-v2ray-tproxy.html

  • 配置防火墙 (iptables / nftables(新)),有些要避开代理,其他则要将流量重定向 v2ray 监听端口
    • /etc/nftables.d 是 nftables 的自定义规则
  • 处理 DNS 污染和泄露

流量类型:

  • DNS 查询:UDP
  • 网站访问:TCP
  • 其他协议的流量

路由流量:

  • 连接 openwrt 本身设备的流量
  • v2ray 转发后流量
  • 大陆网站流量
  • 外网流量
# 设置策略路由
ip rule add fwmark 1 table 100 
ip route add local 0.0.0.0/0 dev lo table 100

#代理局域网设备
nft add table v2ray
nft add chain v2ray prerouting { type filter hook prerouting priority 0 \; }
nft add rule v2ray prerouting ip daddr {10.0.0.0/8, 100.64.0.0/10, 127.0.0.0/8, 169.254.0.0/16, 172.16.0.0/12, 192.0.0.0/24, 224.0.0.0/4, 240.0.0.0/4, 255.255.255.255/32} return
nft add rule v2ray prerouting meta l4proto tcp ip daddr 192.168.0.0/16 return
nft add rule v2ray prerouting ip daddr 192.168.0.0/16 udp dport != 53 return
nft add rule v2ray prerouting mark 0xff return # 直连 0xff 流量
nft add rule v2ray prerouting meta l4proto {tcp, udp} mark set 1 tproxy to :12345 accept # 转发至 V2Ray 12345 端口

# 代理网关本机
nft add chain v2ray output { type route hook output priority 0 \; }
nft add rule v2ray output ip daddr {10.0.0.0/8, 100.64.0.0/10, 127.0.0.0/8, 169.254.0.0/16, 172.16.0.0/12, 192.0.0.0/24, 224.0.0.0/4, 240.0.0.0/4, 255.255.255.255/32} return
nft add rule v2ray output meta l4proto tcp ip daddr 192.168.0.0/16 return
nft add rule v2ray output ip daddr 192.168.0.0/16 udp dport != 53 return
nft add rule v2ray output mark 0xff return # 直连 0xff 流量
nft add rule v2ray output meta l4proto {tcp, udp} mark set 1 accept # 重路由至 prerouting

# DIVERT 规则
nft add table filter
nft add chain filter divert { type filter hook prerouting priority -150 \; }
nft add rule filter divert meta l4proto tcp socket transparent 1 meta mark set 1 accept
SuperMade with Super