發布時間:2020-12-18
“運維實戰家”專欄,從技術到實踐,
和您聊聊運維的那些事兒,講述運維人的“昨天、今天和明天”
作者:風起兒
01 前言
01 防火墻演化史
防火墻的發展歷史也經歷了從低級到高級、從功能簡單到功能復雜的過程。在這一過程中,隨著網絡技術的不斷發展,新需求的不斷提出,防火墻在原有的路由交換的基礎上擴展和往協議上層功能不斷的豐富的道路上演進和發展,形成今天這樣功能豐富多樣的功能集合一體化的形態,見下圖:
02 防火墻的數據包處理流程
防火墻在網絡中就是一個多面手基本什么都可以干,能不能像路由交換那樣的報文來了就轉,主要看防火墻的特點:功能多,多意味著大雜燴,如果沒有合理的配料和工序就會變成了一鍋粥,防火墻根據實際客戶業務需求給自己的核心定位是控制,而路由交換的核心在轉發,防火墻的數據報轉發流程就是它完成自己合理配料和工序的過程。見下圖 :
02 正片
談完防火墻的身世,那就來看看防火墻的吐槽……
“背鍋”不是防火墻的專利,“逃跑”不是防火墻的特技,掌握我們的防火墻的升級改造的八步曲,讓我們依舊堅挺下去的秘密,下面讓我們一起修煉秘籍吧:
01 了解需求背景
先和接口的售前、銷售了解項目的方案、設備清單、需求列表,項目注意事項以及客戶和集成商的相關人等;基于前面的基礎再和客戶以及集成商一起確認清楚需求清單、分工責任界面、工期等,主要是形成一版需求跟蹤矩陣和干系人管理,把事和人搞清楚下面的具體的事情就好開展了。
02 業務環境調研
網絡拓撲能夠在大框下直觀地反饋網絡架構和業務關系,但是往往網絡拓撲因為客戶水平的參差不齊和拓撲的繪制標準缺少明確規定,很難給出準確的業務走向和實際物理狀況這個時候就需要業務信息收集。
業務訪問關系的信息收集尤其在新建項目和安全等級要求比較高的項目中特別重要,它是業務開通與否的依據,也是測試驗證的參考,僅供參考列表如下:
| 序號 | 業務名稱 | 源IP | 目IP | 端口 |
| 1 | CRM測試 | 192.168.1.2 | 192.168.10.4 | 10000~65535 |
| 協議類型 | 起止日期 | 申請人 |
| UDP | 2020.1.1-2020.3.31 | 張山 |
防火墻的設備的配置和狀態對于遇到升級改造非常重要,它是設備測試驗證和業務上線的前提,銳捷防火墻基礎信息收集的命令如下:
| 序號 | 名稱 | 執行命令 | 信息類別 |
| 1 | 備份配置 | exec backup config | 配置 |
| 2 | 系統配置文件 | show configuration | 配置 |
| 3 | 系統基本信息 | get sys status | 硬件狀態信息 |
| 4 | 系統狀態信息 | get sys performance status | 硬件狀態信息 |
| 5 | 設備硬件信息 | get hardware status | 硬件狀態信息 |
| 6 | 硬件性能使用情況 | diag sys top | 硬件狀態信息 |
| 7 | 查看 ntp 狀態 | diagnose sys ntp status | 硬件狀態信息 |
| 8 | 查看硬盤狀態 | diagnose hardware deviceinfo disk | 硬件狀態信息 |
| 9 | 查看硬盤情況 | exec disk list | 硬件狀態信息 |
| 10 | 查看 ha 配置 | show full-configuration system ha | HA信息 |
| 11 | 查看 ha 狀態 | get sys ha status | HA信息 |
| 12 | 查看 ha 信息 | diagnose sys ha dump | HA信息 |
| 13 | 檢查配置文件是否同步 | diagnose sys ha showcsum | HA信息 |
| 14 | 單接口狀態 | diagnose hardware deviceinfo nic 接口名 | 網絡基礎狀態信息 |
| 15 | 聚合接口狀態 | diagnose netlink aggregate name 聚合接口名 | 網絡基礎狀態信息 |
| 16 | 限速接口狀態 | diagnose netlink device list | 網絡基礎狀態信息 |
| 17 | 接口狀態統計 | get sys interface physical | 網絡基礎狀態信息 |
| 18 | ARP表 | get sys arp | 網絡基礎狀態信息 |
| 19 | ARP詳細信息 | diagnose ip arp list | 網絡基礎狀態信息 |
| 20 | 查看路由表 | get router info routing-table all | 網絡基礎狀態信息 |
| 21 | 查看轉發表 | get router info kernel | 網絡基礎狀態信息 |
| 22 | 系統進程 | diagnose sys top 5 99 | 系統進程狀態 |
| 23 | 查看日志 | exec log display | 日志記錄 |
業務可用性記錄在防火墻升級改造的時候可以在設備上抓取,它是測試驗證的參考項,同時也是割接后評判業務關系的憑據,銳捷防火墻業務相關信息收集的命令如下:
| 序號 | 名稱 | 執行命令 | 信息類別 |
| 1 | 查看防火墻策略 | show firewall policy | 策略 |
| 2 | 查看會話表 | get system session list | 業務會話 |
| 3 | 查看會話表前過濾 | diagnose sys session list | 業務會話 |
| 4 | 會話表過濾 | diagnose sys session filter | 業務會話 |
| 5 | 查看整體會話狀態 | diagnose sys session full-stat | 業務會話 |
| 6 | 查看會話統計 | get system session-info statistics | 業務會話 |
備注:銳捷防火墻升級改造需要有以上命令適用,替換友商的設備提供類似命令
03 軟硬件環境準備
1>硬件環境
檢查根據實際情況進行增減,參考表格如下:
環境要求:安防門和鎖、靜電地板、濕度、裝修、衛生保潔、空調等
機柜:物理位置、機柜規格參數、資源使用情況等
供電:PDU供電標準、插頭規格、電源線長度等
線纜:運營商、光纖跳線、雙絞線,ODF架資源等
工具:記號筆、螺絲刀、標簽紙和標簽機、卡扣、測試儀器等
2>軟件準備
其中包含軟件新舊系統版本及其補丁包和版本相關文檔說明,軟件工具類如下
升級工具:如FTP軟件3CDaemon
調試工具:如CRT、Xshell
測試工具:如HostMonitor、網關監控系統等
3>測試搭建
在測試環境允許條件下,盡可能的搭建1比1的測試環境,模擬業務做功能和業務需求的相關測試,測試記錄表格可以參考如下:
| 測試項目 | VPN(IPSec)對接阿里云站點 |
| 測試目的 | 檢測IPSEC VPN隧道對接功能 |
| 測試方法 | 1、基本上網配置 |
| 2、創建VPN | |
| 3、修改VPN參數 | |
| 4、配置路由和策略 | |
| 5、測試業務 | |
| 預期結果 | 可以對接阿里云VPN需求,滿足業務訪問需求 |
| 測試工具 | 無特殊工具 |
| 測試記錄 |
|
| 測試結果 | 達到預期效果 |
04 模擬測試驗證
1>網絡連通性測試
防火墻的相關常用命令如下:
RG-WALL #execute ping-options source 192.168.1.200//指定ping數據包的源地址 192.168.1.200
RG-WALL#execute ping 8.8.8.8 //繼續輸入ping的目標地址,即可通過192.168.1.200的源地址執行ping操作
RG-WALL #execute traceroute 8.8.8.8 //進行路徑探測
RG-WALL #execute telnet 2.2.2.2 //進行telnet訪問
RG-WALL #execute ssh 2.2.2.2 //進行ssh 訪問
2>業務可用性測試
這部分主要是讓業務一些關鍵業務如:CRM,OA等;特殊業務和應用比如:語音,長鏈接等需要配合上線前驗證測試;其他普通業務也可以使用ping,telnet端等方式模擬訪問業務可以在防火墻進行查看相關記錄。
如命令抓報:
命令格式:diagnose sniffer packet <interface> <'filter'> <verbose> <count>
1 interface
<interface> 指定實際的接口名稱,可以是真實的物理接口名稱,也可以是VLAN 的邏輯接口名稱,當使用“any”關鍵字時,表示抓全部接口的數據包。
2 verbose顯示內容
<verbose> 指控制抓取數據包的內容。常用選項4和6。
3 count
<count> 抓取的數據包的數量。
4 filter 包過濾參數
舉例:
diagnose sniffer packet any 'host 192.168.1.11' 4 2
diagnose sniffer packet wan1 'icmp and host 8.8.8.8' 1 10;
如會話日志記錄:
勾選后可以在會話日志中查詢相關測試記錄。
3>網絡高可用架構參考如下
備注:根據實際情況進行測試和演練。
05 風險評估
1>網絡影響范圍
防火墻新建項目業務風險相對比較低,如果是升級整改過程一般會涉及很多應用和業務屬于重要變更,由于業務實際情況單純從網絡層面是不完整的,一些特殊的業務可能無法正常使用,在實施割接提內部變更評審流程,在流程上和技術原理上確認網絡影響風險范圍后,還需要告知甲方有關負責人員進行相關業務的評估,把風險降低。
2>業務影響粒度
針對一些未知的特殊應用服務提供的業務可能出現中斷情況,需要前期梳理的細致程度以及前期業務可用性記錄抓取業務時機和次數間隔來去確定業務的前后變化。
梳理關系見參照表格如下:
| 序號 | 業務名稱 | 源IP | 目IP | 端口 |
| 1 | CRM測試 | 192.168.1.2 | 192.168.10.4 | 1000~65535 |
| 類型 | 起止日期 | 申請人 |
| UDP | 2020.1.1-2020.3.31 | 張山 |
3>割接風險評估
技術復雜度:操作步驟的長度和是否新技術引入來衡量
故障恢復時間:業務恢復的時長和等級級別對應
業務影響范圍:可以根據業務重要性和范圍指標評估
歷史記錄:記錄是否存在以及其記錄發生的頻率作為指標參考
回退方案:有無驗證、是否可逆、方案操作明細度
06 割接方案
割接方案可以參考公司的《技術服務部網絡變更管理程序V2.0》的變更方案(模版)編寫,不做詳細敘述。
割接過程中可能遇到一些問題,建議根據防火墻數據包處理流程進行排查,也可以根據業務現象經驗跳過相關步驟直接看有可能發生的選項,主要排查思路為:
1> 檢查設備配置,確保設備當前配置與規劃中一致;
2> sniffer抓包,分析數據包是否正常轉發到防火墻,或防火墻是否轉發相關報文;
3> debug flow,顯示數據包在防火墻內完整數據流的處理過程,該步驟對于防火墻收到數據包但沒有轉發時非常有用,常用的命令及作用如下:
diagnose debug flow filter add x.x.x.x 定制過濾器,支持多種過濾,如過濾IP
diagnose debug flow show console enable 開始 flow 的輸出
diagnose debug flow show function-name enable 顯示功能模塊
diagnose debug flow trace start 100 定義索要跟蹤數據包的數量
diagnose debug enable 開啟 debug 功能
diagnose debug flow trace stop 關閉debug flow trace
diagnose debug flow filter clear 清除過濾條件
diagnose debug disable 關閉debug命令
diagnose debug reset 重置所有的debug命令
以上檢查如果都檢查不出來什么問題,及時聯系400后臺支持
07 變更規范
1> 變更規范
變更根據實際情況的需要,走公司《技術服務部網絡變更管理程序V2.0》的規定流程。
2> 充分授權
簡單歸納為“三授權:技術、管理、客戶”,對于升級改造過程中遇到的技術相關問題疑難點要和后臺技術人員深度溝通交流,找到解決方案,以及得到批準;割接方案的影響范圍和風險點及其相關解決方案需要及時同步到上級主管認可同意;客戶也需要知道割接方案的風險點,一起參與評估影響范圍以及對應的措施(回退,應急方案),客戶同意需要有一定呈現而不是停留在口頭上,需要落實在短信,微信,郵件等有效證明上。
08 值守保障
主要分為2個部分:當天的割接過程中的割接分工和割接完成之后的業務保障值守:
1>割接分工
主要是把當天割接的人、責任范圍、時間、地點、聯系方式等明確下來并通告大家統一指令,避免混亂,參考表格如下:
| 分組 | 姓名/手機 | 角色 | 地點 | |
| 指揮小組 | 張山/139XXXXXXX1 | 決策 | 地點0 | |
| 現場總協調 | 李四/139XXXXXXX2 | 現場接口人 | 地點1 | |
| 王五/139XXXXXXX3 | 現場接口人 | 地點2 | ||
| 指令發布 | XXX/139XXXXXXXX | 指令下發 | 地點0 | |
| 保障組 | XXX/137XXXXXXXX | 故障分析定位組 | \ | |
| XXX/138XXXXXXXX | ||||
| 實施人員分組 | ||||
| 分組 | 實施/手機 | 復核/手機 | 地點 | |
| 網絡操作組 | 網絡A | XXX/139XXXXXXXX | YYY/139YYYYYYYY | 地點1 |
| 網絡B | XXX/140XXXXXXXX | YYY/140YYYYYYYY | 地點2 | |
| 機房組 | 機房I | 機房組 | ZZZ/139ZZZZZZZZ | 地點1 |
| 機房J | 機房組 | ZZZ/140ZZZZZZZZ | 地點2 | |
| 業務驗證組 | 驗證組1 | AAA/139AAAAAAAA | BBB/139BBBBBBBB | 地點1 |
| 驗證組2 | AAA/140AAAAAAAA | BBB/140BBBBBBBB | 地點2 | |
2>值守規范
一般涉及網絡大的調整,尤其是涉及防火墻等安全設備的升級改造如果沒有充分業務驗證,都需要在工作日上班保障時間,具體時間長度和保障方式需要和客戶協商。如果故障處理不了及時升可以參考按照公司《故障處理管理程序V1.7》規定進行處理。參考表格如下:
| 值守保障人員 | ||||
| 分組 | 值守人員/手機 | 升級人員/手機 | 地點 | |
| 網絡操作組 | 網絡A | XXX/139XXXXXXX1 | YYY/139YYYYYYY1 | 地點XX |
| 機房組 | 機房I | XXX/139XXXXXXX2 | YYY/139YYYYYYY2 | 地點XX |
| 業務驗證組 | 驗證組1 | XXX/139XXXXXXX3 | YYY/139YYYYYYY3 | 地點XX |
03 尾言
以上關于防火墻升級改造的八步曲在我們的日常割接中有很多雷同之處,也有些特殊的地方,細細片語之間希望你品味其中蘊意,在面對我們的下一代防火墻的時候有些幫助,謝謝觀賞。
