็†ฑ้–€ๅˆ†้กž
 ่ผ‰ๅ…ฅไธญ…
็›ฎ้Œ„

๐Ÿ› ️ Junos OS ๆ ธๅฟƒๆ“ไฝœๆŒ‡ๅ—:่ˆ‡ๅ‚ณ็ตฑ Cisco IOS ๅœจ CLI ้‚่ผฏไธŠ็š„้—œ้ตๅทฎ็•ฐๅˆ†ๆž

    ๐Ÿ› ️ 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 ็•ถๆˆๆต็จ‹็š„ไธ€้ƒจๅˆ†,่€Œไธๆ˜ฏไบ‹ๆ•…็™ผ็”ŸๅพŒๆ‰ๆƒณ่ตทไพ†。

    ๐Ÿ’ฌ ็•™่จ€ไบ’ๅ‹•|ไฝ ๆœ€ๅธธ่ธฉ้›ท็š„ CLI ๅทฎ็•ฐๆ˜ฏๅ“ชไธ€ๅ€‹?

    ไฝ ๅพž IOS ่ฝ‰ Junos ๆ™‚,ๆœ€ไธ็ฟ’ๆ…ฃ็š„ๆ˜ฏ commit、้šŽๅฑคๅผ่จญๅฎš、้‚„ๆ˜ฏ pipe ้Žๆฟพ? ๅœจไธ‹ๆ–น็•™่จ€ไฝ ็š„่จญๅ‚™ๅž‹่™Ÿ่ˆ‡ไฝฟ็”จๆƒ…ๅขƒ(ไบคๆ› / ่ทฏ็”ฑ / ้˜ฒ็ซ็‰†),ๆˆ‘ๅฏไปฅๆŠŠ「ๅธธ็”จๆ“ไฝœๅฐ็…ง่กจ」ๆ“ดๅ……ๆˆๆ›ด่ฒผ่ฟ‘ไฝ ็พๅ ด็š„็‰ˆๆœฌ。

    ๅ‰ๅพ€็•™่จ€ๅ€

    ๅปถไผธ้–ฑ่ฎ€

    — WWFandy・Network ็ญ†่จ˜

    ๐Ÿ”— ๅˆ†ไบซ้€™็ฏ‡ LINE Facebook X

    ๆฒ’ๆœ‰็•™่จ€:

    ๅผต่ฒผ็•™่จ€

    ๅญ—็ดš