防火牆(Firewall)也稱防護牆,是由Check Point創立者Gil Shwed於1993年發明並引入國際互聯網(US5606668(A)1993-12-15)防火牆是位於內部網和外部網之間的屏障,它按照系統管理員預先定義好的規則來控制數據包的進出。防火牆是系統的第一道防線,其作用是防止非法用戶的進入。
文字描述,摘抄自《網絡設備配置與管理》精簡內容,部分內容來自華為(HCIP認證》課程筆記,適合學習面試,其中的架構圖,與搭建流程為自己規划並實驗的。
初始化防火牆
初始化防火牆: 默認用戶名為admin
,默認的密碼Admin@123
,這里修改密碼為LyShark@163
.
Username:admin
Password:*****
The password needs to be changed. Change now? [Y/N]: y
Please enter old password: Admin@123
Please enter new password: LyShark@163
Please confirm new password: LyShark@163
<FW1> system-view // 進入系統視圖
[FW1] sysname FW1 // 給防火牆命名
[FW1] undo info-center enable // 關閉日志彈出功能
[FW1] quit
<FW1> language-mode Chinese // 將提示修改為中文
Change language mode, confirm? [Y/N] y
提示:改變語言模式成功.
開啟Web管理界面: 默認防火牆console接口IP地址是192.168.0.1.
<FW1> system-view
[FW1] web-manager enable // 開啟圖形管理界面
[FW1] interface GigabitEthernet 0/0/0
[FW1-GigabitEthernet0/0/0] ip address 192.168.0.1 24 // 給接口配置IP地址
[FW1-GigabitEthernet0/0/0] service-manage all permit // 放行該端口的請求
[FW1-GigabitEthernet0/0/0] display this
配置Console口登陸:
<FW1> system-view // 進入系統視圖
[FW1] user-interface console 0 // 進入console0的用戶配置接口
[FW1-ui-console0] authentication-mode password // 使用密碼驗證模式
[FW1-ui-console0] set authentication password cipher Admin1234 // 設置密碼為Admin1234
[FW1-ui-console0] quit // 退出用戶配置接口
配置telnet密碼認證: 配置密碼認證模式,此處配置密碼為Admin@123
.
<FW1> system-view
[FW1] telnet server enable // 開啟Telnet支持
[FW1] interface GigabitEthernet 0/0/0 // 選擇配置接口
[FW1-GigabitEthernet0/0/0] service-manage telnet permit // 允許telnet
[FW1-GigabitEthernet0/0/0] quit
[FW1] user-interface vty 0 4 // 開啟虛擬終端
[FW1-ui-vty0-4] protocol inbound telnet // 允許telnet
[FW1-ui-vty0-4] authentication-mode password // 設置為密碼認證模式
[FW1-ui-vty0-4] set authentication password cipher Admin@123 // 設置用戶密碼
[USG6000V1] firewall zone trust // 選擇安全區域
[USG6000V1-zone-trust] add interface GE0/0/0 // 添加到安全區域
配置telnet用戶名密碼認證:
<FW1> system-view // 進入系統視圖
[FW1] interface GigabitEthernet 0/0/0 // 進入接口配置
[FW1-GigabitEthernet0/0/0] ip address 192.168.0.1 24 // 配置接口IP
[FW1-GigabitEthernet0/0/0] service-manage telnet permit // 允許telnet
[FW1-GigabitEthernet0/0/0] service-manage ping permit // 允許ping
[FW1-GigabitEthernet0/0/0] quit //退出
[FW1] firewall zone trust // 進入trust安全域配置
[FW1-zone-trust] add interface GigabitEthernet 0/0/0 // 把GE0/0/0加入到trust安全域
[FW1-zone-trust] quit
[FW1] telnet server enable // 啟用telnet服務
[FW1] user-interface vty 0 4 // 進入vty0-4的用戶配置接口
[FW1-ui-vty0-4] authentication-mode aaa // 使用AAA驗證模式
[FW1-ui-vty0-4] user privilege level 3 // 配置用戶訪問的命令級別為3
[FW1-ui-vty0-4] protocol inbound telnet // 配置telnet
[FW1-ui-vty0-4] quit // 退出用戶配置接口
[FW1] aaa // 進入AAA配置視圖
[FW1-aaa] manager-user lyshark // 創建用戶vtyadmin
[FW1-aaa-manager-user-lyshark] password cipher admin@123 // 配置用戶密碼
[FW1-aaa-manager-user-lyshark] service-type telnet // 配置服務類型
[FW1-aaa-manager-user-lyshark] quit // 退出
[FW1-aaa] bind manager-user lyshark role system-admin // 綁定管理員角色
[FW1-aaa] quit // 退出AAA視圖
常用查詢命令: 查詢防火牆的其他配置,常用的幾個命令如下.
[FW1] display ip interface brief // 查默認接口信息
[FW1] display ip routing-table // 顯示路由表
[FW1] display zone // 顯示防火牆區域
[FW1] display firewall session table // 顯示當前會話
[FW1] display security-policy rule all // 顯示安全策略
配置到這里,我們就可以在瀏覽器中訪問了,其訪問地址是http://192.168.0.1
防火牆基本配置
初始化防火牆: 初始化配置,並設置好防火牆密碼,此處用戶名admin
密碼是Lyshark@123
.
Username:admin
Password:*****
The password needs to be changed. Change now? [Y/N]: y
Please enter old password: Admin@123
Please enter new password: Lyshark@163
Please confirm new password: Lyshark@163
<USG6000V1> system-view // 進入系統視圖
[USG6000V1] sysname FW1 // 給防火牆命名
[FW1] undo info-center enable // 關閉日志彈出功能
[FW1] quit
<FW1> language-mode Chinese // 將提示修改為中文
[FW1] web-manager enable // 開啟圖形管理界面
[FW1] interface GigabitEthernet 0/0/0
[FW1-GigabitEthernet0/0/0] service-manage all permit // 放行該端口的請求
配置內網接口: 配置內網的接口信息,這里包括個GE 1/0/0 and GE 1/0/1
這兩個內網地址.
<FW1> system-view
[FW1] interface GigabitEthernet 1/0/0
[FW1-GigabitEthernet1/0/0] ip address 192.168.1.1 255.255.255.0
[FW1-GigabitEthernet1/0/0] undo shutdown
[FW1-GigabitEthernet1/0/0] quit
[FW1] interface GigabitEthernet 1/0/1
[FW1-GigabitEthernet1/0/1] ip address 192.168.2.1 255.255.255.0
[FW1-GigabitEthernet1/0/1] undo shutdown
[FW1-GigabitEthernet1/0/1] quit
# -------------------------------------------------------
[FW1] firewall zone trust // 將前兩個接口加入trust區域
[FW1-zone-trust] add interface GigabitEthernet 1/0/0
[FW1-zone-trust] add interface GigabitEthernet 1/0/1
配置外網接口: 配置外網接口GE 1/0/2
接口的IP地址,並將其加入到untrust區域
中.
[FW1] interface GigabitEthernet 1/0/2 // 選擇外網接口
[FW1-GigabitEthernet1/0/2] undo shutdown // 開啟外網接口
[FW1-GigabitEthernet1/0/2] ip address 10.10.10.10 255.255.255.0 // 配置IP地址
[FW1-GigabitEthernet1/0/2] gateway 10.10.10.20 // 配置網關
[FW1-GigabitEthernet1/0/2] undo service-manage enable
[FW1-GigabitEthernet1/0/2] quit
# -------------------------------------------------------
[FW1] firewall zone untrust // 選擇外網區域
[FW1-zone-untrust] add interface GigabitEthernet 1/0/2 // 將接口加入到此區域
配置安全策略: 配置防火牆安全策略,放行trust(內網)-->untrust(外網)
的數據包.
[FW1] security-policy // 配置安全策略
[FW1-policy-security] rule name lyshark // 規則名稱
[FW1-policy-security-rule-lyshark] source-zone trust // 原安全區域(內部)
[FW1-policy-security-rule-lyshark] destination-zone untrust // 目標安全區域(外部)
[FW1-policy-security-rule-lyshark] source-address any // 原地址區域
[FW1-policy-security-rule-lyshark] destination-address any // 目標地址區域
[FW1-policy-security-rule-lyshark] service any // 放行所有服務
[FW1-policy-security-rule-lyshark] action permit // 放行配置
[FW1-policy-security-rule-lyshark] quit
配置源NAT: 配置原NAT地址轉換,僅配置源地址訪問內網 --> 公網
的轉換.
[FW1] nat-policy // 配置NAT地址轉換
[FW1-policy-nat] rule name lyshark // 指定策略名稱
[FW1-policy-nat-rule-lyshark] egress-interface GigabitEthernet 1/0/2 // 外網接口IP
[FW1-policy-nat-rule-lyshark] action source-nat easy-ip // 源地址轉換
[FW1-policy-nat-rule-lyshark] display this
配置目標NAT: 外網訪問10.10.10.10
自動映射到內網的192.168.2.1
這台主機上.
[FW1] firewall zone untrust // 選擇外網區域
[FW1-zone-untrust] add interface GigabitEthernet 1/0/2 // 將接口加入到此區域
# ----NAT規則---------------------------------------------------
# 外網主機訪問10.10.10.10主機自動映射到內部的192.168.2.2
[FW1] firewall detect ftp
[FW1] nat server lyshark global 10.10.10.10 inside 192.168.2.2 no-reverse
# ----放行規則---------------------------------------------------
[FW1] security-policy // 配置安全策略
[FW1-policy-security] rule name untrs-trs // 規則名稱
[FW1-policy-security-rule-lyshark] source-zone untrust // 原安全區域(外部)
[FW1-policy-security-rule-lyshark] destination-zone trust // 目標安全區域(內部)
[FW1-policy-security-rule-lyshark] action permit // 放行配置
[FW1-policy-security-rule-lyshark] quit
## NAT 地址轉換
配置內網區域: 分別配置防火牆內網接口GE1/0/0 and GE1/0/1
設置IP地址,並加入指定區域內.
<FW1>system-view
[FW1]undo info-center enable
# ----配置IP地址-----------------------------------------------
[FW1] interface GigabitEthernet 1/0/0
[FW1-GigabitEthernet1/0/0] ip address 192.168.1.1 24
[FW1-GigabitEthernet1/0/0] quit
[FW1] interface GigabitEthernet 1/0/1
[FW1-GigabitEthernet1/0/1] ip address 192.168.2.1 24
[FW1-GigabitEthernet1/0/1] quit
# ----加入到指定區域--------------------------------------------
[FW1] firewall zone trust
[FW1-zone-trust] add interface GigabitEthernet 1/0/0
[FW1] firewall zone dmz
[FW1-zone-dmz] add interface GigabitEthernet 1/0/1
配置外網區域: 然后配置外網地址,將Gig 1/0/2
加入到untrust區域內.
[FW1] interface GigabitEthernet 1/0/2
[FW1-GigabitEthernet1/0/2] ip address 10.10.10.10 8
[FW1] firewall zone untrust
[FW1-zone-dmz] add interface GigabitEthernet 1/0/2
配置源NAT: 配置原NAT地址轉換,僅配置源地址訪問內網 --> 公網
的轉換.
# ----配置源NAT轉換---------------------------------------------
[FW1] nat-policy // 配置NAT地址轉換
[FW1-policy-nat] rule name lyshark // 指定策略名稱
[FW1-policy-nat-rule-lyshark] egress-interface GigabitEthernet 1/0/2 // 外網接口IP
[FW1-policy-nat-rule-lyshark] action source-nat easy-ip // 源地址轉換
[FW1-policy-nat-rule-lyshark] display this
# ----放行相關安全策略------------------------------------------
[FW1] security-policy
[FW1-policy-security] rule name trust_untrust
[FW1-policy-security-rule] source-zone trust
[FW1-policy-security-rule] destination-zone untrust
[FW1-policy-security-rule] action permit
配置目標NAT: 外網訪問10.10.10.10
自動映射到內網的192.168.2.2
這台主機上.
# ----NAT規則---------------------------------------------------
# 外網主機訪問10.10.10.10主機自動映射到內部的192.168.2.2
[FW1] firewall detect ftp
[FW1]nat server lyshark global 10.10.10.10 inside 192.168.2.2 no-reverse
# ----放行規則---------------------------------------------------
[FW1] security-policy // 配置安全策略
[FW1-policy-security] rule name untrs-DMZ // 規則名稱
[FW1-policy-security-rule-untrs-DMZ] source-zone untrust // 原安全區域(外部)
[FW1-policy-security-rule-untrs-DMZ] destination-zone trust // 目標安全區域(內部)
[FW1-policy-security-rule-untrs-DMZ] destination-address 192.168.2.2 24
[FW1-policy-security-rule-untrs-DMZ] service any
[FW1-policy-security-rule-untrs-DMZ] action permit // 放行配置
[FW1-policy-security-rule-untrs-DMZ] quit
## 配成交換機
配置兩台交換機: 分別配置兩台交換機,並划分到相應的VLAN區域內.
# ----配置LSW1交換機--------------------------------------------
<Huawei> system-view
[LSW1] vlan 10 // 創建VLAN10
[LSW1] quit
[LSW1] interface Ethernet 0/0/1 // 將該接口配置為trunk
[LSW1-Ethernet0/0/1] port link-type trunk
[LSW1-Ethernet0/0/1] port trunk allow-pass vlan 10 // 加入到vlan 10
[LSW1-Ethernet0/0/1] quit
[LSW1] port-group group-member Eth0/0/2 to Eth0/0/3
[LSW1-port-group] port link-type access
[LSW1-port-group] port default vlan 10
[LSW1-port-group] quit
# ----配置LSW2交換機--------------------------------------------
<Huawei> system-view
[LSW2] vlan 20
[LSW1] quit
[LSW2] interface Ethernet 0/0/1
[LSW2-Ethernet0/0/1] port link-type trunk
[LSW2-Ethernet0/0/1] port trunk allow-pass vlan 20
[LSW2-Ethernet0/0/1] quit
[LSW2] port-group group-member Eth0/0/2 to Eth0/0/3
[LSW2-port-group] port link-type access
[LSW2-port-group] port default vlan 20
[LSW2-port-group] quit
配置防火牆: 配置Gig1/0/0和Gig1/0/1
接口為trunk模式,並分別配置好網關地址.
[FW1] vlan 10
[FW1-vlan10] quit
[FW1] vlan 20
[FW1-vlan20] quit
# ----配置防火牆接口地址-----------------------------------------
[FW1] interface GigabitEthernet 1/0/0
[FW1-GigabitEthernet1/0/0] portswitch
[FW1-GigabitEthernet1/0/0] port link-type trunk
[FW1-GigabitEthernet1/0/0] port trunk allow-pass vlan 10
[FW1] interface GigabitEthernet 1/0/1
[FW1-GigabitEthernet1/0/1] portswitch
[FW1-GigabitEthernet1/0/1] port link-type trunk
[FW1-GigabitEthernet1/0/1] port trunk allow-pass vlan 20
# ----分別給VLAN配置IP地址---------------------------------------
[FW1]interface Vlanif 10
[FW1-Vlanif10]
[FW1-Vlanif10]ip address 192.168.10.1 255.255.255.0
[FW1-Vlanif10]alias vlan 10
[FW1-Vlanif10]service-manage ping permit
[FW1] interface Vlanif 20
[FW1-Vlanif20]
[FW1-Vlanif20] ip address 192.168.20.1 255.255.255.0
[FW1-Vlanif20] alias vlan 20
[FW1-Vlanif20] service-manage ping permit
添加防火牆區域: 將vlan10和vlan20添加到trust區域內.
[FW1]firewall zone trust
[FW1-zone-trust] add interface Vlanif 10
[FW1-zone-trust] add interface Vlanif 20
## 主備雙機熱備
放行所有數據包(兩台牆): 為了演示實驗,需要手動放行數據包
# ------------------------------------------------------------
# 將默認防火牆規則,設置為允許所有
[FW1] security-policy
[FW1-policy-security] rule name anyall // 指定規則名稱
[FW1-policy-security-rule-anyall] source-zone any // 源地址允許所有
[FW1-policy-security-rule-anyall] destination-zone any // 目標地址允許所有
[FW1-policy-security-rule-anyall] action permit // 放行
[FW1-policy-security-rule-anyall] quit
[FW1-policy-security] quit
# ------------------------------------------------------------
# 將指定的接口加入到指定的區域內
[FW1] firewall zone trust // 選擇trust區域
[FW1-zone-trust] add interface GigabitEthernet 1/0/0 // 添加內部的端口
[FW1-zone-trust] quit
[FW1] firewall zone untrust // 添加untru區域
[FW1-zone-untrust] add interface GigabitEthernet 1/0/1 // 添加外部接口
[FW1-zone-trust] quit
配置IP地址(兩台) 給防火牆的兩個接口配置好IP地址.
# ------------------------------------------------------------
# 配置防火牆FW1
[FW1] interface GigabitEthernet 1/0/0 // 選擇內部接口
[FW1-GigabitEthernet1/0/0] ip address 192.168.1.253 24 // 配置防火牆IP
[FW1-GigabitEthernet1/0/0] service-manage ping permit // 開啟接口ping
[FW1-GigabitEthernet1/0/0] quit
[FW1] interface GigabitEthernet1/0/1
[FW1-GigabitEthernet1/0/1] ip address 10.10.10.20 8
[FW1-GigabitEthernet1/0/1] service-manage ping permit
[FW1-GigabitEthernet1/0/1] quit
# ------------------------------------------------------------
# 配置防火牆FW2
[FW2] interface GigabitEthernet 1/0/0 // 選擇內部接口
[FW2-GigabitEthernet1/0/0] ip address 192.168.1.254 24 // 配置防火牆IP
[FW2-GigabitEthernet1/0/0] service-manage ping permit // 開啟接口ping
[FW2-GigabitEthernet1/0/0] quit
[FW2-GigabitEthernet1/0/0] quit
[FW2] interface GigabitEthernet1/0/1
[FW2-GigabitEthernet1/0/1] ip address 10.10.10.30 8
[FW2-GigabitEthernet1/0/1] service-manage ping permit
[FW2-GigabitEthernet1/0/1] quit
開啟源NAT地址:將內網數據映射到外網.
# ------------------------------------------------------------
# 配置防火牆FW1
[FW1] nat-policy // 配置NAT地址轉換
[FW1-policy-nat] rule name tru_untr // 指定策略名稱
[FW1-policy-nat-rule-tru_untr] egress-interface GigabitEthernet 1/0/1 // 外網接口IP
[FW1-policy-nat-rule-tru_untr] action source-nat easy-ip // 源地址轉換
[FW1-policy-nat-rule-tru_untr] display this
# ------------------------------------------------------------
# 配置防火牆FW2
[FW2] nat-policy // 配置NAT地址轉換
[FW2-policy-nat] rule name tru_untr // 指定策略名稱
[FW2-policy-nat-rule-tru_untr] egress-interface GigabitEthernet 1/0/1 // 外網接口IP
[FW2-policy-nat-rule-tru_untr] action source-nat easy-ip // 源地址轉換
[FW2-policy-nat-rule-tru_untr] display this
開啟VRRP支持(兩台)
# ------------------------------------------------------------
# 配置防火牆FW1
[FW1] interface GigabitEthernet 1/0/0 // 選擇內部接口
[FW1-GigabitEthernet1/0/0] vrrp vrid 1 virtual-ip 192.168.1.1 active // 配置虛擬接口為主
[FW1-GigabitEthernet1/0/0] quit
[FW1] interface GigabitEthernet 1/0/1 // 選擇外部接口
[FW1-GigabitEthernet1/0/1] vrrp vrid 2 virtual-ip 10.10.10.10 active
[FW1-GigabitEthernet1/0/1] quit
# ------------------------------------------------------------
# 配置防火牆FW12
[FW2] interface GigabitEthernet 1/0/0 // 選擇內部接口
[FW2-GigabitEthernet1/0/0] vrrp vrid 1 virtual-ip 192.168.1.1 standby // 配置虛擬接口為備
[FW2-GigabitEthernet1/0/0] quit
[FW2] interface GigabitEthernet 1/0/1
[FW2-GigabitEthernet1/0/1] vrrp vrid 2 virtual-ip 10.10.10.10 standby
[FW2-GigabitEthernet1/0/1] quit
HRP配置(兩台):
# ------------------------------------------------------------
# 配置防火牆FW1
[FW1] hrp enable
HRP_S[FW1] hrp interface GigabitEthernet 0/0/0 remote 172.16.1.2 // 指定接口和對端IP
HRP_M[FW1] interface GigabitEthernet 0/0/0 // 選擇虛擬接口
HRP_M[FW1-GigabitEthernet0/0/0] ip address 172.16.1.1 24 // 配置本端IP地址
# ------------------------------------------------------------
# 配置防火牆FW2
[FW2] hrp enable
HRP_S[FW2] hrp standby-device
HRP_S[FW2] hrp interface GigabitEthernet 0/0/0 remote 172.16.1.1
HRP_S[FW2] interface GigabitEthernet 0/0/0
HRP_S[FW2-GigabitEthernet0/0/0] ip address 172.16.1.2 24
檢查配置:
注意1:默認處於 standby 狀態的設備不允許配置安全策略,只允許在主設
備配置安全策略,且安全策略會自動同步到備設備上面。
開啟命令:hrp standby config enable
HRP_M[FW1] display hrp state
Role: active, peer: standby
Running priority: 45000, peer: 45000
Core state: normal, peer: normal
Backup channel usage: 0.00%
Stable time: 0 days, 0 hours, 0 minutes
Last state change information: 2019-05-06 1:37:41 HRP core state changed, old_s
tate = abnormal(active), new_state = normal, local_priority = 45000, peer_priori
ty = 45000.
HRP_S[FW2] display hrp state
Role: standby, peer: active
Running priority: 45000, peer: 45000
Core state: normal, peer: normal
Backup channel usage: 0.00%
Stable time: 0 days, 0 hours, 1 minutes
Last state change information: 2019-05-06 1:37:42 HRP link changes to up.
## 配置負載均衡
配置防火牆接口:
[FW1]interface GigabitEthernet 1/0/0
[FW1-GigabitEthernet1/0/0]ip address 192.168.1.1 24
[FW1-GigabitEthernet1/0/0]service-manage ping permit
[FW1-GigabitEthernet1/0/0]service-manage http permit
[FW1-GigabitEthernet1/0/0]quit
[FW1]interface GigabitEthernet 1/0/1
[FW1-GigabitEthernet1/0/1]ip address 10.10.10.10 8
[FW1-GigabitEthernet1/0/1]service-manage ping permit
[FW1-GigabitEthernet1/0/1]service-manage http permit
[FW1-GigabitEthernet1/0/1]quit
加入相應的區域內:
[FW1]firewall zone trust
[FW1-zone-trust]add interface GigabitEthernet 1/0/0
[FW1-zone-trust]quit
[FW1]firewall zone untrust
[FW1-zone-untrust]add interface GigabitEthernet 1/0/1
[FW1-zone-untrust]quit
放行數據包:
[FW1]security-policy
[FW1-policy-security]rule name any_trust
[FW1-policy-security-rule-any_trust]source-zone any
[FW1-policy-security-rule-any_trust]destination-zone trust
[FW1-policy-security-rule-any_trust]service http
[FW1-policy-security-rule-any_trust]service icmp
[FW1-policy-security-rule-any_trust]action permit
配置負載均衡:
[FW1] slb enable // 啟用SLB服務
[FW1] slb // 進入SLB配置視圖
[FW1-slb] group 1 WebServer // 創建服務器組webServer
[FW1-slb-group-1] metric weight-least-connection // 使用加權輪詢算法
# -------------------------------------------------------
// 以下為真實服務設置 IP地址 端口 權重值 別名//
[FW1-slb-group-1] rserver 1 rip 192.168.1.2 port 80 weight 1 description server1
[FW1-slb-group-1] rserver 2 rip 192.168.1.3 port 80 weight 1 description server2
[FW1-slb-group-1] rserver 3 rip 192.168.1.3 port 80 weight 1 description server3
[FW1-slb-group-1]
[FW1-slb-group-1] health-check type icmp tx-interval 5 times 3 // 配置服務健康檢查參數
[FW1-slb-group-1] persistence type source-ip aging-time 180 // 配置會話保持時間
[FW1-slb-group-1] quit // 返回SLB視圖
[FW1-slb]
[FW1-slb] vserver 1 WebServer // 創建虛擬服務器WebServer
[FW1-slb-vserver-1] protocol tcp // 配置虛擬服務器的協議類型
[FW1-slb-vserver-1] vip 1 10.10.10.100 // 設置虛擬服務器IP地址
[FW1-slb-vserver-1] vport 80 // 設置虛擬服務器端
[FW1-slb-vserver-1] group WebServer // 關聯真實服務器組
[FW1-slb-vserver-1] quit // 返回SLB視圖