WAX206刷OpenWrt固件安装中文解决跨网互通打印管理工具

WAX206 + OpenWrt 24.10.4 上,彻底禁用 IPv6、锁定稳定 DNS、启用 MSS 钳制,并将 5G Wi-Fi 固定为非 DFS 信道的 HE40 带宽,从链路层到无线层最大化提升国内银行/支付 App 的连接稳定性,避免转圈和偶发登录失败。

# 登陆路由器,默认
ssh root@192.168.1.1
# 如果在shell下碰到错误提示,清空IP连接
rm ~/.ssh/known_hosts
cat >/root/super_init_smart.sh <<'EOF'
#!/bin/sh
set +e

# =========================================================
# WAX206 | OpenWrt 24.10.4 | 智能模式(银行稳 / AI快 一键切换)
# 用法:
#   sh /root/super_init_smart.sh ai
#   sh /root/super_init_smart.sh bank
#   sh /root/super_init_smart.sh auto
#   sh /root/super_init_smart.sh status
# =========================================================

# ---------- 基础参数 ----------
PASS='kaixinit.com'
SSID_2G=''                 # 留空则不改 2.4G SSID
SSID_5G='OpenWrt_5G'
WIFI_COUNTRY='CN'

# Wi-Fi 稳定优先(你当前已验证 HE40 + 非 DFS 稳)
WIFI_2G_CHANNEL='1'
WIFI_2G_HTMODE='HT20'
FIX_5G_CHANNEL='1'
WIFI_5G_CHANNEL='36'
WIFI_5G_HTMODE='HE40'

# WAN(DHCP 推荐)
WAN_MTU_DHCP='1500'

# 银行稳模式下的 DNS(锁定)
BANK_LOCK_DNS_SERVERS='223.5.5.5 119.29.29.29'

# 是否“硬关 IPv6 内核”(默认 0,不启用;你要硬关再改成 1)
HARD_DISABLE_KERNEL_IPV6='0'

# 重启倒计时
REBOOT_DELAY='10'

# ---------- 日志 ----------
ok()   { echo -e "\033[32m[OK] $1\033[0m"; }
warn() { echo -e "\033[33m[WARN] $1\033[0m"; }
err()  { echo -e "\033[31m[ERR] $1\033[0m"; }

backup_uci() {
  TS="$(date +%F_%H%M%S)"
  mkdir -p /root/uci_backup >/dev/null 2>&1
  uci export network  >"/root/uci_backup/network_${TS}.uci" 2>/dev/null
  uci export dhcp     >"/root/uci_backup/dhcp_${TS}.uci"    2>/dev/null
  uci export firewall >"/root/uci_backup/firewall_${TS}.uci" 2>/dev/null
  uci export wireless >"/root/uci_backup/wireless_${TS}.uci" 2>/dev/null
  ok "已备份 UCI 配置到 /root/uci_backup/(${TS})"
}

detect_wan_proto() {
  WAN_PROTO="$(uci -q get network.wan.proto 2>/dev/null)"
  [ -z "$WAN_PROTO" ] && WAN_PROTO="unknown"
  echo "$WAN_PROTO"
}

# ---------- Wi-Fi 固化(HE40) ----------
apply_wifi_he40() {
  # 2.4G
  uci -q set wireless.radio0.disabled='0'
  uci -q set wireless.radio0.country="${WIFI_COUNTRY}"
  uci -q set wireless.radio0.channel="${WIFI_2G_CHANNEL}"
  uci -q set wireless.radio0.htmode="${WIFI_2G_HTMODE}"
  uci -q set wireless.default_radio0.encryption='psk2'
  uci -q set wireless.default_radio0.key="${PASS}"
  [ -n "$SSID_2G" ] && uci -q set wireless.default_radio0.ssid="${SSID_2G}"

  # 5G(HE40)
  uci -q set wireless.radio1.disabled='0'
  uci -q set wireless.radio1.country="${WIFI_COUNTRY}"
  uci -q set wireless.radio1.htmode="${WIFI_5G_HTMODE}"
  if [ "$FIX_5G_CHANNEL" = "1" ]; then
    uci -q set wireless.radio1.channel="${WIFI_5G_CHANNEL}"
  else
    uci -q set wireless.radio1.channel='auto'
  fi
  uci -q set wireless.default_radio1.ssid="${SSID_5G}"
  uci -q set wireless.default_radio1.encryption='psk2'
  uci -q set wireless.default_radio1.key="${PASS}"

  uci -q commit wireless
  wifi reload >/dev/null 2>&1
  ok "Wi-Fi 已固化:CN,2.4G=${WIFI_2G_CHANNEL}/${WIFI_2G_HTMODE},5G=${WIFI_5G_CHANNEL}/${WIFI_5G_HTMODE}"
}

# ---------- WAN MTU / 防火墙稳配 ----------
apply_wan_firewall_baseline() {
  WAN_PROTO="$(detect_wan_proto)"
  ok "检测到 WAN proto=${WAN_PROTO}"

  # MTU:仅 DHCP 时设
  if [ "$WAN_PROTO" = "dhcp" ] || [ "$WAN_PROTO" = "unknown" ]; then
    uci -q set network.wan.mtu="${WAN_MTU_DHCP}"
    ok "WAN MTU=${WAN_MTU_DHCP}(DHCP 推荐)"
  else
    warn "非 DHCP(${WAN_PROTO}),未强制改 MTU"
  fi

  # 防火墙:软 offload 开、硬 offload 关、MSS 钳制开
  uci -q set firewall.@defaults[0].flow_offloading='1'
  uci -q set firewall.@defaults[0].flow_offloading_hw='0'
  uci -q set firewall.@defaults[0].mss_clamping='1'

  # 放行 QUIC(删掉旧 block_quic)
  uci -q delete firewall.block_quic

  uci -q commit network
  uci -q commit firewall
  /etc/init.d/network restart >/dev/null 2>&1
  /etc/init.d/firewall restart >/dev/null 2>&1
  ok "WAN/防火墙基线已应用(MSS钳制开、硬件offload关、QUIC放行)。"
}

# ---------- IPv6 “软关”(LAN 不发 RA/DHCPv6) ----------
apply_ipv6_soft_off() {
  uci -q set dhcp.lan.dhcpv6='disabled'
  uci -q set dhcp.lan.ra='disabled'
  uci -q delete dhcp.lan.ra_slaac
  uci -q delete dhcp.lan.ra_flags

  # 仅禁用 wan6(存在则关)
  uci -q set network.wan6.disabled='1'

  uci -q commit dhcp
  uci -q commit network
  /etc/init.d/odhcpd disable >/dev/null 2>&1
  /etc/init.d/odhcpd stop >/dev/null 2>&1
  ok "IPv6 软关:LAN RA/DHCPv6 关闭 + wan6 禁用 + odhcpd stop"
}

apply_ipv6_kernel_off_if_enabled() {
  [ "$HARD_DISABLE_KERNEL_IPV6" != "1" ] && return 0
  sysctl -w net.ipv6.conf.all.disable_ipv6=1 >/dev/null 2>&1
  sysctl -w net.ipv6.conf.default.disable_ipv6=1 >/dev/null 2>&1
  sysctl -w net.ipv6.conf.lo.disable_ipv6=1 >/dev/null 2>&1
  mkdir -p /etc/sysctl.d >/dev/null 2>&1
  cat >/etc/sysctl.d/99-disable-ipv6.conf <<'SYS'
net.ipv6.conf.all.disable_ipv6=1
net.ipv6.conf.default.disable_ipv6=1
net.ipv6.conf.lo.disable_ipv6=1
SYS
  ok "已启用:内核层硬关 IPv6(sysctl.d 持久化)"
}

# ---------- 模式:AI 快 ----------
apply_mode_ai() {
  ok "应用模式:AI(GPT/Gemini 更快)"

  # WAN DNS:不锁定,让上级/代理/系统自行决定
  uci -q set network.wan.peerdns='1'
  uci -q delete network.wan.dns

  # dnsmasq:允许 AAAA(更利于海外/CDN/代理)
  uci -q set dhcp.@dnsmasq[0].filter_aaaa='0'

  uci -q commit network
  uci -q commit dhcp
  /etc/init.d/network restart >/dev/null 2>&1
  /etc/init.d/dnsmasq restart >/dev/null 2>&1

  ok "已设置:peerdns=1 + 不锁WAN DNS + filter_aaaa=0"
}

# ---------- 模式:银行稳 ----------
apply_mode_bank() {
  ok "应用模式:BANK(银行/政务稳定优先)"

  # WAN DNS:锁定
  uci -q set network.wan.peerdns='0'
  uci -q set network.wan.dns="${BANK_LOCK_DNS_SERVERS}"

  # dnsmasq:过滤 AAAA(让客户端更像“纯 IPv4”)
  uci -q set dhcp.@dnsmasq[0].filter_aaaa='1'

  uci -q commit network
  uci -q commit dhcp
  /etc/init.d/network restart >/dev/null 2>&1
  /etc/init.d/dnsmasq restart >/dev/null 2>&1

  ok "已设置:peerdns=0 + 锁WAN DNS(${BANK_LOCK_DNS_SERVERS}) + filter_aaaa=1"
}

# ---------- 自动判定:有代理倾向 AI,无代理倾向 BANK ----------
detect_proxy_like() {
  # 只做“轻量启发式”,不依赖你一定安装了哪些包
  # 命中任一:openclash / passwall / shadowsocksr / mihomo / clash / sing-box / xray
  if [ -d /etc/config ]; then
    for c in openclash passwall passwall2 shadowsocksr mihomo clash singbox sing-box xray; do
      [ -f "/etc/config/$c" ] && echo "1" && return 0
    done
  fi
  # 也检测常见进程名(存在就算)
  ps 2>/dev/null | grep -Eiq '(openclash|clash|mihomo|sing-box|xray)' && echo "1" && return 0
  echo "0"
}

show_status() {
  echo "----- 当前关键状态 -----"
  echo -n "WAN peerdns: "; uci -q get network.wan.peerdns || echo "(unset)"
  echo -n "WAN dns: "; uci -q get network.wan.dns || echo "(unset)"
  echo -n "dnsmasq filter_aaaa: "; uci -q get dhcp.@dnsmasq[0].filter_aaaa || echo "(unset)"
  echo -n "5G htmode: "; uci -q get wireless.radio1.htmode || echo "(unset)"
  echo -n "5G channel: "; uci -q get wireless.radio1.channel || echo "(unset)"
  echo -n "5G country: "; uci -q get wireless.radio1.country || echo "(unset)"
  echo -n "IPv6 soft off (dhcpv6/ra): "; echo "$(uci -q get dhcp.lan.dhcpv6)/$(uci -q get dhcp.lan.ra)"
  echo "------------------------"
}

apply_services() {
  /etc/init.d/dbus start >/dev/null 2>&1
  /etc/init.d/avahi-daemon restart >/dev/null 2>&1
}

reboot_countdown() {
  echo "系统将在 ${REBOOT_DELAY} 秒后重启(Ctrl+C 可取消)。"
  sleep "${REBOOT_DELAY}"
  reboot
}

main() {
  MODE="$1"
  [ -z "$MODE" ] && MODE="auto"

  case "$MODE" in
    ai|bank|auto|status) ;;
    *)
      err "用法:sh /root/super_init_smart.sh [ai|bank|auto|status]"
      exit 1
      ;;
  esac

  if [ "$MODE" = "status" ]; then
    show_status
    exit 0
  fi

  echo "==[0/6] 备份配置=="
  backup_uci

  echo "==[1/6] 固化 Wi-Fi(HE40 稳定)=="
  apply_wifi_he40

  echo "==[2/6] IPv6 软关(LAN 不发 RA/DHCPv6)=="
  apply_ipv6_soft_off

  echo "==[3/6] WAN/防火墙稳定基线=="
  apply_wan_firewall_baseline

  echo "==[4/6] 选择模式并应用=="
  if [ "$MODE" = "auto" ]; then
    HAS_PROXY="$(detect_proxy_like)"
    if [ "$HAS_PROXY" = "1" ]; then
      warn "检测到代理/分流组件:倾向使用 AI 模式"
      apply_mode_ai
    else
      warn "未检测到代理/分流组件:倾向使用 BANK 模式"
      apply_mode_bank
    fi
  elif [ "$MODE" = "ai" ]; then
    apply_mode_ai
  else
    apply_mode_bank
  fi

  echo "==[5/6] 可选:内核层硬关 IPv6(当前开关:${HARD_DISABLE_KERNEL_IPV6})=="
  apply_ipv6_kernel_off_if_enabled

  echo "==[6/6] 收尾与状态=="
  apply_services
  show_status

  reboot_countdown
}

main "$@"
EOF

chmod +x /root/super_init_smart.sh
你怎么用(最实用的三条)
1) 以后你想“GPT/Gemini 优先”
sh /root/super_init_smart.sh ai

2) 银行 App 这几天又开始转圈
sh /root/super_init_smart.sh bank

3) 让它自己判断(默认)
sh /root/super_init_smart.sh
# 或
sh /root/super_init_smart.sh auto


查看当前状态:

sh /root/super_init_smart.sh status

你现在的最佳建议

既然你说“方案 1+2 后更稳定”,那你长期就用:

sh /root/super_init_smart.sh ai


如果你愿意,我还可以把 auto 的判断改成更贴合你的习惯:比如检测到你常用的代理端口

你之后如果想“一键回到 HE80”

(不推荐,但你要测速可以临时用)

uci set wireless.radio1.htmode='HE80'
uci commit wireless
wifi reload

如果你愿意再把“偶发那一下”彻底榨干到更低,我下一步只会让你做二选一

  • 5G 信道从 36 换到 44(同为非 DFS,有时更空)
  • 或 WAN MTU 1500 → 1492(只在 HE40 后仍偶发才动)

[OpenWrt] 打印机与静态 IP 管理工具 (v2.7 LPR增强版)

# 登陆路由器,这个是修改后的IP登陆
ssh root@10.0.0.1
cat >/root/printer_manager.sh <<'EOF'
#!/bin/sh
# =========================================================
# [OpenWrt] 打印机与静态 IP 管理工具 (v2.7 LPR增强版)
# 功能:端口映射 (RAW/LPR/IPP) / 静态绑定 / 解绑 / MAC反查
# =========================================================

# 颜色定义
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[0;33m'
CYAN='\033[0;36m'
NC='\033[0m'

# =========================================================
# 辅助函数
# =========================================================
pause_menu() {
    echo ""
    echo -n "⌨️  按 [回车键] 返回主菜单..."
    read dummy
}

# =========================================================
# 选项 3: 查看绑定
# =========================================================
show_leases() {
    echo -e "\n${YELLOW}--- 当前 DHCP 静态绑定列表 (配置) ---${NC}"
    uci show dhcp | grep "=host" | cut -d. -f2 | cut -d= -f1 | sort -u > /tmp/dhcp_hosts.tmp
    if [ -s /tmp/dhcp_hosts.tmp ]; then
        while read -r id; do
            ip=$(uci -q get dhcp.$id.ip)
            mac=$(uci -q get dhcp.$id.mac)
            name=$(uci -q get dhcp.$id.name)
            [ -z "$name" ] && name="Unknown"
            echo -e "ID: $id | IP: ${GREEN}$ip${NC} | MAC: $mac | 名称: $name"
        done < /tmp/dhcp_hosts.tmp
    else
        echo "   (暂无静态绑定记录)"
    fi
    rm -f /tmp/dhcp_hosts.tmp
    echo "--------------------------------------"
}

# =========================================================
# 选项 1: 配置/更新
# =========================================================
do_setup() {
    echo -e "\n${GREEN}>> 进入配置模式...${NC}"
    echo -n "请输入目标 IP 地址 (内网): "
    read TARGET_IP
    if [ -z "$TARGET_IP" ]; then echo "❌ IP 不能为空"; return 1; fi

    echo -e "请输入 MAC 地址 (格式 xx:xx:xx:xx:xx:xx)"
    echo -e "${YELLOW}提示: 建议输入 MAC 以防止 IP 变动导致打印失败${NC}"
    echo -n "MAC > "
    read TARGET_MAC

    if [ -z "$TARGET_MAC" ]; then
        echo -e "${RED}警告: 未输入 MAC,IP 变动后配置将失效!${NC}"
        echo -n "确认继续吗?(yes/no): "
        read CONFIRM
        [ "$CONFIRM" != "yes" ] && return 0
    fi

    echo "正在清理旧配置..."
    uci show dhcp | grep "$TARGET_IP" | cut -d. -f2 | cut -d= -f1 | sort -u | while read -r id; do
        uci -q delete dhcp.$id
    done
    uci show firewall | grep -E "Print_|Brother_" | cut -d. -f2 | cut -d= -f1 | sort -u | while read -r rule; do
        uci -q delete firewall.$rule
    done

    # 添加防火墙转发规则函数
    add_redirect() {
        uci add firewall redirect
        uci set firewall.@redirect[-1].name="$1"
        uci set firewall.@redirect[-1].src='wan'
        uci set firewall.@redirect[-1].src_dport="$2"
        uci set firewall.@redirect[-1].dest='lan'
        uci set firewall.@redirect[-1].dest_ip="$TARGET_IP"
        uci set firewall.@redirect[-1].dest_port="$2"
        uci set firewall.@redirect[-1].proto="$3"
    }
    
    # --- 关键修改:添加了 LPR 515 端口 ---
    echo "正在添加端口转发规则..."
    add_redirect 'Print_RAW'  '9100' 'tcp'  # RAW 协议 (最推荐)
    add_redirect 'Print_LPR'  '515'  'tcp'  # LPR 协议 (v2.7 新增)
    add_redirect 'Print_IPP'  '631'  'tcp'  # IPP 协议
    add_redirect 'Print_SNMP' '161'  'udp'  # SNMP 状态
    add_redirect 'Brother_Scan' '54925-54926' 'udp' # 扫描相关

    if [ -n "$TARGET_MAC" ]; then
        uci add dhcp host
        uci set dhcp.@host[-1].name='Printer_Static'
        uci set dhcp.@host[-1].dns='1'
        uci set dhcp.@host[-1].ip="$TARGET_IP"
        uci set dhcp.@host[-1].mac="$TARGET_MAC"
        echo "✅ DHCP 静态绑定已添加"
    fi

    uci commit firewall
    uci commit dhcp
    /etc/init.d/firewall reload
    /etc/init.d/dnsmasq restart
    
    echo "----------------------------------------------------"
    echo -e "${GREEN}✅ 配置成功!内网目标 IP: $TARGET_IP${NC}"
    echo -e "已开放端口: 9100(RAW), 515(LPR), 631(IPP)"
    
    # 自动提示 WAN IP
    WAN_INFO=$(ubus call network.interface.wan status 2>/dev/null)
    WAN_IP=$(echo "$WAN_INFO" | grep -A 5 '"ipv4-address"' | grep '"address"' | head -n 1 | cut -d'"' -f4)

    if [ -n "$WAN_IP" ]; then
        echo -e "\n🌍 [上级电脑设置指南]:"
        echo -e "   在上级网络添加打印机时,请填写下面这个 IP:"
        echo -e "   👉 ${CYAN}${WAN_IP}${NC}"
    else
        echo -e "\n${YELLOW}⚠️ 暂未检测到 WAN 口 IP (网线未连接?)${NC}"
    fi
    echo "----------------------------------------------------"
}

# =========================================================
# 选项 2: 解绑 MAC
# =========================================================
do_unbind() {
    show_leases
    echo -e "${RED}>> 进入解绑模式${NC}"
    echo "请输入要解绑的 IP 地址 或 MAC 地址 (自动匹配):"
    echo -n "输入 > "
    read KEYWORD
    if [ -z "$KEYWORD" ]; then echo "未输入内容,取消。"; return 0; fi

    FOUND=0
    uci show dhcp | grep -i "$KEYWORD" | cut -d. -f2 | cut -d= -f1 | sort -u > /tmp/unbind_list.tmp
    while read -r id; do
        echo "正在删除绑定 ID: $id ..."
        uci delete dhcp.$id
        FOUND=1
    done < /tmp/unbind_list.tmp
    rm -f /tmp/unbind_list.tmp

    if [ "$FOUND" -eq 1 ]; then
        uci commit dhcp
        /etc/init.d/dnsmasq restart
        echo -e "${GREEN}✅ 解绑成功!设备需重启以获取新 IP。${NC}"
    else
        echo -e "${YELLOW}⚠️ 未找到包含 '$KEYWORD' 的静态绑定记录。${NC}"
    fi
}

# =========================================================
# 选项 4: 通过 MAC 查询 IP
# =========================================================
do_query_mac() {
    echo -e "\n${GREEN}>> 进入 MAC 反查模式${NC}"
    echo "请输入 MAC 地址 (支持模糊搜索):"
    echo -n "MAC > "
    read QUERY_MAC
    if [ -z "$QUERY_MAC" ]; then echo "输入为空,取消。"; return 1; fi

    echo -e "\n[1] 路由器静态配置 (预设值):"
    uci show dhcp | grep -i "$QUERY_MAC" | cut -d. -f2 | cut -d= -f1 | sort -u > /tmp/mac_search.tmp
    if [ -s /tmp/mac_search.tmp ]; then
        while read -r id; do
            ip=$(uci -q get dhcp.$id.ip)
            full_mac=$(uci -q get dhcp.$id.mac)
            echo -e "   📍 预设IP: ${GREEN}$ip${NC} | MAC: $full_mac"
        done < /tmp/mac_search.tmp
    else
        echo "   (无静态绑定记录)"
    fi
    rm -f /tmp/mac_search.tmp

    echo -e "\n[2] 当前实际连接 (Dnsmasq租约):"
    if [ -f /tmp/dhcp.leases ]; then
        if grep -qi "$QUERY_MAC" /tmp/dhcp.leases; then
            grep -i "$QUERY_MAC" /tmp/dhcp.leases | while read -r line; do
                ACT_IP=$(echo "$line" | awk '{print $3}')
                ACT_MAC=$(echo "$line" | awk '{print $2}')
                ACT_NAME=$(echo "$line" | awk '{print $4}')
                if [ "$ACT_NAME" = "*" ]; then ACT_NAME="未知设备"; fi
                echo -e "   🔗 在线IP: ${GREEN}${ACT_IP}${NC} | MAC: ${ACT_MAC} | 主机名: ${ACT_NAME}"
            done
        else
            echo "   (设备当前不在线)"
        fi
    else
        echo "   (❌ 无法读取租约文件)"
    fi
}

# =========================================================
# 选项 5: 查询 WAN 口信息
# =========================================================
do_show_wan() {
    echo -e "\n${CYAN}>> 正在查询上级网络连接信息...${NC}"
    WAN_INFO=$(ubus call network.interface.wan status 2>/dev/null)
    WAN_IP=$(echo "$WAN_INFO" | grep -A 5 '"ipv4-address"' | grep '"address"' | head -n 1 | cut -d'"' -f4)
    WAN_GW=$(echo "$WAN_INFO" | grep -A 5 '"route"' | grep '"nexthop"' | head -n 1 | cut -d'"' -f4)
    
    echo "----------------------------------------------------"
    if [ -n "$WAN_IP" ]; then
        echo -e "🌍 [OpenWrt WAN IP]: ${GREEN}${WAN_IP}${NC}"
    else
        echo -e "${RED}❌ 未获取到 WAN IP (网线没插好?)${NC}"
    fi
    echo ""
    if [ -n "$WAN_GW" ]; then
        echo -e "🏠 [上级路由器地址]: ${YELLOW}${WAN_GW}${NC}"
    else
        echo -e "${YELLOW}⚠️ 未检测到上级网关${NC}"
    fi
    echo "----------------------------------------------------"
}

# =========================================================
# 主循环逻辑
# =========================================================
while :; do
    clear
    echo -e "${CYAN}===[ 打印机 IP 管理中心 v2.7 (LPR版) ]===${NC}"
    echo "1. 配置/更新打印机 (更新规则)"
    echo "2. 解绑 MAC 地址"
    echo "3. 查看当前所有静态绑定"
    echo "4. 查询设备 IP (MAC反查)"
    echo "5. 查询 WAN 口地址"
    echo "0. 退出脚本"
    echo "----------------------------------------"
    echo -n "请输入数字 [0-5]: "
    read CHOICE

    case $CHOICE in
        1) do_setup; pause_menu ;;
        2) do_unbind; pause_menu ;;
        3) show_leases; pause_menu ;;
        4) do_query_mac; pause_menu ;;
        5) do_show_wan; pause_menu ;;
        0) echo "再见!"; exit 0 ;;
        *) echo -e "${RED}输入错误。${NC}"; sleep 1 ;;
    esac
done
EOF
chmod +x /root/printer_manager.sh
sh /root/printer_manager.sh

在路由器进行打印机转发规则配置:

===[ 打印机 IP 管理中心 v2.7 (LPR版) ]===
1. 配置/更新打印机 (更新规则)
2. 解绑 MAC 地址
3. 查看当前所有静态绑定
4. 查询设备 IP (MAC反查)
5. 查询 WAN 口地址
0. 退出脚本
----------------------------------------
请输入数字 [0-5]: 1

>> 进入配置模式...
请输入目标 IP 地址 (内网): 10.0.0.192
请输入 MAC 地址 (格式 xx:xx:xx:xx:xx:xx)
提示: 建议输入 MAC 以防止 IP 变动导致打印失败
MAC >
警告: 未输入 MAC,IP 变动后配置将失效!
确认继续吗?(yes/no): yes
正在清理旧配置...
正在添加端口转发规则...
cfg0f3837
cfg103837
cfg113837
cfg123837
cfg133837
udhcpc: started, v1.36.1
udhcpc: broadcasting discover
udhcpc: no lease, failing
----------------------------------------------------
✅ 配置成功!内网目标 IP: 10.0.0.192
已开放端口: 9100(RAW), 515(LPR), 631(IPP)

🌍 [上级电脑设置指南]:
   在上级网络添加打印机时,请填写下面这个 IP:
   👉 192.168.1.95
----------------------------------------------------

⌨️  按 [回车键] 返回主菜单...

🔍 打印机上的操作:

打印机面板上
功能→6.网络→OK→0.网络重置→OK→1.重置→选择数字 1→继续选择数字 1→提示 接受→重启打印机

🔍 安装打印机上的电脑操作:

接下来在安装打印机的电脑上操作安装驱动,通过官方驱动包 网络连接自定义连接,地址指定为上级路由地址 192.168.1.95:

WAX206刷OpenWrt固件安装中文解决跨网互通打印管理工具
#打开打印机设置
control printers

# 打印机右键→打印机属性→端口→配置端口
默认设置是LPR

协议:LPR

端口号:515 

队列名称:你填写的那个名字(Brother 通常是 BINARY_P1 或 print,能用就千万别改)。

取消勾选 SNMP 状态

取消勾线 双向支持【如果灰色就不要管了】

备注:万一打印不了,注意是不是 端口号 515 没有放开
如果选择RAW模式

协议:Raw

端口号:9100

取消勾选 SNMP 状态

取消勾线 双向支持【如果灰色就不要管了】

WAX206刷OpenWrt固件安装中文解决跨网互通打印管理工具

如果打印机不通的话,可以进行测试,如果打印出来写着 “Hello Network Test” 说明没啥问题,输入如下代码:

# 创建 TCP 连接
$ip = "192.168.1.95"
$port = 9100
try {
    Write-Host "正在尝试连接打印机..." -ForegroundColor Cyan
    $client = New-Object System.Net.Sockets.TcpClient($ip, $port)
    $stream = $client.GetStream()
    $writer = New-Object System.IO.StreamWriter($stream)

    # 发送 PCL 重置指令和简单的文本
    Write-Host "连接成功!正在发送测试数据..." -ForegroundColor Green
    $writer.WriteLine("Hello Network Test")
    $writer.WriteLine("If you can read this, Firewall is OK.")
    $writer.WriteLine("Time: $(Get-Date)")
    
    # 发送换页指令 (Form Feed) 强制吐纸
    $writer.Write([char]12) 
    
    $writer.Flush()
    $stream.Close()
    $client.Close()
    Write-Host "数据发送完毕!请查看打印机是否出纸。" -ForegroundColor Yellow
} catch {
    Write-Host "❌ 连接失败: $_" -ForegroundColor Red
}
正在尝试连接打印机...
连接成功!正在发送测试数据...
数据发送完毕!请查看打印机是否出纸。
打印出来提示 hello network test

以下测试是在安装打印机上的电脑操作:

Ping 测试(定位故障点)
如果第一步添加时提示“找不到设备”,请在电脑上(192.168.1.x 网络)打开 CMD,依次输入以下命令,看哪一步断了:

Ping 路由器的 WAN 口:

DOS

ping 192.168.1.95
如果不通:说明你的 WAX206 没有连接主网络,或者 IP 变了。请检查网线和 IP。

Ping 打印机 IP(假设是 10.0.0.100):

DOS

ping 10.0.0.100
如果不通:说明电脑不知道怎么去 10.0.0.x 网段,这是重点问题,看第三步。

如果通:说明网络完全没问题,是打印机驱动或端口设置问题。

第三步:检查 Windows 路由表(Route)是否生效
如果能 Ping 通 1.95,但 Ping 不通 10.0.0.x,说明 Windows 不知道往哪走。

在电脑 CMD 中输入:

DOS

route print -4
查看输出列表的 “永久路由 (Persistent Routes)” 部分。

必须要有一行:

网络地址:10.0.0.0

掩码:255.255.255.0

网关地址:192.168.1.95 (WAX206 的 WAN IP)

如果没看到这一行,或者网关 IP 不对,请重新以管理员身份运行 CMD 执行:

DOS

route -p add 10.0.0.0 mask 255.255.255.0 192.168.1.95
(注意:如果你的 WAX206 IP 变了,请把 192.168.1.95 换成现在的 IP)

原创文章,作者:开心电脑网,如若转载,请注明出处。

(1)
上一篇 2026年1月12日
下一篇 2026年1月15日

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注