如何使用 dhcp 客户端刷新路由器上的动态 IP 地址

如何使用 dhcp 客户端刷新路由器上的动态 IP 地址

我想在不重启路由器的情况下更改 ISP 路由器上的动态 IP。我已经可以 telnet 到繁忙的盒子 shell 并可以发出以下命令

zebra        swapdev      printserver  ln           ebtables     cat
wpsd         startbsp     pppc         klog         dns          busybox
wlancmd      sntp         ping         kill         dms          brctl
web          smbpasswd    ntfs-3g      iwpriv       dhcps        atserver
usbserver    smbd         nmbd         iwconfig     dhcpc        atmcmd
usbmount     sleep        netstat      iptables     ddnsc        atcmd
upnp         siproxd      mount        ipp          date         at
upg          sh           mldproxy     ipcheck      cwmp         ash
umount       scanner      mknod        ip           cp           adslcmd
tr111        rm           mkdir        igmpproxy    console      acl
tr064        ripd         mii_mgr      hw_nat       cms          ac
telnetd      reg          mic          ethcmd       cli
tc           radvdump     ls           equipcmd     chown
switch       ps           log          echo         chmod
#

以下是 #top 的输出,其中显示路由器上已在运行哪些进程

PID  PPID USER     STAT   VSZ %MEM %CPU COMMAND
  857   856 0        R     1808   3%   0% top
  281     1 0        S     4316   7%   0% cms
  275   110 0        S     3268   5%   0% mic
  279     1 0        S     2916   5%   0% log
  854   853 0        S     2908   5%   0% telnet_cli -l 1
  541     1 0        S     2512   4%   0% dhcps
  565     1 0        S     2260   4%   0% pppc -I ppp257
  717     1 0        S     2200   4%   0% dhcpc -i nas0 -I nas0 -a -v HG533FTTx
  856   854 0        S     1812   3%   0% sh -si
    1     0 0        S     1808   3%   0% init
  110     1 0        S     1808   3%   0% -/bin/sh
  254     1 0        S     1768   3%   0% atserver
  742     1 0        S     1416   2%   0% usbmount
  551     1 0        S     1408   2%   0% dns
  277     1 0        S     1360   2%   0% klog
  539     1 0        S     1104   2%   0% ipcheck
  853   275 0        S     1048   2%   0% /bin/telnetd -s 14 -t 0
  415     1 0        S     1040   2%   0% wpsd
   88     1 0        SW       0   0%   0% [mtdblockd]
    4     1 0        SW<      0   0%   0% [khelper]

路由器是华为的HG533

我需要重新启动 dhclient 才能获得新的 ip 地址,而无需重新启动路由器。我不确定 dhclient 使用了什么,我猜是 udhcp。

这两个命令在#ps提供的进程列表中

565 0           576 S   pppc -I ppp257
717 0           332 S   dhcpc -i nas0 -I nas0 -a -v HG533FTTx<v1.14t>

谢谢

答案1

您可以尝试使用dhcpc命令释放和续订 DHCP 租约,这可能会给您一个新的 IP 地址,但尽管“动态”一词令人困惑,如果 DHCP 池足够大,可以满足所有发出请求的唯一客户端的需求,DHCP 服务器往往会在配置的 DHCP 租约期限内为同一主机提供相同的 IP 地址。在租约时间的一半时,具有有效租约的客户端将在同一 IP 上续订租约,以促进 IP 参数的持久性。如果 DHCP 服务器在最初租约发出后已重置,则续订请求很可能会得到满足,因为当第一个承租人仍占用该地址时,租约无法成功重新出租给另一个客户端。虽然我已经多年没有研究过 ISP DHCP 配置,但服务器或客户端都没有可用的驱逐或放弃功能。

这是为了防止连接不良的客户端在短时间内从一个 IP 地址跳到另一个 IP 地址,或者在客户端的租约到期后被迫更改 IP 地址时导致很长的会话失败。

答案2

“killall pppc”命令断开 ppp 连接并更新 wan ip。在我的 HG658c 上运行良好。希望在你的路由器上也能运行。

相关内容