๐ ️ Junos OS ๆ ธๅฟๆไฝๆๅ:่ๅณ็ตฑ Cisco IOS ๅจ CLI ้่ผฏไธ็้้ตๅทฎ็ฐๅๆ
ๅฐ็ๆ Cisco IOS ็ๅทฅ็จๅธซ่่จ,็ฌฌไธๆฌกๆฅ่งธ Junos OS ๆๅฎนๆๅกไฝ็้ป,ๅพๅพไธๆฏๆไปค「้ทๅพๅไธๅ」,่ๆฏ่ๅพ็ CLI ้่ผฏๅฎๅ จไธๅ: Junos ๆฏ「ๅ ็ทจ่ผฏๅ้ธ่จญๅฎ → ๆชขๆ ธ → commit ไธๆฌกๅฅ็จ」;่ๅณ็ตฑ IOS ๆดๅ「็ดๆฅๆน running-config → ๅๅฆๅญ」。 ้็ฏไปฅๅฏฆๅ่งๅบฆๆๅทฎ็ฐๆ่งฃๆๅฏ่ฝๅฐ็ๆไฝๅฟๆณ่ๅฐ็ งๆไปค,่ฎไฝ ่ฝๅฟซ้ไธๆไธฆ้ฟๅ ๅธธ่ฆ่ธฉ้ท。
ไธ、CLI ็「ๅ ฉไธ็」:Operational vs Configuration
Junos ๆๆฅๅธธๆไฝๅๆๅ ฉๅไธ็:Operational mode(็็ๆ 、ๆฅ่ณ่จ、ๆธ counters)่ Configuration mode(็ทจ่ผฏๅ้ธ่จญๅฎ)。Cisco IOS ๅๅธธๆ「show / conf t」ๆททๅจๅไธๅฅ CLI ๆฐฃๆฐ่ฃก。
# Junos:้ฒๅบๆจกๅผ
> configure # ้ฒๅ
ฅ configuration mode
# exit # ้ข้ configuration mode
> show ... # operational mode ๆฅ็ๆ
# show ... # configuration mode ไนๅฏ show(ๅค็จๆผ็ config)
! Cisco IOS:ๅธธ่ฆ็ฏๅฅ
Router# show ...
Router# conf t
Router(config)# ...
Router(config)# end
Router# write memory (ๆ copy run start)
ๆ ธๅฟๅทฎ็ฐ:ๅจ Junos,ไฝ ๆๆ「ๆฅ็ๆ 」่「ๆน่จญๅฎ」่ฆ็บๅ ฉๅๅทฅไฝๆต;้ๆ็ดๆฅๅฝฑ้ฟ่ฎๆดๅฎๅ จๆง่็จฝๆ ธๅ่ณช。
ไบ、ๅ้ธ่จญๅฎ(Candidate Config)vs Running Config:่ฎๆด็ๅฎๅ จ้่ผฏ
Junos ็้ ็ฝฎไธๆฏ「ๆไบๅฐฑ็ๆ」,่ๆฏๅ ๅฏซ้ฒๅ้ธ่จญๅฎ,ๆๅพๅ commit ๅฅ็จ;้ๅฐไผๆฅญ่ฎๆดๆต็จ้ๅธธ้้ต。
# Junos:ๅ
ธๅ่ฎๆดๆต็จ
configure
set system host-name R1-Junos
commit check # ๅ
ๆชขๆ ธ่ชๆณ/ไพ่ณด้ไฟ
commit # ไธๆฌกๅฅ็จ
exit
! Cisco IOS:ๅ
ธๅ่ฎๆดๆต็จ(ๅณ็ตฑ่งๅฟต)
conf t
hostname R1-IOS ! ๅคๆธ่จญๅฎ็ถไธๅฐฑ้ฒ running-config
end
write memory ! ๅฆๅญๅฐ startup-config
ๅฏฆๅๅปบ่ญฐ:Junos ็ commit check ๆฏ「ไธ็ทๅ็ๆไฝๆๆฌ้ฉ่ญ」,้คๆ็ฟๆ ฃ่ฝ้กฏ่้ไฝ่ฎๆดไบๆ ็。
ไธ、Rollback ่ commit confirmed:Junos ๅ งๅปบ็「ๆๅฝ็นฉ」
Junos ๆๅฏฆ็จ็ๅชๅขไนไธ,ๆฏๆๅๆปพ่จญ่จๆๆจๆบ่ฝๅ,่ไธๆฏ้ ไบบ่จๅพๆ้บผๆ。
1) commit confirmed:้ ็ซฏ่ฎๆดๅฟ ๅ
# Junos:ๅ
ๅฅ็จ,่ฅ 5 ๅ้ๅ
งๆฒ็ขบ่ช,ๆ่ชๅๅๆปพ
commit confirmed 5
# ็ขบ่ชไธๅๆญฃๅธธๅพๅๆญฃๅผๆไบค(ๅๆถๅๆธ)
commit
้ๅๆ่ทฏ็ญๅๆ「่ฎๆดๅพๅฏ่ชๅๅๅพฉ」ๅ งๅปบๅจๆต็จไธญ,ๅฐคๅ ถๅจไฝ ่ชฟๆด ACL、็ฎก็้ขๅญๅ、ๆๆดๅ Gateway/่ทฏ็ฑๆฟ็ญๆ้ๅธธ้่ฆ。
2) rollback:ๅฟซ้ๅๅฐไธไธ็
# Junos:ๅๅฐไธไธๅ commit ็็ๆฌ
rollback 1
show | compare
commit
Cisco ไน่ฝ้ archive / config replace ็ญๆนๅผ้ๅฐ้กไผผๆๆ,ไฝ Junos ็ไธ่ดๆง่ๆฅๅธธๅฏ็จๆง้ๅธธๆด้ซ。
ๅ、้ๅฑคๅผ่จญๅฎ(Hierarchical)ๆฏ Junos ็「่ช่จๆฌ้ซ」
Cisco IOS ไปฅ「้ฒไป้ข、้ฒ่ทฏ็ฑ็จๅบ」็ๆจกๅผไพ็ต็น่จญๅฎ;Junos ๅๆฏๅดๆ ผ็ๆจน็้ๅฑค。 ไฝ ๅฏไปฅ็จๅ ฉ็จฎๆนๅผ็ทจ่ผฏ:้ๅฑคๅผ edit ๆ set/delete。
1) set/delete:ๅฟซ้ไธๅฏ่ค่ฃฝ่ฒผไธ
# Junos:set/delete ็ฏไพ
set interfaces ge-0/0/1 unit 0 family inet address 10.10.10.1/24
delete interfaces ge-0/0/1 unit 0 family inet address 10.10.10.1/24
2) edit/top/up:่ฎ็ตๆง、ๅๆนๆฌก่ชฟๆด
# Junos:้ๅฑคๅผ็ทจ่ผฏ
edit interfaces ge-0/0/1 unit 0 family inet
set address 10.10.10.1/24
top
3) ไบ็ธ่ฝๆ:show | display set ๆฏ็ฅๆ
# Junos:ๆ้ๅฑคๅผ config ่ฝๆ set ๅฝขๅผ,ๆนไพฟ่ค่ฃฝ/ๆฏๅฐ
show configuration interfaces ge-0/0/1 | display set
ๅปบ่ญฐ็จๆณ:่ฎ่จญๅฎ็จ้ๅฑคๅผ,ๆฌ่จญๅฎ็จ display set,ๅ ฉ่ ๅๆ่ฝ้กฏ่ๆๅๆ็。
ไบ、ๆฏๅฐ่ๅฏ่ฆๅ:show | compare ่ฎ่ฎๆด「ๅฏๅฏฉๆ ธ」
Junos ๅผท่ชฟ่ฎๆดๅฏ่ขซ็่งฃ่ๅฏฉๆ ธ,ๅ ๆญคๆไพ้ๅธธ็ด่ฆบ็ๅทฎ็ฐๆฏๅฐ。
# Junos:็ๅ้ธ่จญๅฎ vs ็ฎๅ็ๆ่จญๅฎๅทฎ็ฐ
show | compare
! Cisco IOS:ๅธธ่ฆๆฟไปฃๆนๅผ(ไพๅนณๅฐๅ่ฝ่็ฐ)
show running-config
show startup-config
! ๆๆญ้
archive / diff / config replace ่ฝๅ
ๅฆๆไฝ ็็ฐๅขๆ่ฎๆดๅฏฉๆ ธๆ็จฝๆ ธ้ๆฑ,Junos ็ compare ๅนพไนๆฏ「่ฎๆดๅฎ」็ๅคฉ็ถ่ผธๅบ。
ๅ ญ、็ฎก็ท(pipe)้ๆฟพ:Junos ็ CLI ๆฅ่ฉขๆดๆฅ่ฟ่ณๆ่็
Cisco ๆ | include / | section ็ญ้ๆฟพ;Junos ๅๆ pipe ๅๅพๆดๅ่ณๆ่็ๅจ,ๅธธ็จ็ๅ
ๆฌ match/except/count/last。
# Junos:ๅธธ็จ pipe
show interfaces terse | match ge-0/0
show configuration | match "system host-name"
show log messages | last 50
show interfaces | match "Errors" | count
่ฅไฝ ็ฟๆ ฃ「็จ CLI ็ดๆฅๆ่ณ่จๆถๆๆ็ญๆก」,Junos ็ pipe ๆ่ฎๆ้้ๅบฆๆดๅฟซ。
ไธ、่จญๅฎ่ผๅ ฅ่ๅไปฃ:merge/override/replace-pattern ็ไผๆฅญๅฏฆๆฐๅนๅผ
Junos ๅฐ「ๆนๆฌก่ฎๆด」่「็ญ็ฅๅๅฅ็จ」ๆไพๅพๅคๅ็่ฝๅ,้ฉๅๆจๆบๅ่ๅคง่ฆๆจก็ถญ้。
# Junos:่ผๅ
ฅ่จญๅฎ(็คบๆ)
load merge terminal
# ่ฒผไธ็ๆฎตๅพ Ctrl+D
# ่ฆ่/ๅไปฃ(้ขจ้ช่ผ้ซ,ๅๅฟ
ๆญ้
compare + commit confirmed)
load override terminal
# ไปฅ pattern ๆนๆฌกๆฟๆ(ๅธธ็จๆผๅคง้ๆนๆ่ฟฐ、IP ๆฎต、็คพ็พค็ญ)
replace pattern "OLD" with "NEW"
ๅฏฆๅๅปบ่ญฐ:ๆนๆฌกๆไฝๅๅฟ
ๅ
show | compare,ๅ commit confirmed,ๆๅพๅๆญฃๅผ commit。
ๅ ซ、ๅฟซ้ๅฐ็ ง:ไฝ ๆๅธธ็จ็ IOS ๆไปค,ๅจ Junos ๅฐๆๆฏไป้บผ?
IOS:show run → Junos:show configuration
IOS:copy run start / wr mem → Junos:commit(่จญๅฎๅณ่ขซไฟๅญ็บๅฏๅๆปพ็ๆฌ)
IOS:conf t → Junos:configure
IOS:no xxx → Junos:delete xxx
IOS:show ip int brief → Junos:show interfaces terse
IOS:show ip route → Junos:show route
IOS:terminal length 0 → Junos:set cli screen-length 0
IOS:reload in / revert → Junos:commit confirmed(ๆด่ฒผ่ฟ่ฎๆดไฟ่ญท)
ๆ้ๆฎตๅฐ็ ง่จ็,ไฝ ็ไธๆๆ้ๆ็ดๆฅๅฐไธๅ。
ไน、ๆไฝณๅฏฆๅ(ๅๅฏฆ็):ๆ Junos ็จๅบ「ไผๆฅญ็ดๅฎๅ จ」
- ๆๆ้ ็ซฏ้ซ้ขจ้ช่ฎๆด:ๅชๅ
ไฝฟ็จ
commit confirmed。 - ๆฏๆฌกไธ็ทๅ:ๅบๅฎ
commit check+show | compare。 - ๆจๆบๅ:็จ
display setๅๆจกๆฟ,็จgroups/apply-groupsๅ็ญ็ฅๅฅ็จ。 - ๅฏๅๆปพ:ๆ rollback ็ถๆๆต็จ็ไธ้จๅ,่ไธๆฏไบๆ ็ผ็ๅพๆๆณ่ตทไพ。
ๅปถไผธ้ฑ่ฎ
- ๐งฉ Juniper ๅๅง่จญๅฎ่ๅบๆฌๆธฌ่ฉฆๆๅญธ"
- ⚙️ Juniper DHCP ้ฏ่ชคๆ้ค่ๆญฃ็ขบ่จญๅฎๆๅญธ"
- Juniper ่จญๅๅ็จ DHCP ไผบๆๅจ่จญๅฎๆๅญธ(Junos OS)
- ๐ Juniper ๅฎๆนๆไปถๅ ฅๅฃ(Junos Documentation)
- ๐ Cisco IOS ๅฎๆน่จญๅฎ่ๅ่ๆไปถๅ ฅๅฃ
— WWFandy・Network ็ญ่จ
๐ฌ ็่จไบๅ|ไฝ ๆๅธธ่ธฉ้ท็ CLI ๅทฎ็ฐๆฏๅชไธๅ?
ไฝ ๅพ IOS ่ฝ Junos ๆ,ๆไธ็ฟๆ ฃ็ๆฏ commit、้ๅฑคๅผ่จญๅฎ、้ๆฏ pipe ้ๆฟพ? ๅจไธๆน็่จไฝ ็่จญๅๅ่่ไฝฟ็จๆ ๅข(ไบคๆ / ่ทฏ็ฑ / ้ฒ็ซ็),ๆๅฏไปฅๆ「ๅธธ็จๆไฝๅฐ็ ง่กจ」ๆดๅ ๆๆด่ฒผ่ฟไฝ ็พๅ ด็็ๆฌ。
ๅๅพ็่จๅ