天天看點

ASA禁止syslog NAT位址轉換測試

1.拓撲圖

<a target="_blank" href="http://blog.51cto.com/attachment/201205/204407506.jpg"></a>

為了審計的需要,syslog的源位址必須裝置實際位址,而因為其他方面原因,syslog伺服器又不能放在内網。

2.接口配置:

R1:

R1(config)#int f0/0

R1(config-if)#ip add 10.1.1.18 255.255.255.0

R1(config-if)#no sh

R2:

R2(config)#int f0/0

R2(config-if)#ip add 10.1.1.28 255.255.255.0

R2(config-if)#no sh

R3:

R3(config)#int f0/0

R3(config-if)#ip add 20.1.1.38 255.255.255.0

R3(config-if)#no sh

ASA:

interface Ethernet0/0

 nameif inside

 security-level 100

 ip address 10.1.1.1 255.255.255.0 

interface Ethernet0/1

 nameif outside

 security-level 0

 ip address 20.1.1.1 255.255.255.0 

3.路由配置:

R1(config)#ip route 0.0.0.0 0.0.0.0 10.1.1.1

R2(config)#ip route 0.0.0.0 0.0.0.0 10.1.1.1

4.syslog配置:

A.配置syslog接收伺服器

R1(config)#logging 20.1.1.18

R2(config)#logging 20.1.1.18

B.指定syslog源位址

R1(config)#logging source-interface FastEthernet0/0

R2(config)#logging source-interface f0/0

C.設定日志級别

R1(config)#logging trap debugging

R2(config)#logging trap debugging

D.開啟syslog

R1(config)#logging on

R2(config)#logging on

5.NAT配置:

思路一:用NAT0(失敗)

ciscoasa(config)# access-list syslog permit udp any any eq syslog

ciscoasa(config)# nat (inside) 0 access-list syslog

ERROR: access-list has protocol or port

備注:說明nat0的access-list不能包含協定和端口。

思路二:配置政策NAT,禁止syslog協定的資料流進行NAT

ciscoasa(config)# access-list nat extended deny udp any any eq syslog

ciscoasa(config)# access-list nat extended permit ip any any

ciscoasa(config)# nat (inside) 1 access-list nat

ERROR: Deny rules not supported in Policy Nat

備注:政策NAT不支援deny的規則。

既然不支援deny,修改access-list如下:

ciscoasa(config)# access-list nat permit udp 10.1.1.0 255.255.255.0 any neq 514

ciscoasa(config)# access-list nat permit tcp 10.1.1.0 255.255.255.0 any

測試:

1).syslog位址沒有在作NAT轉換

<a target="_blank" href="http://blog.51cto.com/attachment/201205/204503366.jpg"></a>

2).tcp的連接配接作了NAT轉換

R1#telnet 20.1.1.38

Trying 20.1.1.38 ... Open

User Access Verification

Password: 

R3&gt;show users

    Line       User       Host(s)              Idle       Location

   0 con 0                idle                 00:02:43   

* 66 vty 0                idle                 00:00:00 20.1.1.1

  Interface    User               Mode         Idle     Peer Address

R3&gt;

R2#telnet 20.1.1.38

   0 con 0                idle                 00:03:46   

  66 vty 0                idle                 00:01:02 20.1.1.1

* 67 vty 1                idle                 00:00:00 20.1.1.1

3).udp的非514端口也作了位址轉換(以dns做測試)

R3配置成DNS伺服器

R3(config)#ip dns server 

R3(config)#ip host www.yuntian.com 20.1.1.38

R1配置成R3的DNS用戶端

R1(config)#ip domain lookup 

R1(config)#ip name-server 20.1.1.38

R1(config)#end

R1#

*Mar  1 02:15:16.139: %SYS-5-CONFIG_I: Configured from console by console

R1上ping主機名

R1#ping www.yuntian.com

Translating "www.yuntian.com"...domain server (20.1.1.38) [OK]

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 20.1.1.38, timeout is 2 seconds:

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 16/44/104 ms

R3上抓包确認已經作了位址轉換

R3#debug ip udp 

UDP packet debugging is on

R3#

*Mar  1 00:45:40.487: UDP: rcvd src=20.1.1.1(1026), dst=20.1.1.38(53), length=41

*Mar  1 00:45:40.491: UDP: Random local port generated 54505, network 1

*Mar  1 00:45:40.491: Reserved port 54505 in Transport Port Agent for UDP IP type 1

*Mar  1 00:45:40.499: UDP: sent src=20.1.1.38(53), dst=20.1.1.1(1026), length=57

*Mar  1 00:45:40.603: ICMP: echo reply sent, src 20.1.1.38, dst 20.1.1.1

*Mar  1 00:45:40.703: ICMP: echo reply sent, src 20.1.1.38, dst 20.1.1.1

*Mar  1 00:45:40.727: ICMP: echo reply sent, src 20.1.1.38, dst 20.1.1.1

*Mar  1 00:45:40.759: ICMP: echo reply sent, src 20.1.1.38, dst 20.1.1.1

*Mar  1 00:45:40.779: ICMP: echo reply sent, src 20.1.1.38, dst 20.1.1.1

4).icmp因為沒有配置政策NAT,是以也沒有轉換,無法ping通(無路由)

R1#ping 20.1.1.38

.....

Success rate is 0 percent (0/5)

R3#debug ip icmp

*Mar  1 00:37:36.167: ICMP: echo reply sent, src 20.1.1.38, dst 10.1.1.18

*Mar  1 00:37:38.167: ICMP: echo reply sent, src 20.1.1.38, dst 10.1.1.18

*Mar  1 00:37:40.191: ICMP: echo reply sent, src 20.1.1.38, dst 10.1.1.18

*Mar  1 00:37:42.143: ICMP: echo reply sent, src 20.1.1.38, dst 10.1.1.18

*Mar  1 00:37:44.183: ICMP: echo reply sent, src 20.1.1.38, dst 10.1.1.18

5).添加icmp協定也進行政策NAT,可以ping通也作了NAT

ciscoasa(config)# access-list nat permit icmp 10.1.1.0 255.255.255.0 any

Success rate is 100 percent (5/5), round-trip min/avg/max = 20/64/132 ms

*Mar  1 00:39:26.279: ICMP: echo reply sent, src 20.1.1.38, dst 20.1.1.1

*Mar  1 00:39:26.403: ICMP: echo reply sent, src 20.1.1.38, dst 20.1.1.1

*Mar  1 00:39:26.467: ICMP: echo reply sent, src 20.1.1.38, dst 20.1.1.1

*Mar  1 00:39:26.503: ICMP: echo reply sent, src 20.1.1.38, dst 20.1.1.1

*Mar  1 00:39:26.519: ICMP: echo reply sent, src 20.1.1.38, dst 20.1.1.1

6).缺點

需要明确指定inside到outside的協定進行轉換,如果沒有指定就可能導緻無法通路,因為除了tcp、udp、icmp之外還有其他協定。

6.總結:

A.nat0的access-list不能包含協定和端口。

B.政策NAT不支援deny的規則。

C.實際工程項目中,可能内網就不需要通路outside的syslog伺服器器,是以可以采用NAT0方法把内網到達syslog伺服器的流量進行nat免除。

----syslog是實際應用中比較少有的單向通訊的udp資料流,syslog用戶端隻管發,syslog伺服器隻管收,不會給syslog用戶端回複任何資訊。

ciscoasa(config)# access-list nonat permit ip 10.1.1.0 255.255.255.0 host 20.1.1.18

ciscoasa(config)# nat (outside) 0 access-list nonat

ciscoasa(config)# nat (inside) 1 0 0

ciscoasa(config)# global (outside) 1 interface

本文轉自 碧雲天 51CTO部落格,原文連結:http://blog.51cto.com/333234/849494,如需轉載請自行聯系原作者

繼續閱讀