1、基本配置
#hostname name //名字的設置
#interface gigabitethernet0/0 //進入接口0/0
#nameif outside //配置接口名爲outside
#security-level 0 //設置安全級別。 級別從0--100,級別越高安全級別越高
#ip address 218.xxx.xxx.xxx 255.255.255.248 //設置外部ip地址
#no shutdown
#interface ethernet0/1 //進入接口0/1
#nameif inside //配置接口名爲inside
#security-level 100 //設置安全級別。 級別從0--100,級別越高安全級別越高
#ip address 192.168.10.1 255.255.255.0 //設置ip地址
#duplex full //全雙工
#speed 100 //速率
#no shutdown
#interface ethernet0/2 //進入接口0/2
#nameif dmz //配置接口名爲dmz
#security-level 50 //設置安全級別。 級別從0--100,級別越高安全級別越高
#ip address 192.168.9.1 255.255.255.0 //設置dmz接口ip地址
#no shutdown
#interface Management0/0 //進入管理接口
# nameif guanli //接口名
# security-level 100 //安全級別
#ip address 192.168.1.1 255.255.255.0 //IP地址
注意:security-level 配置安全級別。默認外網接口爲 0/0 安全級別默認爲 0
內網接口爲 0/1 安全級別默認爲 100
dmz 接口爲 0/2 安全級別默認爲 50
默認狀況下,相同安全級別接口之間不容許通訊,可使用如下命令:
#same-security-traffic permit interface //容許相同安全級別接口之間互相通訊。
較高安全接口訪問較低安全接口:容許全部基於IP的數據流經過,除非有ACL訪問控制列表,認證或受權的限制。
較低安全接口訪問較高安全接口:除非有conduit或acl進行明確的許可,不然丟棄全部的數據包。
2、global、nat、static、route命令
一、global命令
global (if_name) nat_id ipaddress--ipaddress [netmask mask]
if_name:指的是接口
nat_id:爲地址池的ID標識號
ipaddress--ipaddress [netmask mask]:指定的IP地址池範圍,也能夠是一個地址
例:
global(outside) 1 218.106.236.247-218.106.236.249 //配置一個地址池
global(outside) 1 interface //配置單個地址爲outside接口的地址
global(outside) 1 218.106.236.237 netmask 255.255.255.248 //配置一個地址池,爲255.255.255.248全部子網範圍內的地址
二、nat命令
(1)基本用法
nat (if_name) nat_id local_ip [netmask]
if_name:指的是接口
nat_id:爲地址池的ID標識號,即global中定義的nat_id
local_ip [netmask] :哪些地址轉換到nat_id這個地址池上。
(2)動態內部nat轉換(多對多)
例:
global(outside) 1 218.106.236.247-218.106.236.249 //配置一個地址池
nat (inside) 1 192.168.9.0 255.255.255.0 //和上面的global配置一塊兒使用,即把192.168.9.0 這個網段的地址轉換爲218.106.236.247-218.106.236.249這個網段
(3) pat (多對一nat)
當多個ip地址轉換爲一個ip地址時,就自動在外部IP地址的後面加上大於1024的端口號,以區別不一樣的轉換訪問。
global(outside) 1 218.106.236.247 //配置一個外部地址
nat (inside) 1 192.168.9.0 255.255.255.0 //和上面的global配置一塊兒使用,即把192.168.9.0 這個網段的地址轉換爲218.106.236.247這個外部IP地址。外部人看到的是自動加了端口號的地址。
(4)策略nat
access-list extended net1 permit ip 192.168.9.0 255.255.255.0 host 209.165.200.1 //定義一個策略
global(outside) 1 209.165.200.100 //定義一個地址
nat (inside) 1 access-list net1 //當192.168.9.0 網段的地址訪問 209.165.200.1這臺電腦時,轉換爲209.165.200.100這個ip地址。
(5)動態外部nat轉換
當低級別的想往高級別的轉換時,在後面加outside關鍵字便可。
nat (dmz) 1 192.168.7.0 255.255.255.0 outside //把dmz接口下的地址nat 到inside接口中
global(inside) 1 192.168.9.10-192.168.9.20 //即dmz接口中的192.168.7.0 網段的地址訪問內網時,將轉換爲內網地址爲192.168.9.10-192.168.9.20
(6)nat 0 即nat 免除
nat 0 表示穿過防火牆而不進行nat轉換。即表示地址不通過轉換直接做爲源地址發送穿過防火牆達到低級別安全接口。
nat (dmz) 0 192.168.0.9 255.255.255.255
注意:執行nat的順序:
nat 0 (nat免除)
靜態nat和靜態pat (即static命令)
策略動態 nat (nat access-list)
正常的動態nat和pat (nat)
三、static映射命令
充許一個位於低安全級別接口的流量,穿過防火牆達到一個較高級別的接口。即數據流從較低安全級別接口到較高安全級別。
(1)經常使用方法:
static (real_ifname mapped_ifname) {mapped_ip|interface} real_ip [netmask mask]
real_ifname :較高級別接口名 mapped_ifname:較低級別接口名
mapped_ip:較低級別接口ip地址 interface:較低級別接口 real_ip:較高級別ip地址
擴號內的順序是:先高級別後低級別,擴號外的順序是先低級別後高級別,正好相反。
例: static (inside outside) 218.107.233.234 192.167.9.1 //即把218.107.233.234這個外部地址映射到內部地址192.168.9.1上。
(2)靜態端口映射
static (real_ifname mapped_ifname) {tcp | udp} {mapped_ip|interface} mapped_port real_ip real_port [netmask mask]
real_ifname :較高級別接口名 mapped_ifname:較低級別接口名
tcp|udp :要映射的端口協議名
mapped_ip:較低級別接口ip地址 interface:較低級別接口 mapped_port:端口名或端口號 real_ip:較高級別ip地址 real_port:端口名或端口號
注意一點很重要:並非配置了static就能夠從外部訪問內部了,必需要定義一個訪問控制列表來實現一個通道,容許哪些服務或端口,或哪些地址能夠訪問。
例:
static (inside,outside) tcp interface ftp 192.168.10.4 ftp netmask 255.255.255.255 //把outside接口ip地址的ftp端口映射到192.168.10.4 內部IP的FTP端口。
access-list ftp extended permit tcp any interface outside eq ftp //定議一個訪問控制列表,以容許ftp數據流經過。
access-group ftp in interface outside //把訪問控制列表應用於接口
四、route 命令
route if_name destination_ip gateway [metric]
if_name: 接口名
destination_ip: 目的地
gateway: 網關
metric: 跳數
例:route outside 0 0 218.102.33.247 1 //即默認網關爲 218.102.33.247 ,只有一跳
route inside 192.168.9.0 255.255.255.0 192.168.10.1 //設置到目標192.168.9.0網段的網關爲192.168.10.1
3、訪問控制
訪問控制的方法與路由器的沒有區別。基本步驟是先定義訪問控制列表,而後再應用到接口便可。在此很少做解釋,在路由器模塊裏,會單獨把訪問列表做解釋。
4、防火牆基本管理
一、telnet 配置
#usename name password password //設置登入的賬號和密碼
#aaa authentication telnet console LOCAL //設置AAA驗證方式。 此處爲LOCAL本地。也能夠用AAA服務器進入驗證。
#telnet 0.0.0.0 0.0.0.0 inside //哪些地址可telnet進此接口
#telnet timeout 10 //超時時長,以分鐘爲單位
二、ssh登陸配置
#usename name password password //設置登入的賬號和密碼
#aaa authentication ssh console LOCAL //設置AAA驗證方式。 此處爲LOCAL本地。也能夠用其餘服務器進入驗證。
#ssh timeout 10
#crypto key generate rsa modulus 1024 //指定rsa密鑰的大小,這個值越大,產生rsa的時間越長,cisco推薦使用1024.
# write mem //保存剛纔產生的密鑰
#ciscoasa(config)#ssh 0.0.0.0 0.0.0.0 {inside|outside} //容許哪些IP能夠經過SSH登陸此防火牆。 inside爲內網接口,outside爲外網接口。0.0.0.0 0.0.0.0 表示全部IP,可配置單個IP,也能夠配置某段IP。
#ssh timeout 30 //設置超時時間,單位爲分鐘
#ssh version 1 //指定SSH版本,能夠選擇版本2
#passwd 密碼 //passwd命令所指定的密碼爲遠程訪問密碼
show ssh //查看SSH配置信息
crypto key zeroize //清空密鑰
show crypto key mypubkersa //查看產生的rsa密鑰值
三、asdm配置
先上傳相應asdm版本到防火牆中。
# web*** // 進入WEB×××模式
# username cisco password cisco // 新建一個用戶和密碼
# http server enable //開啓HTTP服務
# http 192.168.9.10 255.255.255.0 inside //容許哪些ip 經過哪一個接口能夠經過http連上來。此處的意思爲:容許192.168.9.10 這個IP用http經過inside連上防火牆.
# http 192.168.1.0 255.255.255.0 guanli //容許192.168.1.0網段通過管理接口連上防火牆。注意要用交叉線和管理接口鏈接,進行配置。固然事先要設置管理接口的IP,和名稱。
通過以上配置就能夠用ASDM配置防火牆了。
若是配置了inside接口訪問,可直接輸入防火牆inside的ip地址。 https://192.168.9.1
若是配置了管理接口訪問,首先用交叉線把電腦和防火牆的管理口相連,把電腦設成和管理口段的IP地址,本例中設爲192.168.1.0 段的IP打開瀏覽器在地址欄中輸入管理口的IP地址:
https://192.168.1.1
彈出一下安全證書對話框,單擊 「是」
輸入用戶名和密碼(就是在串口的WEB×××模式下新建的用戶和密碼),而後點擊「肯定」。
出現也下對話框,點擊「Download ASDM Launcher and Start ASDM」開始安裝ASDM管理器,安裝完之後從網上下載一個JAVA虛擬機軟件(使用1.4以上 Java 版本),進入WWW.JAVA.COM下載安裝,安裝完後點擊下面的「Run ASDM as a Java Applet 」。
出現如下對話框, 點擊「是」。
出現如下對話框,輸入用戶名和密碼(就是在串口的WEB×××模式下新建的用戶和密碼),而後點擊「是」。
出現如下對話框,點擊「是」。
進入ASDM管理器。
這樣就能夠經過ASDM來配置防火牆了。
之後就能夠直接使用ASDM來管理防火牆了。
必定要注意一點:有時候java的版本太高1.6版以上,會打不開,就試用低版本的(1.4)試一下。
四、其餘管理命令
#write memory //把配置保存
#clear configure all //把run-config中的內容清空
#write erase //可清除flash閃存中的配置
#dir //顯示flash中的文件
#boot [system|config] <usr>:
例: #boot system flash:/pix-701.bin //即從哪一個系統鏡像中啓動
flash中能夠存多個系統鏡像和配置文件。boot能夠選擇從哪一個系統鏡像中啓動。
#clock set 21:00 apr 1 2002 //設置時間
#show memery
#show version
#show cpu usage
6、虛擬防火牆
(一)虛擬防火牆的特性:
一、咱們能夠將一個單一的物理防火牆邏輯上分爲多個虛擬防火牆,每一個虛擬防火牆都是獨立的設備。
二、它們有自已獨立的安全策略,接口和管理接口
三、每一個虛擬防火牆保存一個配置文件,以保存每一個虛擬防火牆的策略和配置。
四、虛擬防火牆不支持***,組播和動態路由協議
(二)虛擬防火牆的種類
虛擬防火牆分爲:admin context和普通虛擬防火牆。
admin context防火牆特性:
admin context必須先於其餘的虛擬防火牆進行建立和配置。
用戶登陸到admin context虛擬防火牆就擁有了系統管理員的權限,能夠訪問系統以及其餘虛擬防火牆。
(三)流量分類
因一個物理防火牆分爲多個虛擬防火牆,那到底哪些數據流量屬於哪一個虛擬防火牆的呢?即如何把數據流量分配給虛擬防火牆。
一、按接口劃分:即將一個接口惟一的劃分到一個虛擬防火牆中,那麼經過這個接口的流量就都屬於這個虛擬防火牆的。
二、基於MAC地址劃分:一個接口屬於多個虛擬防火牆共有。須要爲這個共享接口指定多個MAC地址,即每一個虛擬防火牆指定一個mac地址。可手工指定,也可自動產生。
因爲ASA的接口有限,因此在多虛擬防火牆的模式下,咱們會常常遇到一個接口同時分配給多個虛擬防火牆。這個時候使用物理接口來對流量進行分類的辦法將在這種狀況下再也不適用,由於防火牆沒法肯定流量究竟應該轉發到哪一個虛擬防火牆。咱們須要使用其餘的方法來對流量的走向進行區分,一般咱們會使用自動或者手動爲這個分配給多個虛擬防火牆的共享接口指定不一樣的MAC地址,防火牆將使用MAC地址來區分流量的走向。
手動指定MAC地址:
在每一個虛擬防火牆的該共享接口下配置:mac-address HHH.HHH.HH
例如:
hostname(config)#Interface F0/0
hostname(config-if)# mac-address 0001.0001.0001
自動指定MAC地址:
在防火牆的SYSTEM平臺的全局配置模式下配置:mac-address auto
例如:
hostname(config)# mac-address auto
三、基於NAT劃分:若是沒有爲接口指定惟一的MAC地址,防火牆當收到一個經過共享接口的流量時,防火牆只會檢查目的IP地址。經過要使用目的IP地址來決定數據包的走向,那麼防火牆必須知道目的地址是被定位在哪一個虛擬防火牆上。NAT技術能夠提供這樣的功能。NAT的轉換條目可使防火牆將數據包轉發到正確的虛擬防火牆上。
配置靜態NAT轉換:
? Context A:
static (inside,shared) 10.10.10.0 10.10.10.0 netmask 255.255.255.0
? Context B:
static (inside,shared) 10.20.10.0 10.20.10.0 netmask 255.255.255.0
? Context C:
static (inside,shared) 10.30.10.0 10.30.10.0 netmask 255.255.255.0
當咱們使用多防火牆模式,而且共享了接口到多個虛擬防火牆的時候,咱們須要注意將流量轉發到正確的虛擬防火牆上去,若是沒有指定MAC地址(不論是手動仍是自動)而且也沒有配置NAT的話,防火牆將不能找到正確的目的地址而將數據包丟棄。
(四)配置虛擬路由器
一、基本配置
#show mode //顯示當前路由器運行的模式
#mode mltiple //啓用多虛擬防火牆
#admin-context name //首先建立一個admin-context虛擬防火牆
#context name //建立其餘虛擬防火牆,注意虛擬防火牆名區分大小寫
二、爲虛擬防火牆分配接口
先設置好虛擬防火牆名,而後在虛擬防火牆配置模式下配置:
#allocate-interface 物理接口名 [別名] [visible | invisible] //爲接口關聯一個別名。也能夠不關聯。
#allocate-interface eth0 int0 visible //把eth0劃分給一個虛擬防火牆,而且關聯一個別名叫int0,而且讓物理接口ID是可見的。invisible是不可見。
#config-url url //每一個虛擬防火牆有獨立的配置。爲虛擬防火牆指定下載配置的地點和名稱。
#config-url c1.cfg //指定配置爲c1.cfg
7、防火牆模式
防火牆有兩種模式:路由器模式和透明模式。路由器模式是經常使用的模式,配置方法如常規方法,這裏主要解釋透明模式。
(一) 防火牆的透明模式的特性:
(1)工做在二層,接口不須要配置IP地址;
(2)只支持兩個接口,inside和outside接口,這兩個接口都接內網地址,像交換機的一個端口同樣,沒有區別。
(3)不支持nat,QOS,多播,×××,動態路由協議,ipv6,dhcp中繼(可做DHCP服務器,但不能作DHCP中繼)
(4)支持多虛擬防火牆。在多虛擬防火牆下,每一個虛擬防火牆都需配一個管理IP地址,但不能把管理IP做爲網關。
(5)工做在二層,但IP等三層流量要經過防火牆,仍須要ACL訪問控制明確容許
(6)arp流量不須要ACL控制就能夠經過防火牆。但能夠用ARP審查來控制流量。
(二) 透明防火牆的基本配置
#show firesall //顯示當前防火牆的運行模式
#firewall transparent //啓用透明防火牆模式
#no firewall transparent //返回ROUTE模式
#ip address 192.168.9.1 255.255.255.0 //配置管理IP地址。注意,只是管理IP地址。
注意:在配置透明防火牆的接口時,其餘和路由器模式都同樣,但不能配置IP地址。
(三)定製mac表
透明模式的防火牆轉發包就是依據MAC地址進行轉發,學習MAC地址的方法和交換機同樣。默認狀況下,每一個接口自動學習經過它的流量的MAC地址。而後將響應的MAC地址加入MAC地址表中。能夠關掉這個功能,但必須手工加入靜態MAC地址條目到MAC地址表中,不然ASA防火牆將不能轉發任何流量。
#mac-learn int_name disable //int_name是接口名,即關掉哪一個接口的MAC自動學習。
#mac-address-table aging-time static int_name mac_address //int_name 指的是接口名, mac_address指的是加入的靜態mac地址。
#mac-address-table aging-time timeout_value //mac地址的超時時間。
(四) arp審查
arp審查能夠防止arp欺騙***,當啓用了ARP審查,ASA防火牆會將接收到的ARP包中的mac地址、IP地址和端口號與靜態arp表對比。
若是mac地址、IP地址和端口號與靜態arp表這三項徹底相匹配,則轉發包
若是mac地址、IP地址和端口號與靜態arp表(這三項中)有任何一條不匹配,則丟棄包
若是與靜態arp表中任何條目沒有任何匹配,則可設置將包丟棄仍是將包flood(洪泛出去)
注意:只與靜態ARP相比較,若是不定義靜態ARP表,那麼ARP審查就沒有任何意義了。
一、定義靜態ARP
#arp int_name ip_address mac_address //定義靜態ARP
#arp-inspection int_name enable [flood|no-flood]
#arp outside 10.1.1.11 0009.7cbe.2100 //定義靜態arp,把10.1.1.11和mac地址0009.7cbe.2100 相關聯
#arp-inspection outside enable no-flood //當若是沒有任何匹配時,將丟棄包。 no-flood是丟棄,flood選項是洪泛
java
本文出自 「網行天下」 博客,請務必保留此出處http://kuangkuang.blog.51cto.com/838/278598web