[OpenWrt]Zyxel Armor Z2 刷機 救磚

【免責聲明】!!!!!Warning!!!!!
1.刷第三方認體可能會喪失保固,考慮清楚確定能接受再刷!
2.我可以不代表你可以,這牽涉到 KnownHow基本知識!
(System、Netwrok、Debug、Diagnostic...)
3.要刷第三方FW是個人行為,<責任+風險>由刷機者自行承擔!

刷機禁忌】犯下列條件者不要刷
1. [AC電壓供電不穩,有斷電之虞?]:三用電表切AC220檔位-測台電110V
2. [網路不穩?]無法取得DHCP(只有大頭鬼才會用DHCP測網路)
刷機一概用
├─Wired Netwrok (有線網路)
├─StacicIP (靜態固定IP):192.168.1.x
├─相同SubnetMask(子網路遮罩):255.255.255.0
├─跟Router相同網段(192.168.1.0/24)
├─GW(閘道器)指向要刷機的Router(192.168.1.1)
忘了指向正確的GW ,就會同我出槌般Tftp冤枉多刷幾次
3. [網路線接頭損耗老化不穩]ICMP指令:Ping不死 ,測試<網路線>是否良好。

[刷機工具+前置作業]
不用中文-是因為某些中文翻譯者越權:
會在WindowsOS -UserProfiles 裡面撒泡尿(多了個莫名其妙的User)!!!
1.Tftpd32
2.Putty SSH
3.WinSCP
4.把Wifi關了
5.[開保險] FW韌體預先下載至PC上,以防Flash Firmware刷機出槌
https://openwrt.org/toh/hwdata/zyxel/zyxel_nbg6817
要下載哪個刷機???一定要看完[DualBoot刷機規劃]
切換回不來,ping不到=>Tftpd準備好重刷

----------------------------------------------------------------------
[WebGui登入]:
Default IP:192.168.1.1
Default User/pwd : admin/1234
第一次Web登入會被強制修改密碼(最少8碼才會放行)
e.g passwd= admin1234
再以修改後的user/pwd登入

官方OEM Stock Firmware 只開啟Telnet服務
拒絕SSH登入,就算WebGui網頁上開啟SSH也沒效!

-----前面WebGui登入可以完全跳過不需要,直接用Telnet登入------------
(如果你刷太多次的話)
修改SSH登入設定(官方預設Disable)
Telnet:23  登入192.168.1.1:
User/pwd : root/admin1234 (剛才修改過的密碼)
如果沒登入過Web就是出廠預設密碼1234

下面將用的指令 -> 3F有快速UCI(附電梯直達傳送)

# vi /etc/config/drobpear

config dropbear setting
option enable '1'
先按ESC(編輯模式/排版模式切換開關),再按A(插入)
左下角從 -變 I,可插入/編輯/刪除字元(游標所在新增)

,把option enable '0' 改成 option enable '1',

改好要存檔跳出=>先按 ESc(跳出編輯模式),再按Shift  +
左下角會跳出
然後輸入wq再Enter執行,存檔跳出。

#reboot -f


用SSH登入Zyxel Armor Z2 Wireless Router無線路由器

DualBoot刷機規劃
有三種firmware(Release+Snapshot+Zyxel Stock)會有幾種變化?....
6種:OpenWrt雙版本 2x2雙分區=4, OpenWrt Release+OEM, OpenWrt Snapshots+OEM

1.------[第一個分歧點] 你要刷Realese正式版還是Snapshot開發板(推薦)????
OpenWrt 有分兩個版本:
├─Release正式版(包含Luci網頁介面),
└─Snapshot開發板(不含Luci網頁介面 ,推薦!)
Snapshots因為Package較新(Snapshot每天更新- 每天可刷、隨心刷、有空想到再刷)
要Web網頁(同Release)只要安裝Luci套件就行.....

2..------[第二個分歧點]-----[OpenWrt+Zyxel]雙開機不等同可以雙切換,
當第一次刷了OpenWrt,會寫入
                   ├─第一BootROM,
                   └─而第2Boot區就是Zyxel OEM Stock
在OpenWrt可以用指令 ,切換到後段Zyxel分區,
但是....Zyxel無法切換回OpenWrt


3.[OpenWrt+OpenWrt]....>Good ,
加上OpenWrt論壇神人製作的特殊套件,你可以在第一Boot還是第二Boot,隨心切換


【刷機流程】SOP 01 :用OEM官方網頁刷
直接上Zyxel WebGui刷帶有factory字符的OpenWrt韌體(只有Snapshot版本),
刷完第一分區就是OpenWrt,看上項[DualBoot刷機規劃]第2點

【刷機流程】SOP 02 :用指令刷
我用的指令是DD方式(來自於OpenWrt Forum),跟OpenWrt刷法(cat)有點不同,
官網的網頁方式沒有更新檔名(檔名錯誤會報錯)

下載Snapshot
https://downloads.openwrt.org/snapshots/targets/ipq806x/generic/openwrt-ipq806x-zyxel_nbg6817-squashfs-mmcblk0p4-kernel.bin

https://downloads.openwrt.org/snapshots/targets/ipq806x/generic/openwrt-ipq806x-zyxel_nbg6817-squashfs-mmcblk0p5-rootfs.bin

用SSH登入Zyxel Armor Z2 Wireless Router無線路由器 #後面是下的指令
========================SNAPSHOT=================================
在官網韌體下:
# printf "\xff" >/dev/mtdblock6
# dd if=/tmp/openwrt-ipq806x-zyxel_nbg6817-squashfs-mmcblk0p4-kernel.bin of=/dev/mmcblk0p4

8192+0 records in
8192+0 records out
# dd if=/tmp/openwrt-ipq806x-zyxel_nbg6817-squashfs-mmcblk0p5-rootfs.bin of=/dev/mmcblk0p5

6528+0 records in
6528+0 records out
# sync
# reboot -f

==========================RELEASE=================================
在官網韌體下:
# printf "\xff" >/dev/mtdblock6
# dd if=/tmp/openwrt-18.06.1-ipq806x-zyxel_nbg6817-squashfs-mmcblk0p4-kernel.bin of=/dev/mmcblk0p4

8192+0 records in
8192+0 records out
# dd if=/tmp/openwrt-18.06.1-ipq806x-zyxel_nbg6817-squashfs-mmcblk0p5-rootfs.bin of=/dev/mmcblk0p5

7040+0 records in
7040+0 records out
# sync
# reboot -f

====下面的方式特別針對Snapshot===當然Release也可以Double Check============
=刷完了SSH登入安裝Package,想把OpenWrt-出廠預設值,改得更安全,就Follow Me=

1.[時間校正]#vi /etc/config/system
config system 下面修改三行(hostname可改可不改)
option hostname 'NBG6817'
option zonename 'Asia/Taipei'
option timezone 'CST-8'

下兩次date 指令會發現=>System服務重啟後,時間終於正確。
#date 

#/etc/init.d/system restart

#date

-------------------------------------------------------------------------
2.[SSH-Security]只允許LAN端登入(不這樣設 ,難道你喜歡讓人暴力破門?)
 #vi /etc/config/dropbear

config dropbear下面新增
option Interface 'lan'
SSH服務SSH服務重啟
#/etc/init.d/dropbear restart

--------------------------------------------------------------------------------------------
3.[Network網路]
[Lan]改Router要用的IP+指向上層GW匝道器+上層DNS(在NBG6817設定好連上Internet前)

下面範例是Router IP改成192.168.1.254
(可以先在notepad複製+貼上,先改好打好,IP可自行修改)

#vi /etc/config/network

下面改IP+兩行參數DefaultGW(沒上層GW,GW就是指自己)+DNS
(用vi可要小心設,network少個符號'可是會掛掉就登不進去了)
config interface 'lan'
          option ipaddr '192.168.1.254'
          option gateway '192.168.1.254'
          option dns '208.67.220.220 208.67.220.222'
網路重啟 ,LAN IP要記好記滿確認好,重啟後SSH須重開(因為LAN IP換了)
#/etc/init.d/network restart


Root密碼重設.驗證等級從MD5提升到SHA512
為什不在Luci內設?主因-不能下參數 -a 512 ,WebGui通常預設只有MD5加密等級。
現在知道為什大部分的OpenWrt比其它官方OEM韌體安全的主因了嗎?
現在知道為什一定要SSH終端機登入了嗎?
關鍵在OpneWrt有超多Linux較安全的各式編碼/密碼演算法
只有SSH終端機登入才能下指令編改系統安全等級,WebGui是不可能取代的了SSH的.....
# passwd -a 512
root密碼設完 ,必須先雙開第二SSH, 以root密碼測試登入(以免下次登入出槌)。
root密碼設完 ,可以連上Internet下載Package了。

【Package】
若是用Release版就不用安裝Luci ,要不要中文看個人需求,
但是luci-app-advanced-reboot一定要裝 ,
那是專門針對Zyxel Amror Z2...等DualBoot切換-雙開機專用Package
# ping www.hinet.net
# opkg update
# opkg install luci luci-app-advanced-reboot luci-i18n-base-zh-tw

-----------------------------------------------------------------------
[Web Security]只允許LAN端以Web管理, 防Internet上暴力破門
裝完Luci須設定網頁管理Web Server - uhttpd指向Lan內網段
修改WebGui 指定限制由Router-LAN- IP存取(拒絕透過Internet存取Web)
#vi /etc/config/uhttpd

# HTTP listen addresses, multiple allowed
list listen_http 192.168.1.254:80
# list listen_http [::]:80

# HTTPS listen addresses, multiple allowed
list listen_https 192.168.1.254:443
# list listen_https [::]:443
修改國別、地理位置
# Defaults for automatic certificate and key generation
config cert defaults

# Location
option country TW
option state Somewhere
option location Taipei


===【免焊接免TTL - Tftp+WPS鍵還原Zyxel OEM Stock韌體】===
這種方式不一定適用各種機種, 但沒刷過誰知道對吧?! ,
我前後共刷了9次 ,方法絕對可行-前面兩次+後面七次
包含因為DefaulGW未正確指向Zyxel NBG6817的IP:192.168.1.1冤枉多刷的

或許為了測試雙Boot開機切換+或許不想用Release(wolf-ssl只有Snapshot才有)
......其實是我手賤 ,在玩批次大量Batch Upgrade Package ,在底層低階netifd卡住了,
重複開機前兩次都沒問題 ,但第三次就掛了...So.....只好Tftp還原嚕
(手賤真要命 ,早知道先在VM上測試 ,難怪OpenWrt上都沒看過有人Batch Upgarde)


Connection received from 192.168.1.1 on port 2288 [20/09 01:57:09.030]
Read request for file . Mode octet [20/09 01:57:09.030]
OACK: <timeout=5,blksize=1468,> [20/09 01:57:09.030]
Using local port 55491 [20/09 01:57:09.030]
: sent 15913 blks, 23359488 bytes in 7 s. 0 blk resent [20/09 01:57:16.657]

Connection received from 192.168.1.1 on port 2286 [20/09 02:36:00.179]
Read request for file . Mode octet [20/09 02:36:00.179]
OACK: <timeout=5,blksize=1468,> [20/09 02:36:00.179]
Using local port 64509 [20/09 02:36:00.179]
: sent 15913 blks, 23359488 bytes in 7 s. 0 blk resent [20/09 02:36:07.851]

Connection received from 192.168.1.1 on port 2280 [20/09 02:51:32.264]
Read request for file . Mode octet [20/09 02:51:32.264]
OACK: <timeout=5,blksize=1468,> [20/09 02:51:32.264]
Using local port 50980 [20/09 02:51:32.264]
: sent 15913 blks, 23359488 bytes in 7 s. 0 blk resent [20/09 02:51:39.897]

Connection received from 192.168.1.1 on port 2342 [20/09 03:36:59.601]
Read request for file . Mode octet [20/09 03:36:59.617]
OACK: <timeout=5,blksize=1468,> [20/09 03:36:59.617]
Using local port 55499 [20/09 03:36:59.617]
: sent 15913 blks, 23359488 bytes in 5 s. 0 blk resent [20/09 03:37:04.941]

Connection received from 192.168.1.1 on port 2274 [20/09 04:00:43.063]
Read request for file . Mode octet [20/09 04:00:43.063]
OACK: <timeout=5,blksize=1468,> [20/09 04:00:43.063]
Using local port 62583 [20/09 04:00:43.063]
: sent 15017 blks, 22044672 bytes in 5 s. 0 blk resent [20/09 04:00:48.139]

Connection received from 192.168.1.1 on port 2339 [20/09 04:18:49.374]
Read request for file . Mode octet [20/09 04:18:49.374]
OACK: <timeout=5,blksize=1468,> [20/09 04:18:49.374]
Using local port 54986 [20/09 04:18:49.374]
: sent 15017 blks, 22044672 bytes in 5 s. 0 blk resent [20/09 04:18:54.404]

Connection received from 192.168.1.1 on port 2309 [20/09 04:42:15.883]
Read request for file . Mode octet [20/09 04:42:15.883]
OACK: <timeout=5,blksize=1468,> [20/09 04:42:15.946]
Using local port 59497 [20/09 04:42:15.946]
: sent 15913 blks, 23359488 bytes in 6 s. 0 blk resent [20/09 04:42:21.287]

【TFTP刷機還原Zyxel原廠韌體SOP】
1.下載韌體,更名ras.bin (UBoot開機只吃這個檔案名)

2.設定PC的IP:192.168.1.99 (同網段IP或許可以 ,但沒試過)
 SubnetMask(子網路遮罩):255.255.255.0
DefaultGW(匝道器):192.168.1.1
3.開啟Tftp Service服務 ,FW防火牆69埠須放行連入,監控埠2994與本地端建立連線



4.按住Zyxel路由器WPS鍵 ,才開啟電源。

5.上傳檔案才花不到10秒鐘(看上面記錄),
左邊算來第一顆燈(Power白光)+左邊算來第三顆燈(橘登)超快速閃動時,
代表檔案已經上傳完畢, 斷電重開.....準備計時5分鐘
接下來要...非常...非常...非常.....注意
開始計時5分鐘 , 這中間Router自我更新其間絕對不能、不能、不能斷電
(粉重要所以要講三次)
會看到Power燈有節奏的一閃一閃亮晶晶。

6.韌體自我更新完 ,燈號全滅, Power燈號會再恆亮, 就是真的更新完了
如何確認?整個SOP流程都可以用ICMP的指令Ping 192.168.1.1 就知道了,
但最重要的是 : 一白一橘燈斷電後才是關鍵 ,只能靠5分鐘計時(用5分鐘比較保險!)
===========================================================
用最強大的OpenWrt韌體刷機+以上的方法可以對抗駭客(80%三流駭客)
15%二流駭客看狀況-鬥功力
5%一流駭客粉難講-鬥功力+速度
..........還沒裝.........
-猜猜我是誰:新增第二User ,SSHv2憑證加密連線+Sudo User免密碼登入
-對外連線TLS加密:VPN
-入侵偵測:Snort
-入侵不良封包:Drop拋棄
-開啟雙防火牆:OpenWrt內建 SPI,Luci可勾選 (攻擊封包防禦)
-貴崧崧的資安艦隊 UTM機制(Adblock+CalmAV)
-防制DNS被綁架汙染的Unbound、DNSCrypt    
-對抗DDoS利器:Routing Redirect黑洞路由
-追蹤駭客來源鎖定-GeoIP
-封包Dump看你搞什鬼?!
-小叮噹任意門:敲對三次門才准進Knock
......

一個FW玩不夠還有FW Cluster Array迷魂陣
(Intel I5 36Mb記憶體就能開啟一個OpenWrt in VirtualBox,
Bypass第一個防火牆, 還有100個(3.6GB RAM),死了一個我還有100個我 ,
前提是要懂封包 ,才不會把自己擋死!
-蜜罐誘捕Hacker追殺困陣系統

內文最好多看幾次 ,真的看懂再行動
以上只是範例參考
Refence:
https://openwrt.org/toh/hwdata/zyxel/zyxel_nbg6817
https://openwrt.org/toh/zyxel/nbg6817
https://forum.openwrt.org/t/zyxel-nbg6817-flashing-from-oem/768
2018-09-22 13:22 #1
omniplay wrote:
[刷機前置作業]1....(恕刪)

印象中openwrt,可以用uci command 來做設定,如 uci set dropbear.enable=1
uci commit
這樣就不用辛苦去編設定檔啦~
zyxel armor z2 官方版本,應該也是基於openwrt去開發的吧?
freds wrote:印象中openwrt...(恕刪)

講得挺有道理的....
原來現代人都喜歡速食麵 ,但vi才是基本功.....

1F - UCI快速指令
請服用
Putty -> IP:22 ,Telnet登入Offical OEM 韌體 啟用Dropbear SSH
#[Telnet]
uci set  dropbear.@dropbear[0].enable='1'
uci commit
service dropbear restart
reboot -f


只限第一次刷機完使用

uci set or add_list 只限一次, uci設錯的只能用uci指令改正!
vi無法修改uci設錯的/etc/config/內的各項設定值!!!!!
#[System]
uci set system.@system[0].hostname='NBG6817'
uci set system.@system[0].zonename='Asis/Taipei'
uci set system.@system[0].timezone='CST-8'
--------------------------------------------------------------------------------
#[Dropbear-SSH]
uci add_list dropbear.@dropbear[0].Interface='lan'
--------------------------------------------------------------------------------
#[Network][Lan]
uci set network.lan.ipaddr='192.168.1.254'
uci add_list network.lan.gateway='192.168.1.254'
uci add_list network.lan.dns='208.67.220.220 208.67.222.222'
uci set network.lan.stp='1'
uci set network.lan.igmp_snooping='1'

#[Network][Wan]剩下的去Luci內設
uci set network.wan.force_link='1'
uci set network.wan.demand='0'
----------------------------------------------------------------------------------- 
#[Luci]
uci set uhttpd.main.listen_http='192.168.1.254:80'
uci set uhttpd.main.listen_https='192.168.1.254:443'
uci set uhttpd.defaults.country='TW'
uci set uhttpd.defaults.state='Antiria'
uci set uhttpd.defaults.location='Taipei'
-------------------------------------------------------------------------------
# Finish & Service Restart
uci commit
service system    restart
service dropbear restart
service uhttpd     restart
service network   restart

ps.
uci add_list 只限一次, uci設錯的只能用uci指令改正!
vi無法修改uci設錯的config設定值!!!!!
omniplay wrote:
講得挺有道理的......(恕刪)

可以用uci export dropbear
或cat /etc/config/dropbear
來確認設定。
要用uci 或vi 直接編輯設定檔都行,
大叔比較懶,用uci 複製貼上順手點。
freds wrote:可以用uci export...(恕刪)


複製、重製是科技的起始點,複製、再造創新是科技的發光點
科技誰不複製?

UCI雖然強大,但并非沒有缺點
[優點]:
1.針對/etc/config/下的各個設定檔 ,省打路徑。
2.適合搭配腳本 ,大量出機光速設定(OEM、ODM)
[缺點]
1.uci下過的設定檔,註解的#後面字元會被全部清除掉 ,這是我不太喜歡uci的原因
所以自用跟出機是有分的xd
2.uci set的過的設定值由項目最終行排起-格式排序亂 ,只適合短打 ,不適合長跑 ,
你會知道uci後面該下什樣的參數嗎?是option? list? Boolean? Integer? String?
vi=>uci=>Luci(WebGui), uci show才是重點(前兩天才想通,之前看官方文件太蛋疼)
3.uci 不一定比較快:如果/etc/config/ 的檔案大量編輯時...

不相信....看下列wireless大量修改時,vi 複製貼上比較快還是UCI指令比較快?!

Broadcom博通的1024QAM(NitroQAM)真的比較強?
雖然看起來LinkRate有比較高,但Throughtput卻不一定比較高 ,
沒什終端支援(除了Asus PCE-AC88), 是在做心酸的嘛?
而支援160MHz的無線網卡已經現市
到了802.11ax普及 ,那時大家都一樣(160MHz or 1024QAM) ;
ACxxxx數字遊戲,看看就好!

因應OpenWRT Snapshot Office Fw 官方韌體新增不同版本來源
更發現之前 Wifi優化是廢招,擇期再Try
限制級
您即將進入之討論頁 需滿18歲 方可瀏覽。
提醒:內容可能因過於寫實、驚悚而令人感到不舒服,是否繼續觀看?

根據「電腦網路內容分級處理辦法」修正條文第六條第三款規定,已於該限制級網頁,依台灣網站分級推廣基金會規定作標示。
評分
複製連結