nycu-OpenWrt
  • OpenWRT: WiFi 網路的開放平台
  • OpenWRT 硬體
    • 測試硬體與功能列表
    • 小米路由器3的設定與測試
  • OpenWRT 編譯環境建立
    • OPKG Package Manager
    • 建立編譯環境 (Cross Compiler)
    • 建立編譯環境 (SDK for .ipk 封裝)
    • 遠端登入執行程式
  • OpenWRT 功能測試
    • 設定時區與 NTP 網路對時
    • CRONTAB 排程工作
    • 從 WAN 登入 OpenWRT
    • 防火牆的設置
    • 無線網路 SSID 的設定
    • Bridge-mode and Router-mode
    • 在 OpenWRT 上布建 Container (LXC)
    • 實驗: WiFi 的無線設定 (iw)
    • 實驗: 封包排程與 QoS
  • 實驗: 側聽封包資訊
    • 802.11 封包解析
    • 實驗: 虛擬監聽網卡並取得 RSSI
    • 實驗: 取得 RSSI 並回傳至伺服器
  • 實驗: MQTT 物聯網
    • MQTT 通訊協定
    • MQTT 在 OpenWRT 上的開發
  • 實驗: SDN-based Network
    • pica8 基本設定
    • 在 OpenWRT 上架設 Open vSwitch (OVS)
    • VLAN 在 WiFi AP 硬體上的實現
    • 在 OpenWRT 上架設 VLAN
    • 架設一個訪客用的無線網路
  • 實驗: OpenWRT 周邊存取
    • 實驗: GPIO 的存取
    • 實驗: I2C 的操作
Powered by GitBook
On this page
  • OpenWRT 中的時區設定
  • NTP 同步演算法
  1. OpenWRT 功能測試

設定時區與 NTP 網路對時

設定 OpenWRT 的時區

OpenWRT 中的時區設定

在 OpenWRT 中,關於功能的設定,都放在 /etc/config 資料夾之下:

/etc/config# ls
dhcp              glconfig          network           samba             system1           uhttpd            wireguard
dropbear          luci              openvpn           ssids             ubootenv          unbound           wireguard_server
firewall          mwan3             rpcd              system            ucitrack          vpn_service       wireless

其中, dropbear 是 OpenWRT 的 SSH server,fstab、mountd 負責檔案系統部分,dhcp、firewall 如其名稱所示,負責 IP 位置請求以及防火牆。network 為有線網路的設定,wireless 為無線網路的設定。system 為一些系統上的設定,例如所在時區。以 system 為例,原本內容為:

config system
        option timezone 'UTC'
        option ttylogin '0'
        option log_size '64'
        option urandom_seed '0'
        option hostname 'GL-AR750S'

config timeserver 'ntp'
        option enabled '1'
        option enable_server '0'
        list server '0.openwrt.pool.ntp.org'
        list server '1.openwrt.pool.ntp.org'
        list server '2.openwrt.pool.ntp.org'
        list server '3.openwrt.pool.ntp.org'

config led 'led_wlan2g'
        option name 'WLAN2G'
        option sysfs 'gl-ar750s:white:wlan2g'
        option trigger 'phy1tpt'

config led 'led_wlan5g'
        option name 'WLAN5G'
        option sysfs 'gl-ar750s:white:wlan5g'
        option trigger 'phy0tpt'

其中,設定了主機名稱 (hostname),所在時區 (UTC),以及 NTP (network time protocol) 對時的主機。至於最下方 'led' 的部分,則是用以控制 WiFi AP 的 LED 燈號變化。以此檔案為例,可以更改 option 'timezone' 'UTC' 為 'CST-8',改成台灣時間。之後再重新啟動,就可以利用 date 指令看到時間的改變。

root@GL-AR750S:~# date
Wed Jan 30 05:31:45 UTC 2019
root@GL-AR750S:~# reboot
[...]
root@GL-AR750S:~# date
Wed Jan 30 13:36:36 CST 2019

NTP 同步演算法

NTP 為一個基礎的網路對時演算法,簡單來說,該演算法透過一個來回的封包,來計算封包在網路中的偏移時間,並藉由估計此飄移時間來效正從 NTP 伺服器得到的標準時間。我們可以用下圖來表示 NTP 演算法對時的機制:

其中,\delta 就是封包的飄移時間。NTP 演算法可以達到數十毫秒 (ms) 的同步誤差,但是在實務上由於網路的不對稱性 (上行和下行不一致) 以及網路壅塞 (在路由器中的封包延遲),NTP 演算法誤差最多會到 100 毫秒等級。為了取得比較精確地同步時間,我們可以將同步伺服器設定到較近的位置,如上面設定中:

config timeserver 'ntp'
        option enabled '1'
        option enable_server '0'
        list server '0.openwrt.pool.ntp.org'

可以改成:

config timeserver 'ntp'
        option enabled '1'
        option enable_server '0'
        list server 'tw.pool.ntp.org'
Previous遠端登入執行程式NextCRONTAB 排程工作

Last updated 6 years ago

更多關於 system 的設定, 可以參考:

甚至可以自行架設 NTP server 來取得較佳的同步成果,更多關於 NTP 的設定, 可以參考:

https://wiki.openwrt.org/doc/uci/system
https://oldwiki.archive.openwrt.org/doc/howto/ntp.client
來自: https://en.wikipedia.org/wiki/Network_Time_Protocol