星期三, 4月 01, 2026

使用RouterOS的UserManager做為Radius Server搭配Unifi AP進行Wi-FI連線終端設備Mac認證

 環境:

一台RouterOS安裝User Manager做為Radius Server
IP:172.20.1.28
一台Unifi AP
IP:172.20.11.18

1.在RouterOS的User Manager(即Radius Server)新增一台Router(其實就是設定一台可以連線到這台Radius Server的裝置,連線的Shared Secret自行設定,Coa Port預設是3799)



2.Users設定需要透過Unifi AP進行Wifi連線的行動裝置,增加這台裝置的mac address,格式可以依據Unifi AP MAC認證的格式,我們這邊設定的mac address格式是XX-XX-XX-XX-XX-XX
name和password都設定一樣的


3.System-Logging可以加入manager以方便偵錯


4.在Unifi 的Control Console中的System-network-Radius Server點Create,新增一台Radius Server的Profile,輸入Radius Server的自訂名稱,IP、Shared Secret


5.在Unifi 的Control Console中的System-WiFi 新增一個要認證的wi-fi SSID,RADIUS MAC Authentication選項中,勾選External RADIUS Server,選擇前面建立的Radius Profile name,Mac address format,我們依據前面建立的User formate,選擇AA-BB-CC-DD-EE-FF














星期三, 11月 05, 2025

RouterOS當作dhcp server要注意的事

 1.如果只是單純做dhcp server,例如eth5要配發一個172.20.200.0/24的網段,則除了eth5的ip設定好、dhcp 的gateway,dns配置好以及pool設定好之外,要注意Relay不能開啟




2.如果這台要做為L3的DHCP Realy Server,則可能會有不同vlan配發不同網段的問題,pool會設好幾個網段,則dhcp server要記得設定Relay的界面,配發的IP才會Relay到終端設備上面





星期四, 12月 05, 2024

HPE Aruba Switch 6100 排程設定

 HPE Aruba Switch 6100 24g CL4可以在console模式下設定job排程,但firmware要先更新到PL.10.10以上的版本,如果要下載新版的firmware,需要先到
https://networkingsupport.hpe.com/
註冊會員,才能下載









下載新的firmware後,登入交換器的web-UI後到System->Firmware Update,上傳新的firmware,上傳時選擇要取代Primary image 或Secondary image,然後按「上傳」,上傳完畢後,選擇【Reboot】,系統重啟前會提醒將會以目前的設定檔running config重開機

以下指令請參考原廠的command line
https://www.arubanetworks.com/techdocs/AOS-CX/10.11/HTML/cli_832x/Content/fir-int3.htm

以及AOS-CX 10.11 Job Scheduler Guide
https://www.arubanetworks.com/techdocs/AOS-CX/10.11/PDF/job_scheduler.pdf

重開機後,登入console


switch# config 

switch(config)# job ? =〉列出job 指令的用法

  JOB_NAME  Specify a name for the job. The maximum length is 64 characters

            consisting of alphanumeric and '_' characters only.

會列出job指令的相關參數

若有列出,代表此版本的firmware有支援job scheduler

##############################################

以下開始建立一個名為POE_PORT1_down的job(工作),此job要設定port 1的poe不供電

switch(config)# job  POE_PORT1_down     =〉建立一個排程名稱(自訂)

switch(config-job-PTog1)# desc port 1/1/1 poe funtion down =〉建立一個此排程的描述   

switch(config-job-PTog1)# 10 cli config  =〉進入指令設定模式

switch(config-job-PTog1)# 20 cli interface 1/1/1  =〉進入第1埠,如果指定連續Port例如17-20port,則下interface 1/1/17-1/1/20

switch(config-job-PTog1)# 30 cli no power-over-ethernet   =〉設定poe down

switch(config-job-PTog1)# 40 cli end =〉跳脫設定模式

switch(config-job-PTog1)# exit

以上根據AOS-CX 10.11 Job Scheduler Guide做出的一個job,上述命令的數字10,20,30,40,我的理解是可以視為命令的執行列或順序,如果你30 cli no power-over-ethernet,這個設錯了,就重新輸入30 cli [新的指令],即可取代原本位於30的指令內容

根據手冊,job有一些限制:

  • 每個job最多20個指令,可下show capacities job查看
  • job必須在5分鐘內完整執行,否則5分鐘後,會被強制停止
  • 如果job的指令下達前需要先等待某個時間再執行,則下delay,  
    例如:
    • switch(config)# job PTog1
    • switch(config-job-PTog1)# desc Toggle port 1/1/1
    • switch(config-job-PTog1)# 10 cli config
    • switch(config-job-PTog1)# 20 cli interface 1/1/1
    • switch(config-job-PTog1)# 30 cli shutdown
    • switch(config-job-PTog1)# 40 delay 10 cli no shutdown
    • switch(config-job-PTog1)# 50 cli end
    • switch(config-job-PTog1)# exit
    • switch(config)#

switch(config)# show POE_PORT1_down  =〉show出job POE_PORT1_down的內容

如果要把POE_PORT1_down這個job刪除

switch(config)# no job POE_PORT1_down  

再執行show job看是否這個job還存在

###########################################################

接著定義一段POE_PORT1_down執行的時間

switch(config)# schedule POE_PORT1_down_worktime =>名稱自訂

switch(config-schedule-POE_PORT1_down_worktime)# desc 22:20 everyday

switch(config-schedule-POE_PORT1_down_worktime)# 10 job POE_PORT1_down =〉此schedule時間是由哪個job執行,必須在job中有定義的工作名稱,我們在前面是以POE_PORT1_down為例

switch(config-schedule-POE_PORT1_down_worktime)# trigger on 22:20 daily count 7 start 2024-12-05 =〉trigger即代表要執行的時間,時間的定義及使用方式如下方所述

switch(config-schedule-POE_PORT1_down_worktime)# exit  =〉離開schedule定義模式

時間的定義格式(參考 Job Scheduler Guide第14頁)
[no] trigger on HH:MM {daily | weekly <1-7> | monthly <1-31>}
[count <1-1000>] [start YYYY-MM-DD]


switch(config)# show schedule  POE_PORT1_down_worktime

=〉列出 POE_PORT1_down_worktime的schedule 

若要取消這個 schedule則下此指令

switch(config)# no schedule  POE_PORT1_down_worktime

#########################################

接著定義第2個job,把port 1的poe啟用

switch(config)# job  POE_PORT1_UP     =〉建立一個排程名稱

switch(config-job-PTog1)# desc port 1/1/1 poe funtion UP =〉建立一個此排程的描述   

switch(config-job-PTog1)# 10 cli config  =〉進入指令設定模式

switch(config-job-PTog1)# 20 cli interface 1/1/1  =〉進入第1埠

switch(config-job-PTog1)# 30 cli  power-over-ethernet   =〉設定poe 啟用

switch(config-job-PTog1)# 40 cli end =〉跳脫設定模式

switch(config-job-PTog1)# exit

定義一段POE_PORT1_UP執行的時間

switch(config)# schedule POE_PORT1_UP_worktime =〉名稱自訂

switch(config-schedule-POE_PORT1_UP_worktime)# desc 23:30 everyday

switch(config-schedule-POE_PORT1_UP_worktime)# 10 job POE_PORT1_UP 

switch(config-schedule-POE_PORT1_UP_worktime)# trigger on 23:30 daily count 7 start 2024-12-05 

switch(config-schedule-POE_PORT1_UP_worktime)# exit

如此,就可設定port 1的poe功能,於每日22:20停止供電,23:30恢復供電







星期一, 4月 22, 2024

Wireshark相關教學

 

  • Q:winshrek 提示 The capture file appears to be damaged or corrupt.(pcap: File has 2608985148-byte packet, bigger than maximum of262144)
    A:這個錯誤提示是因為Winshark讀取的擷取檔案中存在一個非常大的資料包,而這個資料包大小超過了Winshark預設允許的最大大小(262144位元組)。因此,Winshark無法正確讀取並分析這個捕獲檔案。
    解決方案是使用其他工具來開啟這個捕獲文件,並尋找和刪除該非常大的資料包。例如,您可以使用Wireshark的命令列版本tshark來檢查擷取檔案:
    tshark -r capture.pcap -qz io,stat,0,"SUM(frame.len)frame.len>1000000"
    手動刪除這些資料包或使用tshark過濾它們並建立一個新的、不包含這些資料包的擷取檔案:
    tshark -r capture.pcap -w new_capture.pcap not frame[0] >1000000
    這將建立一個名為new​​_capture.pcap的新文件
    參考:https://kernel.0voice.com/forum.php?mod=viewthread&tid=3951





星期五, 6月 24, 2022

Juniper Ex3400 簡易指令操作方式

Operational Mode and Configuration Mode

(ref User Guide P.26)

Operational Mode 

---JUNOS 17.2B1.8 built 2018-05-09 23:41:29 UTC
% cli
user@host> 

Configuration Mode
type the configure command or the edit command in CLI or Operational Mode

user@host> configure
Entering configuration mode
[edit]
user@host# 

 exit Configuration Mode and return to Operational Mode 
  • To commit the configuration and exit:
[edit]
user@host# commit and-quit
commit complete
Exiting configuration mode
user@host>
  • To exit without committing
[edit]
user@host# exit
Exiting configuration mode
user@host>


編輯某一區段

edit 

移到上一層

up

移到最上層

top

刪除該區段的指令

delete

增加該段的設定

set

執行前check

commit check

執行所有設定

commit


How to reboot (restart), halt, or shut down the EX Series switch

Power off:關機同時關閉電源,會送一個ACPI訊號通知系統關機

halt:關機但不關閉電源,需手動關閉電池

To Power Off the switch from CLI:

    user@switch>request system power-off

To halt the switch from CLI:

    user@switch> request system halt

To restart the switch from the CLI:

     user@switch> request system reboot


如何監看網路界面的的流量

  user@switch> monitor interface traffic


設定switch ex的第1埠 mirror到第7埠


{master:0}

admin@CSES_EX3400> configure

Entering configuration mode


{master:0}[edit]

admin@CSES_EX3400# edit forwarding-options analyzer


{master:0}[edit forwarding-options analyzer]

admin@CSES_EX3400# edit tap-srx

tap-srx=>名稱自訂

admin@CSES_EX3400# set input ingress interface ge-0/0/1


{master:0}[edit forwarding-options analyzer tap-srx]

admin@CSES_EX3400# set input egress interface ge-0/0/1


{master:0}[edit forwarding-options analyzer tap-srx]

admin@CSES_EX3400# show

input {

    ingress {

        interface ge-0/0/1.0;

    }

    egress {

        interface ge-0/0/1.0;

    }

}


{master:0}[edit forwarding-options analyzer tap-srx]


{master:0}[edit forwarding-options analyzer tap-srx]

admin@CSES_EX3400# set output interface ge-0/0/7


{master:0}[edit forwarding-options analyzer tap-srx]

admin@CSES_EX3400# show

input {

    ingress {

        interface ge-0/0/1.0;

    }

    egress {

        interface ge-0/0/1.0;

    }

}

output {

    interface ge-0/0/7.0;

}

{master:0}[edit forwarding-options analyzer tap-srx]

admin@CSES_EX3400# commit and-quit

configuration check succeeds

commit complete

Exiting configuration mode


{master:0}

admin@CSES_EX3400>







  user@switch> monitor interface traffic

看ge/0/0/1及ge/0/0/7的流量是否一致







星期二, 3月 29, 2022

Zyxel AP如何下指令受控於nxc2500 ap controller

 ssh或telnet client AP

Router# configure terminal

Router(config)# capwap ap ac-ip 172.20.X.X 0.0.0.0

上述第一個IP 是ap控制器的IP,可設定2組

Router(config)# exit

Router# write

Router# show capwap ap ac-ip

確定指令是否設定正確

AC IP: 172.20.X.X 0.0.0.0

Router# reboot




連到nxc2500

查看client AP是否有連上


靜待套用設定到AP端及自動更新韌體完畢

nxc2500自動更新韌體方式

連上nxc2500-Configuration-AP Management-Firmware
先點AP Firmware ->Check
確認最新的韌體
再點Apply AP Firmware ->APPLY
nxc2500會自動連外下載最新版的韌體,並套用到底下的AP


星期日, 9月 19, 2021

初步使用Brick link Studio 2.0 建構樂高積木的組裝圖

一、如何在studio 2.0匯入已知的套件Ev3 45544,方便建構組裝圖

(1).【File】【Import】【Import Official LEGO Set】



(2).在【Set Number】處,輸入套件編號,如EV3 45544,【IMPORT】選擇【As Palette】,再點【Import】如何便能將此套件的零件匯入,並自成1個區域,以方便繪製僅使用EV3套件建構模型的組裝步驟


(3).此處會顯示無法匯入的零件清單


(4).在【Palette】處選擇import的ev3套件,但在先前匯入時,馬達、感應器、主機等均沒有匯入,所以我們要再使用其他方式找出這些零件


(5).選擇【Palette】區的【Master】並搜尋ev3

(6).將搜尋到的part list分別加入到ev3的palette

(7).目前在使用上,有一些心得:
  1. 與LDCad比較,Studio2.0需要較多的系統資源,因此軟體執行速度較慢。
  2. 還找不到可以匯入ldraw找到的零件檔(*.dat),例如Ev3主機,平時慣用的是有加鋰電池版,但是studio搜尋找到的是不加鋰電池版的主機(如下圖)。
  3. studio2.0內建就可以印出很漂亮的組裝圖(instruction),但是LDCad必須配合LPub3D才能印出組裝圖,而LPub3D有時還會有程式當掉的狀況。
  4. EV3組裝時,馬達及感應器,有時要另外畫出訊號線需要接在主機的哪一埠port,LDCad可以畫,但是Studio 2.0初步來看,好像無法設定。


星期六, 3月 14, 2020

在ldcad或lpub3d中加入箭頭標示符號

製作lego instruction圖中,常會遇到將某個零件組合的方向標示的問題,可參考https://sites.google.com/view/workingwithlpub3d/advanced-lessons/using-custom-parts,並下載Helpers arrows,將這些parts放置於
C:\Users\Public\Documents\LDraw\Unofficial\下
的Helper中
打開ldcad,找Library sorted by category



參考:
Working with LPub3D---Using custom parts
http://www.holly-wood.it/ldraw/helper-en.html

星期六, 2月 08, 2020

如何從bricklink下載某個set的XML檔轉換成LDCAD的set檔


本篇將示範如何從bricklink下載某個set的XML檔轉換成LDCAD的set檔,這在使用像EV3-45544或Wedo2.0-45300等教育套件,需要利用這些套件製作組裝圖時很好用,可以避免常常為了找某個零件,而要時常切換不同的選擇目錄或資料夾或選擇顏色,直接將該套件所有的零件及對應顏色匯整在一起,方便製圖。

  1. 下載 BrickUtils2.5.exe
  2. 安裝JAVA
  3. 連到bricklink下載某個set的xml檔
    以下載ev3為例,先找到這個set的item ID,我們找到的item-ID是45544-1
  4. 連到bricklink下載頁,下載45544-1的XML檔,預設會是S-45544-1.xml
  5. 在[Catalog Items]項中下載[Bricklink的sets資料檔,下載檔名自動命名為Sets.xml


  6. 下載[Bricklink的Categories資料檔,下載時會自動命名為categories.xml

  7. 下載[Bricklink的Colors資料檔,下載時會自動命名為colors.xml

  8. 下載[Bricklink的Parts and color Codes資料檔,下載時會自動命名為codes.xml

  9. 執行brickUtils2.5.exe

  10. 在【Update Catalogs】中,點按【LDraw part libraries】下載更新part libraries
     

  11. 在【Update Catalogs】中,點按【LDraw official part librarie】下載更新LDraw official part librarie



  12. 在【Update Catalogs】中,點按【LDraw unofficial part librarie】下載更新LDraw unofficial part librarie




  13. 在[Update catalogs]中,分別執行BrickLink Catagories,Sets,Colors,Parts,匯入上面步驟下載的4個資料檔(,Sets.xml,colors.xml,codes.xml),即:
    執行BrickLink Catagories選擇categories.xml
    執行BrickLink  Sets選擇Sets.xml
    執行BrickLink Colors選擇colors.xml
    執行BrickLink Parts選擇codes.xml



  14. 上述步驟執行完後,選擇new working list,把目前工作區的part list清空




  15. 執行Bricklink XML dump,選擇之前下載的45544-1的XML檔,預設下載時檔名會是S-45544-1.xml,所以我們選擇S-45544-1.xml


  16. 選擇S-45544-1.xml檔,即會載入45544-1的part list
  17. 接著定義brick list(這步驟一定要做,不然之後無法匯入.pbg檔),Search時要輸入BrickLink查到的Item ID,通常會是set number-1,亦即若是45544,則item ID是45544-1,若是9686則item ID是9686-1。所以我們search時要輸入45544-1


  18. 把一些不必要的項目如貼紙等刪除,可以LDraw ID排序,沒有LDraw ID的項目比較有可能是多餘的,選擇後點按上面



  19. 再檢視有哪些零件沒有LDrawID,我們需要自行手動增加,通常若有BLinkID,則LDRawID則是BLinkID+.dat,例如下圖的零件BLinkID為2815,則查詢LDRaw的零件檔則是2815.dat,所以我們就在LDRaw ID增加2815.dat

  20. 匯出PBG檔,選擇「LDCad Parts-bin Set」,並選擇「Include quantity」及「Include brick color」,「Add Extras」不用選(這是代表重覆的零件)。最後輸出時,我們命名為45544-1.pbg

  21. 上網找45544的某個PNG圖檔(一定要PNG),當作LDCad內這個SET的代表圖,我們命名為45544-1.png
  22. 修改45544-1.pbg(使用記事本),定義代表圖名稱
  23. 將45544-1.pbg和45544-1.png,複製,貼到LDCAD的使用者資料夾
    C:\Users\user(登入windows帳號)\AppData\Roaming\LDCad\partBin\default\sets
  24. 打開ldcad找到part listing of lego sets
  25. 若之後還有一些零件顏色或補充,可以直接增加或修改45544-1.pbg的內容,其格式為

    41669.dat:[color=15] [count=4]

    ldraw的零件檔名:[顏色][該零件在set的數量]

參考: