Juniper SRX (Junos OS) 常用監控維護命令
Juniper SRX (Junos
OS) 常用監控維護命令
Juniper SRX安全設定與維護:
下列則是一些常用的設定與觀念方面的相關連結:
更改WAN介面的IP設定
若您的WAN介面fe-0/0/0原本設定為使用浮動IP (DHCP),而您要將其改成固定IP 192.168.188.10,則您必須先將WAN介面fe-0/0/0原來的設定刪除後,您才能重新設定成固定IP。
root@srx100# set interfaces fe-0/0/0 unit 0 family inet address
192.168.188.10 /* 要在介面上設定固定IP */
root@srx100# commit
[edit interfaces fe-0/0/0 unit 0 family inet]
'dhcp'
Incompatible with interface
assigned with address
error: commit failed: (statements constraint check failed) /* 當設定介面上存在任何IP設定時就會失敗無法提交 */
[edit]
root@srx100# delete interfaces fe-0/0/0 unit 0 family inet /* 請記得先刪除介面上的設定 */
root@srx100# set interfaces fe-0/0/0 unit 0 family inet address
192.168.188.10
root@srx100# set route 0.0.0 .0/0
interface ethernet0/0 gateway 192.168.188.254 /* 在配置固定IP的同時,通常我們都要配置預設路由,明確指定WAN介面的下一個閘道位址 */
root@srx100# commit
commit complete /* 提交設定成功了 */
root@srx100#
如何重新取得WAN埠(DHCP用戶端)的IP?
當您將WAN埠設成DHCP用戶端,若是您重啟中華電信小烏龜或是將WAN埠接到另一台設備時,常常無法迅速自動重新取得DHCP伺服器發配的IP,導致您遲遲無法上網,而重啟Juniper SRX設備又耗時太久,這時通常必須要手動來取得DHCP伺服器發配的IP才行。
重新取得WAN端IP (fe介面):
root> request
system services dhcp renew fe-0/0/0.0
重新取得WAN端IP (ge介面):
root> request
system services dhcp renew ge-0/0/0.0
重新取得WAN端IP (pppoe介面):
root> request
system services dhcp renew pp0.0
如何查看WAN IP ?
1. 從WebUI(J-Web)
Monitor > Interfaces
2. 或是從CLI命令列執行下列命令。
root@srx100> show interfaces ge-0/0/0.0
Logical interface ge-0/0/0.0
(Index 82) (SNMP ifIndex 509)
Flags: SNMP-Traps 0x0
Encapsulation: ENET2
Input packets : 337212
Output packets: 279241
Security: Zone: untrust
Allowed host-inbound traffic :
http ike ping
Protocol inet,MTU: 1500
Flags: Sendbcast-pkt-to-re
Addresses,Flags: Is-Preferred Is-Primary
Destination: 192.168.188/24,Local: 192.168.188.7,
Broadcast: 192.168.188.255
root@srx100>
開放wan端的ping及https服務
Juniper SRX出廠預設配置如下:
system {
services {
ssh;
telnet;
xnm-clear-text;
web-management {
http {
interface vlan.0;
}
https {
system-generated-certificate;
interface vlan.0;
}
}
}
}
security {
zones {
security-zone untrust {
interfaces {
fe-0/0/0.0 {
host-inbound-traffic { /* 管制可從WAN端進入的流量種類 */
system-services {
dhcp;
tftp;
}
}
}
}
}
}
}
從上面的設定中我們可以看到出廠預設對內網開放遠端管理的telnet、ssh、http、https服務,外網只開放dhcp(出廠預設WAN介面為DHCP Client端)及tftp(可用來安裝Junos OS)服務。
telnet以及ssh服務只要開啟了,則所有的人都能透過設備IP來登入SRX設備。
而http以及https服務就還要受到web-management命令來控管,它能開放讓只有特定介面上的用戶才能使用http及https服務。
關於Juniper SRX網路設備在遠端管理服務方面的控管,外網方面受到WAN介面(本例為fe-0/0/0.0) host-inbound-traffic system-services的管制,您要在WAN介面開放system-services相關的服務(telnet、ssh、http、https),您才可以從外網使用遠端管理服務來管理Juniper SRX網路設備。
而從遠端來管理Juniper SRX網路設備我們建議使用ssh、https兩種方式,因為他們在傳輸過程中資料會經過加密程序來保障資料傳輸安全,而telnet及http服務則建議刪除(其資料傳輸乃用明文傳送,容易被駭客盜取帳號密碼)。
刪除telnet及http服務的CLI命令如下:
root@srx100# delete system services telnet
root@srx100# delete system
services web-management http
root@srx100# commit
而關於Juniper
SRX網路設備的安全相關設定,請參考下列的網路連結:
我們在安裝測試時常常需要從wan端ping及使用J-Web界面來管理設備,而系統預設並未開放,所以我們就要自行設定來開放。
以下我們開始說明如何開放wan端的ping及https服務:
從WebUI(J-Web)設定
1. Configure>Security>Zones/Screens>
編輯Untrust Zone,點選Host inbound traffic
- Zone頁籤,
Services:項目 在Selected中加入ping、http服務,按OK
2. Configure>System
Properties>Management Access>
點選Services頁籤,勾選Enable HTTP項目,並在Selected interfaces中,
加入ge-0/0/0.0介面,按OK
最後記得要Actions>Commit即可。
從CLI命令列設定
從CLI命令列執行下列命令
root@srx100# set security zones
security-zone untrust host-inbound-traffic system-services ping
root@srx100# set security zones
security-zone untrust host-inbound-traffic system-services http
root@srx100# set security zones
security-zone untrust host-inbound-traffic system-services https
root@srx100# set system services
web-management http interface ge-0/0/0.0
root@srx100# set system services web-management https interface
ge-0/0/0.0
root@srx100# commit
為了方便測試而允許所有的介面都可以執行網頁管理http、https
root@srx100# set system services
web-management http interface all
root@srx100# set system services
web-management https interface all
而通常為了安全我們只開放部分內網介面才可以執行網頁管理http、https
root@srx100# set system services
web-management https interface fe-0/0/6.0
另外,若wan ip經由DHCP來取得,記得要開放dhcp服務,否則會無法取得ip
root@srx100# set security zones security-zone untrust interface
fe-0/0/0.0 host-inbound-traffic system-services dhcp
root@srx100# set security zones security-zone untrust
host-inbound-traffic system-services dhcp ##錯誤,只有interface才支援dhcp服務,zone並不支援dhcp服務
設定interfaces
fe-0/0/0.0 為dhcp client以取得WAN IP
root@srx100# set interfaces fe-0/0/0
unit 0 family inet dhcp
設定interfaces
fe-0/0/0.0 為固定IP
root@srx100# set interfaces fe-0/0/0
unit 0 family inet address 192.168.188.10/24
關於web-management
https(或http)命令在設定上的觀念
在Juniper SSG/Netscreen 防火牆上,我們要在介面上開放https或http的服務,只要進入該介面,並勾選https或http服務即可。
因此在Juniper SRX設備上當我們看到下列命令時:set system services web-management
https interface vlan.0,我們通常會直觀的認為這是要在vlan.0界面開啟https服務。
換句話說,只要您在網頁瀏覽器上輸入
"https://" + "vlan.0的介面IP",例如:"https://192.168.1.1",您就可以在加密的https網頁上開啓SRX設備的J-Web管理介面。
這在一般的設定情況中通常都不會有問題。
可是當我們要讓遠端的VPN用戶利用VPN連線從本地的vlan.0以及lo0.0界面來開啟https服務好管理本地設備時,通常我們會直觀的設定為set system services
web-management https interface [ vlan.0 l o0.0
],可是卻發現GG了,行不通。
經由我們實際操作發現我們從本地的vlan.0介面可以登入J-WEB網頁管理介面,而從遠端的VPN連線中就無法經由lo0.0及vlan.0介面來登入J-WEB了。
可是一旦當我們將設定改成從所有的介面都能開啓https服務時(set system services
web-management https interface all),卻又發現這時我們就可以從遠端的VPN連線中經由lo0.0及vlan.0介面來登入J-WEB了。
在經過我們不斷的、努力的、認真的試驗之後,才發現原來是我們對使用web-management https命令的觀念不正確所致,原來set system services web-management https interface
vlan.0這個命令的實際功用為:開放vlan.0介面上的所有用戶都能使用https服務來開啓J-Web網頁管理介面。也就是說只要您是vlan.0介面上的用戶,您就可以在網頁瀏覽器上輸入這台設備的介面IP來開啓經過加密的J-Web管理介面,而且不一定只限於vlan.0的介面ip,凡是屬於這台設備上的所有介面ip都行,但前提是您必須要有其他介面的使用權才行(我們可透過策略policy來控制)。
以本例而言,因為我們的目的是要讓遠端的VPN用戶能透過VPN連線,連接本地的vlan.0以及lo0.0界面並開啟https服務,以便我們能更安全的從遠端來管理本地設備。而遠端VPN的流量到底是從哪個介面來進入設備的? 是fe-0/0/0.0 WAN介面嗎? 錯,VPN流量都是經由st0(或是st[n])介面(Juniper SRX VPN通道專屬介面)來進入設備的,所以我們只要將st0.0介面加入web-management https命令之中就可以達成我們的需求,例如:
set system services web-management https interface st0.0
set system services web-management https interface st0.0
當然,這並不只限於只能使用lo0介面來登入J-WEB,只要是您能接觸得到的本地介面,例如vlan.0等,您都可以透過它的介面IP來登入本地SRX設備的J-Web網頁管理介面。
如何清除系統儲存空間?
幫SRX重新安裝系統,request security idp security-package install 以後,本來很快的就可以安裝好,但是最後等了很長時間,最後出現錯誤訊息說 /cf/var: write failed,filesystem is full (檔案系統滿了),最後發現一條命令就能解決我的問題 :
SRX@SRX100h> request system storage cleanup
原廠連結如下:
如何大範圍替換運行中配置檔內的字串
大範圍替換運行中配置檔內的字串
※ replace
pattern /26 with /24 ##將設定檔中如192.168.6.6/26字串中之目標字串"/26"置換成取代字串"/24"
您必須確定目標字串"/26"在整個配置檔中是唯一的,是專屬於192.168.6.6/26字串的,並沒有其他非目標字串中含有"/26"字串,否則一旦替換了字串並且commit提交後,就容易造成不可預期的災難。
在commit之前我們可以使用show | compare 命令來確認更改是否正確,若是真的設定錯誤我們也可以使用rollback命令來恢復先前的設定。
所以上面的命令我們可以更改一下,改用比較精確的方式來設定,以確定目標字串在配置檔中是唯一與專屬的,如下:
replace
pattern 192.168.6.6/26 with 192.168.6.6/24
大範圍替介面設置相同的字串命令
※ wildcard range set interface ge-0/0/[1,3,5,7] mtu
9000 ##設定介面ge-0/0/1、ge-0/0/2、ge-0/0/3、ge-0/0/5、ge-0/0/7之mtu值為9000
大範圍刪除介面中相同的字串命令
※ wildcard range delete interface ge-0/0/[1-2] mtu ##刪除介面ge-0/0/1、ge-0/0/2之mtu值
如何清除Juniper
SRX尚未提交的指令:
當CLI命令下錯,而造成無法提交commit時,就必須清除尚未提交的所有命令。
常常我們在設定時一次輸入了數十行命令,提交commit時卻發現設定有問題,無法被提交,而從配置異常訊息中又無法明確知道問題在哪,只能縮小範圍再重新測試,而一行一行delete又太慢,這時我們就可以使用下列命令來清除尚未提交的所有命令:
clear
system commit
[edit]
root@srx100# commit
error: Another commit is pending ##下錯的命令造成系統無法被提交
[edit]
root@srx100# run clear system commit
Pending commit cleared ## Pending清除後才能commit
[edit]
root@srx100#
另一個辦法是:
root@srx100# rollback 0
root@srx100# commit
手動設定系統日期與時間
手動設定時間 January 25, 2010 and 11:15:00 AM.
user@host> set date YYYYMMDDhhmm.ss
user@host> set date 201001251115.00
手動同步時間 NTP server 118.163.81.61
root@srx100a > set date ntp
time.stdtime.gov.tw
1 Oct 12:28:44 ntpdate[14437]:
sendto/sendmsg(2001-b031-5c 02-ff00-0000-0000-000
0-0005.hinet-ip6.hinet.net): No route to host
1 Oct 12:28:45 ntpdate[14437]:
sendto/sendmsg(2001-b031-5c 02-ff00-0000-0000-000
0-0005.hinet-ip6.hinet.net): No route to host
1 Oct 12:28:46 ntpdate[14437]:
sendto/sendmsg(2001-b031-5c 02-ff00-0000-0000-000
0-0005.hinet-ip6.hinet.net): No route to host
1 Oct 12:28:47 ntpdate[14437]:
sendto/sendmsg(2001-b031-5c 02-ff00-0000-0000-000
0-0005.hinet-ip6.hinet.net): No route to host
1 Oct 12:28:48 ntpdate[14437]: no
server suitable for synchronization found
root@srx100a > set date ntp
118.163.81.61
1 Oct 12:28:11 ntpdate[14424]:
step time server 118.163.81.61 offset -0.000091 sec
手動同步時間 跟清單中之NTP server同步時間
root@srx100a > set date ntp
1 Oct 12:29:45 ntpdate[14453]:
step time server 211.22.103.158 offset 0.000257 sec
為什麼網路線接上Switches後要等待30秒
本段節錄自 - iT 邦幫忙。
這是因為Spanning Tree Protocol (STP)要去判斷網路狀況,避免有迴圈的情形發生,所以會出現30秒的收斂時間 。
(這也是為什麼我捫網路設備接上cisco switches設備時要等30秒的原因)
避免迴圈當然是很好,但是會有人覺得等30秒太久,我想要直接接上去就可以用。
這時候你可以在port上面設定。
(config-if)#spanning-tree portfast
這個指令表示說,你不要幫我進行任何檢查,我非常有自信這邊不會有問題,我要直接用。
當然你都這麼有自信的說了,設備當然就是聽從你的吩咐,網路線對接上去就直接給你用了。但是當你的網路環境中因為這個狀況出現了迴圈風暴,你就得自己承擔一下這後果了。
Juniper SRX設備預設開啟stp協定,而不是rstp,下面我們就來敘述。
首先,stp協定作用在ethernet-switching介面上,下面為設定示範:
set
interfaces fe-0/0/5 unit 0 family ethernet-switching vlan members vlan-trust
在上面ethernet-switching的介面上接入設備需要等待30秒。
而下面的介面則不需等待:
set
interfaces fe-0/0/6 unit 0 family inet address 192.168.4.1/24
我們可以將stp協定單獨設定在個別的介面上:
root@srx100-a# set protocols stp interface ? ##stp可以單獨設定在個別介面之上
Possible completions:
<name> Enter interface name
fe-0/0/0.0
sp-0/0/0.0
sp-0/0/0.16383
fe-0/0/1.0
fe-0/0/2.0
fe-0/0/3.0
fe-0/0/4.0
fe-0/0/5.0
fe-0/0/6.0
fe-0/0/7.0
lo0.0
lo0.16384
lo0.16385
lo0.32768
vlan.0
all All interfaces
[edit]
root@srx100-a#
這是本人試驗後的設定,下面會分開敘述:
root@srx100-a# show | display set | match stp
set protocols stp max-age 6
set protocols stp hello-time 1
set protocols stp forward-delay 4
set protocols stp interface all edge
[edit]
root@srx100-a#
第一階段:
set protocols
stp max-age 6
set
protocols stp hello-time 1
set
protocols stp forward-delay 4
上述三個命令都是個別參數所允許的最小值,設備接入要等待15秒,會有判斷不出迴圈風暴的機率。
第二階段:
set
protocols stp interface all edge
上面的命令設定後,設備接入要等待5秒,會有迴圈風暴的風險。
第三階段:
delete
protocols stp /* 停止stp協定 */
上面的命令設定後,設備接入要等待3秒,會有迴圈風暴的風險。
下列操作命令在操作模式下使用,或在配置模式下 run show…
※ show system software 查看當前系統軟體版本號
※ show system software backup 查看備援系統軟體版本號
※ show system uptime 查看系統啟動時間
※ show chassis haredware 查看設備序號,跟設備底部貼紙序號一樣
※ show chassis environment 查看硬體板卡當前狀態
※ show chassis routing-engine 查看主控板(RE)資源使用及狀態
※ show route 查看路由表
※ show arp 查看ARP 表
※ show log messages 查看系統日誌
※ show interface
save interface_config.txt 儲存查看介面運行狀態
※ show interface
terse 查看所有介面運行狀態
※ show interface
terse | match reth 查看所有reth介面運行狀態
※ show interface
ge-0/0/0.0 terse 查看ge-0/0/0.0介面運行狀態
※ show interface ge-0/0/0.0 brief 查看ge-0/0/0.0介面狀態
※ show interface ge-0/0/0.0 extensive 查看ge-0/0/0.0介面狀態
※ show interface ge-x/y/z detail 查看介面運行細節資訊
※ monitor interface ge-x/y/z 動態統計介面數據包轉發資訊
※ monitor traffic interface ge-x/y/z 動態報文抓取(Tcpdump,類似ScreenOS snoop命令)
※ show security flow session summary 查看當前防火牆併發會話數
※ show security flow session 查看當前防火牆具體併發會話
※ clear security flow session all 清除當前session
※ show security alg status 檢查全域ALG 開啟情況
show configuration /查看設備階層式設定檔
show configuration | display set /查看設備設定檔
show system software /查看軟件版本
show system uptime /查看系統啟動時間和最後修改配置的帳號及時間
show system core-dumps /查看系統core-dumps文件
show system alarms /查看系統告警訊息
show chassis haredware /查看硬體卡版及序號
show chassis environment /查看硬體卡版狀態(溫度、風扇等)
show chassis routing-engine /查看主CPU、Memory資源使用及狀態
show chassis alarms /查看硬體告警訊息
show chassis cluster status /查看HA狀態
request chassis cluster failover
redundancy-group 1 node 1 /主備機手動切換
show route | find 192.168.1.0 /查看路由表
show arp /查看ARP狀態
show log messages | no-more /查看系統log
show system connections /查看JUNOS系統連接狀態
show interface terse /查看所有介面狀態up/down及IP
show interface ge-x/y/z detail /查看介面詳細狀態(速率、MTU等)
monitor interface ge-x/y/z /監看介面封包轉發狀況
monitor traffic interface ge-x/y/z /監看封包狀況(Tcpdump,類似 ScreenOS snoop 命令)
show security flow session /查看具體的session及相對應的policy
clear security flow session all /清除當前session
show security alg status /檢查全域ALG開啟情況
開Case時需要抓取的訊息:
request support information
※ Applications服務物件設定
set applications application tcp-3389 protocol tcp /定義服務協定<TCP\UDP\ICMP\OTHER>
set applications application tcp-3389 source-port 1-65535 /定義服務來源埠
set applications application tcp-3389 destination-port
3389-3389 /定義目的服務埠
set applications application tcp-3389 inactivity-timeout
never /定義timeout時間
Scheduler設定
set schedulers scheduler work-time daily start-time
09:00:00 stop-time 18:00:00
※ SRX 對應ScreenOS debug flow
basic 跟蹤報文處理路徑的命令:
set security flow traceoptions flag basic-datapath 開啟SRX基本報文處理Debug
set security flow traceoptions file filename.log 將輸出資訊記錄到指定檔中
set security flow traceoptions file filename.log size
<file-size> 設置該檔大小,預設 128k
set security flow traceoptions packet-filter filter1
destination-prefix 5.5.5 .2 設置報文跟蹤篩檢程式
run file show filename.log 查看該Log 輸出資訊