找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 3560|回复: 30

求助:K2在 无线接入点 (AP) 模式下自动脚本换LAN网关和DNS;DHCP网关和DNS

[复制链接]
发表于 2019-9-26 21:09 | 显示全部楼层 |阅读模式
悬赏100恩山币已解决
本帖最后由 g0g002 于 2020-3-8 18:10 编辑

我用K2在无线接入点 (AP)模式 下做无线路由 ,N1 刷OpenWRT做旁路由去广告、下载机。
发现N1的会偶尔发疯,导致WIFI下的机器都无法上网。家人又不会改网关。
想求大神们帮忙做个改K2路由:LAN、DHCP  的网关和DNS的自动脚本。
要求每2分钟检测一次N1(旁路由IP)192.168.1.252能否ping通。
1.能够ping通不做修改。
2.1.不能ping通改K2的网关、DNS,修改如下
      LAN网关:192.168.1.1
      LAN DNS1:180.76.76.76   
             DNS2:  223.5.5.5
      DHCP网关:192.168.1.1
     DHCP DNS1:180.76.76.76   
               DNS2:  223.5.5.5
     重启WIFI,让手机等更新网关DNS

2.2重新ping通192.168.1.252后,修改如下:
      LAN网关:192.168.1.252
      LAN DNS1:192.168.1.252   
             DNS2: 180.76.76.76
      DHCP网关:192.168.1.252
     DHCP DNS1:192.168.1.252
               DNS2:180.76.76.76   
               DNS3:  223.5.5.5
         重启WIFI,让手机等更新网关DNS





  1. #!/bin/sh
  2. N1_PING=0
  3. while [ 0 == 0 ]
  4. do
  5.   if ping -w 1 -c 1 192.168.1.252
  6.   then
  7.     if [ $N1_PING -eq 0 ];then
  8.     N1_PING=1
  9.         nvram set lan_gateway="192.168.1.252"
  10.         nvram set lan_dns1="192.168.1.252"
  11.         nvram set lan_dns2="180.76.76.76"
  12.         nvram set dhcp_gateway_x="192.168.1.252"
  13.         nvram set dhcp_dns1_x="192.168.1.252"
  14.         nvram set dhcp_dns2_x="180.76.76.76"
  15.         nvram set dhcp_dns3_x="223.5.5.5"
  16.         nvram commit
  17.         restart_dhcpd
  18.         radio2_restart
  19.         radio5_restart
  20.     fi
  21.   else
  22.     if [ $N1_PING -eq 1 ];then
  23.     N1_PING=0
  24.         nvram set lan_gateway="192.168.1.1"
  25.         nvram set lan_dns1="180.76.76.76"
  26.         nvram set lan_dns2="223.5.5.5"
  27.         nvram set dhcp_gateway_x="192.168.1.1"
  28.         nvram set dhcp_dns1_x="180.76.76.76"
复制代码





附件: 您需要 登录 才可以下载或查看,没有账号?立即注册

最佳答案

查看完整内容

试一下看,不保证好用:
我的恩山、我的无线 The best wifi forum is right here.
发表于 2019-9-26 21:09 | 显示全部楼层
本帖最后由 xxnull 于 2019-11-30 17:38 编辑

试一下看,不保证好用:

  1. function do_change()
  2. {
  3.         ping -c 1 192.168.1.252
  4.         if [ $? -ne 0 ]; then
  5.                 cat /etc/resolv.conf | grep 192.168.1.252
  6.                 if [ $? -ne 0 ]; then
  7.                         return
  8.                 fi
  9.                 logger -p syslog.info "不能ping通改K2..."
  10.                 route del default gateway 192.168.1.252
  11.                 route add default gateway 192.168.1.1
  12.                 echo nameserver 180.76.76.76 > /etc/resolv.conf
  13.                 echo nameserver 223.5.5.5 >> /etc/resolv.conf
  14.         else
  15.                 cat /etc/resolv.conf | grep 192.168.1.252
  16.                 if [ $? -eq 0 ]; then
  17.                         return
  18.                 fi
  19.                 logger -p syslog.info "重新ping通192.168.1.252..."
  20.                 route del default gateway 192.168.1.1
  21.                 route add default gateway 192.168.1.252
  22.                 echo nameserver 192.168.1.252 > /etc/resolv.conf
  23.                 echo nameserver 180.76.76.76 >> /etc/resolv.conf
  24.                 echo nameserver 223.5.5.5 >> /etc/resolv.conf
  25.         fi

  26.         radio2_restart  # 重新启动 2.4G WIFI
  27.         radio5_restart  # 重新启动 5G WIFI
  28.         restart_dhcpd   # 重新启动dhcp服务
  29. }

  30. function do_check()
  31. {
  32.         while [ true ]; do
  33.                 do_change
  34.                 sleep 120
  35.         done
  36. }


  37. do_check &
复制代码


点评

你说的很对,我赞同你的说法。: 5.0
你说的很对,我赞同你的说法。: 5
助人为乐者最帅!  发表于 2019-12-2 14:33
感谢您的帮助!!!  详情 回复 发表于 2019-12-2 14:32
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2019-9-26 21:33 | 显示全部楼层
本帖最后由 g0g002 于 2020-3-8 19:43 编辑

【大神没空管小白!只好自己填坑 】占位公布正确方案
不知为何无法显示全部代码,一楼缺失的在下面:
    nvram set dhcp_dns2_x="223.5.5.5"
        nvram set dhcp_dns3_x=""
    nvram commit
    restart_dhcpd
    radio2_restart
    radio5_restart
    fi
sleep 120
done

我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2019-9-26 23:16 | 显示全部楼层
ip换成不一样的不可吗,非要搞在一个ip段,去广告真麻烦

点评

感谢帮顶! 请问换IP要如何做? 我的主路由(网关)是固定,K2是无线路由,怎样达到N1正常时去广告,N1不正常时直接上网?  详情 回复 发表于 2019-9-27 16:14
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2019-9-27 16:14 | 显示全部楼层
gikf001 发表于 2019-9-26 23:16
ip换成不一样的不可吗,非要搞在一个ip段,去广告真麻烦

感谢帮顶!
请问换IP要如何做?
我的主路由(网关)是固定,K2是无线路由,怎样达到N1正常时去广告,N1不正常时直接上网?
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2019-9-28 20:22 | 显示全部楼层
日常一顶,等大神到来
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2019-10-1 08:56 | 显示全部楼层
顶起来!!!
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2019-10-4 11:21 | 显示全部楼层
日常一顶,等大神到来
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2019-11-30 12:16 来自手机 | 显示全部楼层
帮你顶一下
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2019-12-1 09:00 | 显示全部楼层
我去试试看,回头反馈
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2019-12-1 09:57 | 显示全部楼层
不行,试了一下网关在路由界面上都没有改变,再研究研究
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2019-12-1 10:09 | 显示全部楼层
route add default gateway 192.168.3.2 这个命令是不是错的? 在putty里执行后,有时外网挂了,内网的网关没变
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2019-12-1 11:43 | 显示全部楼层

日常一顶,
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2019-12-1 12:48 | 显示全部楼层
运行后 提示这个错误,上不了网,在dhcp更改网关都没用。

只能putty输入
route del default gateway 192.168.3.2 恢复正常。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2019-12-1 20:56 | 显示全部楼层
function do_change()            # 命名函数  do_change                        
{
        ping -c 1 192.168.8.2   # ping旁路由                           
        if [ $? -ne 0 ]; then   # 如果返回执行不成功,ping不通,则执行
                cat /etc/resolv.conf | grep 192.168.8.2 # 则检查网关
                if [ $? -ne 0 ]; then # 如果检查网关错误
                        return        # 返回
                fi
                logger -p syslog.info "不能ping通旁路由" # 写入日志
                route del default gateway 192.168.8.2    # 删除旁路由网关
                route add default gateway 192.168.8.1    # 增加主路由网关
                echo nameserver 180.76.76.76 > /etc/resolv.conf # 增加DNS
                echo nameserver 223.5.5.5 >> /etc/resolv.conf
        else                     # 如果返回执行成功,ping通,则执行
                cat /etc/resolv.conf | grep 192.168.8.2  # 则检查网关
                if [ $? -eq 0 ]; then   # 如果检查网关正确
                        return          # 返回
                fi
                logger -p syslog.info "重新ping通旁路由"   # 写入日志
                route del default gateway 192.168.8.1     # 删除主路由网关
                route add default gateway 192.168.8.2     # 增加旁路由网关
                echo nameserver 192.168.8.2 > /etc/resolv.conf # 增加DNS
                echo nameserver 180.76.76.76 >> /etc/resolv.conf
                echo nameserver 223.5.5.5 >> /etc/resolv.conf
        fi

        restart_dhcpd   # 重新启动dhcp服务
}

function do_check()            # 命名函数  do_check
{
        while [ true ]; do     # 利用循环,每60秒执行函数do_change
                do_change
                sleep 60
        done
}


do_check &  # 后台执行do_check

学习命令,注释了一下,这个脚本应该思路没错,具体请大神点拨

点评

你说的很对,我赞同你的说法。: 5.0
你说的很对,我赞同你的说法。: 5
助人为乐者最美!  发表于 2019-12-2 14:33
感谢您的帮助!!!  详情 回复 发表于 2019-12-2 14:32
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-4-20 13:50

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797

快速回复 返回顶部 返回列表