<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      跟思兼學Klipper(32):修復 CrealityOS IP 地址經常改變的問題

      前言

      原創文章,轉載引用務必著名鏈接,水平有限,如有疏漏,歡迎指正交流。

      文章如有更新請訪問 DFRobot 社區cnblogs 博客園,前者內容較全,后者排版及閱讀體驗更佳。

      使用 K1C 時有個問題,過個一天或者一段時間再開機它的IP地址會發生改變,很是惱人。本文試圖探究可能的原因及多種解決方法。

      軟硬件測試環境:

      • Creality K1C 3D 打印機
      • CrealityOS,以下簡稱CoS

      本文涉及的內容:

      • DHCP 基礎知識

      1、常見解決方法

      1. 使用 mdns

        CoS會啟動一個精簡版的 mdns 服務,地址為 [hostname].local,不論設備 IP 地址如何改變,此域名不變。目前測試 OrcaSlicer、MobaXterm 可以使用,但是網頁打不開也 ping 不通。

      2. 綁定 MAC 地址

        在路由器中,將設備網卡 MAC 地址和指定 IP 地址綁定。但是有些朋友沒有路由器管理權。

      3. 設置靜態 IP 地址

        在設備上設置靜態 IP 地址而非從 DHCP 服務器上自動獲取 IP 地址,但是存在設備地址沖突的可能,同時更換不同網段的網絡時會出問題。

      2、可能的原因

      查看 CoS 相關服務,/etc/init.d/S44wifi_bcm_up ——> /usr/bin/wifi_up.sh ,可以看到 CoS 使用 udhcpc -i wlan0 -x hostname:$(hostname) & 來從 DHCP 服務器處獲取網絡配置。我默認由 BusyBox 自帶的 udhcpc 背鍋,懷疑沒有正確續約。當然之前也懷疑過無線網卡 MAC 地址變化導致,觀察后排除。

      3、可能的解決方法:使用 dhclient 取代 udhcpc

      前提:需要啟用 root 后安裝 chs,并安裝 entware 軟件倉庫

      # 安裝 dhclient
      sed -i.bak 's|https\?://bin.entware.net|http://mirrors.cernet.edu.cn/entware|g' /opt/etc/opkg.conf
      opkg update
      opkg install isc-dhcp-client-ipv4
      
      # 創建租約文件及 resolv.conf 軟鏈接
      mkdir /opt/var/db/ && touch /opt/var/db/dhclient.leases
      ln -sf /etc/resolv.conf /opt/etc/resolv.conf
      
      # 修改默認 dhcp 客戶端程序
      # 注釋 udhcpc -i wlan0 -x hostname:$(hostname) &
      # 在其下添加一行:/opt/sbin/dhclient -nw -v --no-pid wlan0
      sed -i '/hostname:/s/^/# /' /usr/bin/wifi_up.sh
      sed -i '/hostname:/a \    /opt/sbin/dhclient -nw --no-pid wlan0' /usr/bin/wifi_up.sh
      
      # 重啟生效
      

      4、與 DHCP 服務器交互過程

      root@K1Max-5BC9 /root [#] dhclient -v wlan0
      Internet Systems Consortium DHCP Client 4.4.3-P1
      Copyright 2004-2022 Internet Systems Consortium.
      All rights reserved.
      For info, please visit https://www.isc.org/software/dhcp/
      
      Listening on LPF/wlan0/fc:ee:28:01:5b:c9
      Sending on   LPF/wlan0/fc:ee:28:01:5b:c9
      Sending on   Socket/fallback
      # Client:DHCP 發現
      DHCPDISCOVER on wlan0 to 255.255.255.255 port 67 interval 6
      # Server: DHCP 提供
      DHCPOFFER of 192.168.0.118 from 192.168.0.1
      # Client: DHCP 請求/續租
      DHCPREQUEST for 192.168.0.118 on wlan0 to 255.255.255.255 port 67
      # Server: DHCP 確認
      DHCPACK of 192.168.0.118 from 192.168.0.1
      
      bound to 192.168.0.118 -- renewal in 3173 seconds.
      

      udhcpc 是一個簡單的 DHCP 客戶端,用于在 Unix-like 系統上自動獲取網絡配置。以下是 udhcpc 續租 IP 地址的基本步驟和原理:

      1. DHCP 發現(DHCPDISCOVER)

      - 當 udhcpc 啟動時,它會發送一個 DHCPDISCOVER 廣播消息,以發現網絡上可用的 DHCP 服務器。

      1. DHCP 提供(DHCPOFFER)

      - DHCP 服務器收到 DHCPDISCOVER 消息后,會發送一個 DHCPOFFER 消息,提供給客戶端一個 IP 地址和其他網絡配置信息。

      1. DHCP 請求(DHCPREQUEST)

      - udhcpc 收到 DHCPOFFER 消息后,會發送 DHCPREQUEST 消息,請求分配提供的 IP 地址。

      1. DHCP 確認(DHCPACK)

      - 如果 DHCP 服務器確認請求,它會發送一個 DHCPACK 消息,正式分配 IP 地址和相關配置。

      1. 續租(DHCPREQUEST)

      - 在租期過半(通常為50%)時,udhcpc 會自動發送 DHCPREQUEST 消息給之前分配 IP 地址的 DHCP 服務器,請求續租當前的 IP 地址。

      1. 續租成功或失敗

      - 如果 DHCP 服務器響應 DHCPACK,表示續租成功,租期將被重置。
      - 如果 DHCP 服務器響應 DHCPNACK,表示續租失敗,udhcpc 將重新發送 DHCPDISCOVER 消息以獲取新的 IP 地址。

      1. 租期結束

      - 如果在租期結束前沒有收到 DHCP 服務器的響應,udhcpc 將放棄當前 IP 地址,并重新進入 DHCP 發現階段。

      1. 釋放 IP 地址(DHCPRELEASE)

      - 如果用戶希望主動放棄 IP 地址,udhcpc 可以發送 DHCPRELEASE 消息給 DHCP 服務器,釋放當前的 IP 地址。

      udhcpc 的續租行為通常是自動的,不需要用戶干預。但是,用戶可以通過配置文件或命令行參數來調整續租行為,例如設置租期長度或禁用自動續租。

      如果您發現 udhcpc 沒有續租 IP 地址,可能的原因包括:

      - DHCP 服務器沒有響應續租請求。
      - 網絡配置問題導致 udhcpc 無法與 DHCP 服務器通信。
      - udhcpc 配置錯誤或版本問題。
      - 系統防火墻或安全設置阻止了 DHCP 通信。

      【以上內容部分由 kimi 生成】

      5、leases 租約文件內容

      
      root@K1Max-5BC9 /root [#] cat /opt/var/db/dhclient.leases
      lease {
        interface "wlan0";
        fixed-address 192.168.0.118;
        option subnet-mask 255.255.255.0;
        option routers 192.168.0.1;
        option dhcp-lease-time 7200;
        option dhcp-message-type 5;
        option domain-name-servers 223.5.5.5,114.114.114.114;
        option dhcp-server-identifier 192.168.0.1;
        renew 5 2024/06/14 00:55:30;
        rebind 5 2024/06/14 01:50:31;
        expire 5 2024/06/14 02:05:31;
      }
      
      

      renew、rebind 和 expire 概念介紹

      由上面內容可知路由器的 DHCP 服務租約時長為 7200s,即 2h。

      在DHCP(動態主機配置協議)中,renewrebindexpire是與IP地址租期管理相關的三個概念,它們的含義如下:

      • renew:當DHCP客戶端的IP地址租期達到50%時,會自動以單播的方式向DHCP服務器發送DHCP REQUEST報文,請求更新IP地址租期。如果收到DHCP服務器回應的DHCP ACK報文,則租期更新成功(即租期從0開始計算);如果收到DHCP NAK報文,則重新發送DHCP DISCOVER報文請求新的IP地址。
      • rebind:當DHCP客戶端的IP地址租期達到87.5%時,如果仍未收到DHCP服務器的應答,DHCP客戶端會自動以廣播的方式向DHCP服務器發送DHCP REQUEST報文,請求更新IP地址租期。如果收到DHCP服務器回應的DHCP ACK報文,則租期更新成功(即租期從0開始計算);如果收到DHCP NAK報文,則重新發送DHCP DISCOVER報文請求新的IP地址。
      • expire:如果DHCP客戶端的IP地址租期到期時都沒有收到服務器的回應,客戶端將停止使用此IP地址,并重新發送DHCP DISCOVER報文請求新的IP地址。

      renewrebind都是DHCP(動態主機配置協議)中的概念,它們的主要區別在于觸發的時間和發送的目標服務器不同。

      renew報文是在DHCP客戶端的IP地址租期達到50%時觸發的,此時客戶端會以單播的方式向最初提供IP地址的DHCP服務器發送renew報文,請求延長IP地址的租期。如果客戶端在租期的50%時發送了renew報文,但沒有收到服務器的響應,那么它將在租期的87.5%時觸發rebind報文。

      rebind報文是在renew報文沒有得到響應的情況下觸發的,客戶端會以廣播的方式向任何可用的DHCP服務器發送rebind報文,請求延長IP地址的租期。

      總的來說,renew報文是在租期的中期發送給特定的服務器,而rebind報文是在renew報文沒有得到響應時發送給所有可用的服務器。這樣可以確保客戶端在IP地址租期到期之前能夠及時續租,避免IP地址被收回。

      【以上內容部分由 豆包 生成】

      Bonus

      entware 的路徑問題

      我們發現 opkg 安裝的軟件包都在 /opt 目錄,配置文件亦如是,導致很多軟件從 /etc 載入默認配置時報錯。考慮和 entware 有關

      查看 Creality-Helper-Script/files/entware/generic.sh 可知如下:

      ln -nsf /usr/data/opt /opt
      # echo '#!/bin/sh\n/opt/etc/init.d/rc.unslung "$1"' > /etc/init.d/S50unslung
      # 這里有錯誤,應該為如下內容:
      echo -e '#!/bin/sh\n/opt/etc/init.d/rc.unslung "$1"' > /etc/init.d/S50unslung
      
      ln -sf /etc/localtime /opt/etc/localtime
      ln -sf /etc/resolv.conf /opt/etc/resolv.conf
      # 目錄則是額外 -n 參數 
      

      其他調試命令

      # 時區設置:/etc/localtime
      # 搜索并關閉進程
      ps aux |grep udhcpc
      kill [pid]
      # 測試 DNS 解析
      nslookup example.com
      

      文檔鏈接

      1. isc-dhcp-client-ipv4
      2. Linux dhclient命令教程
      3. https://man.archlinux.org/man/dhclient.8.en
      posted @ 2024-06-14 21:19  思兼  閱讀(161)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 墨脱县| 国产精品美女久久久久久麻豆| 国产美女午夜福利视频| 大陆一级毛片免费播放| 亚洲av成人一区二区| 韩国午夜理伦三级| 激情五月开心婷婷深爱| 亚洲一区二区啊射精日韩| 亚洲综合无码一区二区| 午夜高清福利在线观看| 午夜大尺度福利视频一区| 好吊视频在线一区二区三区| 99国产精品欧美一区二区三区 | 在线午夜精品自拍小视频| 亚洲aⅴ无码专区在线观看春色| 亚洲国产精品久久久天堂麻豆宅男| 国产无套内射又大又猛又粗又爽| 婷婷色综合视频在线观看| 国产精品中文第一字幕| 好深好湿好硬顶到了好爽| 亚洲精品tv久久久久久久久久 | 日日碰狠狠添天天爽| 一区二区三区精品不卡| 高清国产av一区二区三区| 日韩亚洲中文图片小说| 国产95在线 | 欧美| 亚洲激情一区二区三区在线| 毛片无遮挡高清免费| 日本一区二区不卡精品| 中文字幕日韩精品亚洲一区| 久久国产一区二区三区| 久久久无码精品亚洲日韩按摩| 国产精品国产精品偷麻豆| 天天干天天色综合网| 日韩人妻无码一区二区三区| 国产亚洲一区二区三区av| 国产性色av免费观看| 边吃奶边添下面好爽| 久久精品国产福利一区二区| 岛国最新亚洲伦理成人| 国产一区二区亚洲精品|