IP : 网络地址转换 (NAT)

配置SMTP邮件服务器访问的ASA在DMZ,里面和外部网络

2016 年 10 月 24 日 - 机器翻译
其他版本: PDFpdf | 英语 (2015 年 8 月 22 日) | 反馈

简介

本文描述如何配置思科可适应安全工具(ASA)对在非敏感区域的简单邮件传输协议(SMTP)服务器的访问的(DMZ),网络内部或者外部网络查找。

贡献用Aastha Bhardwaj, Divya Subramanian, Prapanch Ramamoorthy和Dinkar夏尔马, Cisco TAC工程师。

先决条件

要求

本文档没有任何特定的要求。

使用的组件

本文档中的信息基于以下软件和硬件版本:

  • 运行软件版本9.1或以上的Cisco ASA
  • Cisco 2800C系列路由器用Cisco IOS软件版本15.1(4)M6

本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您使用的是真实网络,请确保您已经了解所有命令的潜在影响。

规则

有关文档规则的详细信息,请参阅 Cisco 技术提示规则

配置

此部分描述如何配置ASA为了到达在DMZ网络、网络内部或者外部网络的邮件服务器。

注意:请使用命令查找工具(仅限注册用户)得到关于在此部分使用的命令的更多信息。

在DMZ网络的邮件服务器

网络图

在此部分描述的配置使用此网络设置:

注意:在本文使用的IP寻址机制不是合法可路由的在互联网。这些地址是在实验室环境中使用的 RFC 1918 地址。

在本例中使用有与网络内部的ASA在10.1.1.0/24的网络设置和在203.0.113.0/24的一个外部网络。有IP地址172.16.31.10的邮件服务器在DMZ网络查找。为了网络内部能将访问的邮件服务器,您必须配置标识网络地址转换(NAT)。 

为了外部用户能访问邮件服务器,您必须配置静态NAT和访问列表,是在本例中的outside_int,为了允许外部用户访问邮件服务器和绑定访问列表到外部接口。

ASA 配置

这是此示例的ASA配置:

show run
: Saved
:
ASA Version 9.1(2)
!
hostname ciscoasa
enable password 8Ry2YjIyt7RRXU24 encrypted
xlate per-session deny tcp any4 any4
xlate per-session deny tcp any4 any6
xlate per-session deny tcp any6 any4
xlate per-session deny tcp any6 any6
xlate per-session deny udp any4 any4 eq domain
xlate per-session deny udp any4 any6 eq domain
xlate per-session deny udp any6 any4 eq domain
xlate per-session deny udp any6 any6 eq domain
passwd 2KFQnbNIdI.2KYOU encrypted
names

!--- Configure the dmz interface.

interface GigabitEthernet0/0
nameif dmz
security-level 50
ip address 172.16.31.1 255.255.255.0
!

!--- Configure the outside interface.


interface GigabitEthernet0/1
nameif outside
security-level 0
ip address 203.0.113.1 255.255.255.0

!--- Configure inside interface.

interface GigabitEthernet0/2
nameif inside
security-level 100
ip address 10.1.1.1 255.255.255.0
!
boot system disk0:/asa912-k8.bin
ftp mode passive

!--- This access list allows hosts to access
!--- IP address 172.16.31.10 for the SMTP port from outside.


access-list outside_int extended permit tcp any4 host 172.16.31.10 eq smtp

object network obj1-10.1.1.0
 subnet 10.1.1.0 255.255.255.0
nat (inside,outside) dynamic interface

!--- This network static does not use address translation.
!--- Inside hosts appear on the DMZ with their own addresses.


object network obj-10.1.1.0
subnet 10.1.1.0 255.255.255.0
nat (inside,dmz) static obj-10.1.1.0

!--- This Auto-NAT uses address translation.
!--- Hosts that access the mail server from the outside
!--- use the 203.0.113.10 address.


object network obj-172.16.31.10
host 172.16.31.10
nat (dmz,outside) static 203.0.113.10

access-group outside_int in interface outside

route outside 0.0.0.0 0.0.0.0 203.0.113.2 1

timeout xlate 3:00:00
timeout pat-xlate 0:00:30
timeout conn 1:00:00 half-closed 0:10:00 udp 0:02:00 icmp 0:00:02
timeout sunrpc 0:10:00 h323 0:05:00 h225 1:00:00 mgcp 0:05:00 mgcp-pat 0:05:00
timeout sip 0:30:00 sip_media 0:02:00 sip-invite 0:03:00 sip-disconnect 0:02:00
timeout sip-provisional-media 0:02:00 uauth 0:05:00 absolute
timeout tcp-proxy-reassembly 0:01:00
timeout floating-conn 0:00:00
!
class-map inspection_default
match default-inspection-traffic
!
!
policy-map type inspect dns preset_dns_map
parameters
message-length maximum client auto
message-length maximum 512

!--- The inspect esmtp command (included in the map) allows
!--- SMTP/ESMTP to inspect the application.


policy-map global_policy
class inspection_default
inspect dns maximum-length 512
inspect ftp inspect h323 h225
inspect h323 ras
inspect netbios
inspect rsh
inspect rtsp
inspect skinny
inspect esmtp
inspect sqlnet
inspect sunrpc
inspect tftp
inspect sip
inspect xdmcp
!

!--- The inspect esmtp command (included in the map) allows
!--- SMTP/ESMTP to inspect the application.


service-policy global_policy global

ESMTP TLS 配置

如果使用传输层安全(TLS)加密电子邮件通信,则Extended Simple Mail Transfer Protocol (ESMTP)检查功能(默认情况下启用)在ASA丢弃数据包。如下一个示例所显示,为了允许与启用的TLS的电子邮件,请禁用ESMTP检查功能。

注意:有关详细信息,请参阅 Cisco Bug ID CSCtn08326仅限注册用户).

ciscoasa(config)#policy-map global_policy
ciscoasa(config-pmap)#class inspection_default
ciscoasa(config-pmap-c)#no inspect esmtp
ciscoasa(config-pmap-c)#exit
ciscoasa(config-pmap)#exit

在网络内部的邮件服务器

网络图

在此部分描述的配置使用此网络设置:

在本例中使用有与网络内部的ASA在10.1.1.0/24的网络设置和在203.0.113.0/24的一个外部网络。有IP地址10.1.2.10的邮件服务器在网络内部查找。

ASA 配置

这是此示例的ASA配置:

ASA#show run
: Saved
:
ASA Version 9.1(2)
!
--Omitted--
!

!--- Define the IP address for the inside interface.

interface GigabitEthernet0/2
nameif inside
security-level 100
ip address 10.1.1.1 255.255.255.0

!--- Define the IP address for the outside interface.

interface GigabitEthernet0/1
nameif outside
security-level 0
ip address 203.0.113.1 255.255.255.0
!
--Omitted--

!--- Create an access list that permits Simple
!--- Mail Transfer Protocol (SMTP) traffic from anywhere
!--- to the host at 203.0.113.10 (our server). The name of this list is
!--- smtp. Add additional lines to this access list as required.
!--- Note: There is one and only one access list allowed per
!--- interface per direction, for example, inbound on the outside interface.
!--- Because of limitation, any additional lines that need placement in
!--- the access list need to be specified here. If the server
!--- in question is not SMTP, replace the occurrences of SMTP with
!--- www, DNS, POP3, or whatever else is required.


access-list smtp extended permit tcp any host 10.1.2.10 eq smtp

--Omitted--

!--- Specify that any traffic that originates inside from the
!--- 10.1.2.x network NATs (PAT) to 203.0.113.9 if
!--- such traffic passes through the outside interface.


object network obj-10.1.2.0
subnet 10.1.2.0 255.255.255.0
nat (inside,outside) dynamic 203.0.113.9

!--- Define a static translation between 10.1.2.10 on the inside and
!--- 203.0.113.10 on the outside. These are the addresses to be used by
!--- the server located inside the ASA.


object network obj-10.1.2.10
host 10.1.2.10
nat (inside,outside) static 203.0.113.10

!--- Apply the access list named smtp inbound on the outside interface.

access-group smtp in interface outside

!--- Instruct the ASA to hand any traffic destined for 10.1.2.0
!--- to the router at 10.1.1.2.


route inside 10.1.2.0 255.255.255.0 10.1.1.2 1

!--- Set the default route to 203.0.113.2.
!--- The ASA assumes that this address is a router address.


route outside 0.0.0.0 0.0.0.0 203.0.113.2 1

在外部网络的邮件服务器

网络图

在此部分描述的配置使用此网络设置:

ASA 配置

这是此示例的ASA配置:

ASA#show run
: Saved
:
ASA Version 9.1(2)
!
--Omitted--
!--- Define the IP address for the inside interface.

interface GigabitEthernet0/2
nameif inside
security-level 100
ip address 10.1.1.1 255.255.255.0

!--- Define the IP address for the outside interface.

interface GigabitEthernet0/1
nameif outside
security-level 0
ip address 203.0.113.1 255.255.255.0
!
--Omitted--

!--- This command indicates that all addresses in the 10.1.2.x range
!--- that pass from the inside (GigabitEthernet0/2) to a corresponding global
!--- destination are done with dynamic PAT.
!--- As outbound traffic is permitted by default on the ASA, no
!--- static commands are needed.


object network obj-10.1.2.0
subnet 10.1.2.0 255.255.255.0
nat (inside,outside) dynamic interface

!--- Creates a static route for the 10.1.2.x network.
!--- The ASA forwards packets with these addresses to the router
!--- at 10.1.1.2

route inside 10.1.2.0 255.255.255.0 10.1.1.2 1

!--- Sets the default route for the ASA Firewall at 203.0.113.2

route outside 0.0.0.0 0.0.0.0 203.0.113.2 1

--Omitted--

: end

验证

请使用在此部分被提供为了验证的信息您的配置适当地工作。

在DMZ网络的邮件服务器

TCP Ping

TCP ping测试在TCP的一连接(默认是互联网控制消息协议(ICMP))。如果目的地设备发送SYN-ACK数据包, TCP ping发送SYN数据包并且认为ping成功。您能每次运行至多两并发TCP ping。

示例如下:

ciscoasa(config)# ping tcp
Interface: outside
Target IP address: 203.0.113.10
Destination port: [80] 25
Specify source? [n]: y
Source IP address: 203.0.113.2
Source port: [0] 1234
Repeat count: [5] 5
Timeout in seconds: [2] 2
Type escape sequence to abort.
Sending 5 TCP SYN requests to 203.0.113.10 port 25
from 203.0.113.2 starting port 1234, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms

连接

ASA是状态防火墙,并且从邮件服务器的回程数据流允许上一步通过防火墙,因为在防火墙连接表里匹配一连接。匹配当前连接的流量通过防火墙允许,不用阻塞由接口访问控制表(ACL)。

在下一个示例中,外部接口的客户端建立对DMZ接口的203.0.113.10主机的连接。此联系用TCP协议建立和是空闲在两秒。连接标志指示此连接的当前状态:

ciscoasa(config)# show conn  address  172.16.31.10
1 in use, 2 most used
TCP outside  203.0.113.2:16678 dmz  172.16.31.10:25, idle 0:00:02, bytes 921, flags UIO

记录

ASA防火墙在正常操作时生成Syslog。Syslog在根据操作日志配置的冗余排列。此输出显示出现在级别六的两Syslog (与信息有关的级别)和级别七(调试级别) :

ciscoasa(config)# show logging  | i 172.16.31.10

%ASA-7-609001: Built local-host dmz:172.16.31.10

%ASA-6-302013: Built inbound TCP connection 11 for outside:203.0.113.2/16678
(203.0.113.2/16678) to dmz:172.16.31.10/25 (203.0.113.10/25)

在本例中的第二Syslog表明防火墙在其此特定的流量的连接表里建立了连接在客户端和服务器之间。如果防火墙配置为了阻塞此连接尝试,或者某个其他要素禁止了此连接(资源约束或一可能的误配置)的创建,防火墙不会生成表明的日志连接被建立了。反而,它将记录连接的一个原因能拒绝或关于从创建禁止连接的要素的一个征兆。 

例如,如果在外部的ACL没有配置允许在端口25的172.16.31.10,然后您会看到此日志,当流量拒绝时:

%ASA-4-106100 :访问列表outside_int已拒绝tcp outside/203.0.113.2(3756) - >
   dmz/172.16.31.10(25)点击CNT 5 300第二个间隔

当ACL是缺少或不正确的配置的如显示此处时,这将发生:

access-list outside_int extended permit tcp any4 host 172.16.31.10 eq http

access-list outside_int extended deny ip any4 any4

NAT转换(Xlate)

为了确认转换创建,您能检查Xlate (转换)表。show xlate命令,当与本地关键字和内部主机IP地址结合,显示是存在转换表里为该主机的所有条目。下输出显示有为在DMZ和外部接口之间的此主机当前建立的转换。DMZ服务器IP地址翻译对203.0.113.10地址每先前配置。是列出的标志(在本例中的s)表明转换是静态的。 

ciscoasa(config)# show nat detail
Manual NAT Policies (Section 1)
1 (dmz) to (outside) source static obj-172.16.31.10 obj-203.0.113.10
    translate_hits = 7, untranslate_hits = 6
    Source - Origin: 172.16.31.10/32, Translated: 203.0.113.10/32

Auto NAT Policies (Section 2)
1 (dmz) to (outside) source static obj-172.16.31.10 203.0.113.10
    translate_hits = 1, untranslate_hits = 5
    Source - Origin: 172.16.31.10/32, Translated: 203.0.113.10/32
2 (inside) to (dmz) source static obj-10.1.1.0 obj-10.1.1.0
    translate_hits = 0, untranslate_hits = 0
    Source - Origin: 10.1.1.0/24, Translated: 10.1.1.0/24
3 (inside) to (outside) source dynamic obj1-10.1.1.0 interface
    translate_hits = 0, untranslate_hits = 0
    Source - Origin: 10.1.1.0/24, Translated: 203.0.113.1/24

ciscoasa(config)# show xlate
4 in use, 4 most used
Flags: D - DNS, e - extended, I - identity, i - dynamic, r - portmap,
       s - static, T - twice, N - net-to-net
NAT from dmz:172.16.31.10 to outside:203.0.113.10
    flags s idle 0:10:48 timeout 0:00:00
NAT from inside:10.1.1.0/24 to dmz:10.1.1.0/24
    flags sI idle 79:56:17 timeout 0:00:00
NAT from dmz:172.16.31.10 to outside:203.0.113.10
    flags sT idle 0:01:02 timeout 0:00:00
NAT from outside:0.0.0.0/0 to dmz:0.0.0.0/0
    flags sIT idle 0:01:02 timeout 0:00:00

在网络内部的邮件服务器

TCP Ping

这是输出的示例TCP ping :

ciscoasa(config)# PING TCP
Interface: outside
Target IP address: 203.0.113.10
Destination port: [80] 25
Specify source? [n]: y
Source IP address: 203.0.113.2
Source port: [0] 1234
Repeat count: [5] 5
Timeout in seconds: [2] 2
Type escape sequence to abort.
Sending 5 TCP SYN requests to 203.0.113.10 port 25
from 203.0.113.2 starting port 1234, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms

连接

这是示例连接验证:

ciscoasa(config)# show conn  address  10.1.2.10
1 in use, 2 most used
TCP outside  203.0.113.2:5672 inside  10.1.2.10:25, idle 0:00:05, bytes 871, flags UIO

记录

这是示例Syslog :

%ASA-6-302013: Built inbound TCP connection 553 for outside:203.0.113.2/19198
(203.0.113.2/19198) to inside:10.1.2.10/25 (203.0.113.10/25)

NAT转换(Xlate)

这是一些示例show nat详细信息show xlate命令输出:

ciscoasa(config)# show nat detail

Auto NAT Policies (Section 2)
1 (inside) to (outside) source static obj-10.1.2.10 203.0.113.10
    translate_hits = 0, untranslate_hits = 15
    Source - Origin: 10.1.2.10/32, Translated: 203.0.113.10/32
2 (inside) to (dmz) source static obj-10.1.1.0 obj-10.1.1.0
    translate_hits = 0, untranslate_hits = 0
    Source - Origin: 10.1.1.0/24, Translated: 10.1.1.0/24
3 (inside) to (outside) source dynamic obj1-10.1.1.0 interface
    translate_hits = 0, untranslate_hits = 0
    Source - Origin: 10.1.1.0/24, Translated: 203.0.113.1/24
 
ciscoasa(config)# show xlate
 

NAT from inside:10.1.2.10 to outside:203.0.113.10
    flags s idle 0:00:03 timeout 0:00:00

在外部网络的邮件服务器

TCP Ping 

这是输出的示例TCP ping :

ciscoasa# PING TCP
Interface: inside
Target IP address: 203.1.113.10
Destination port: [80] 25
Specify source? [n]: y
Source IP address: 10.1.2.10
Source port: [0] 1234
Repeat count: [5] 5
Timeout in seconds: [2] 2
Type escape sequence to abort.
Sending 5 TCP SYN requests to 203.1.113.10 port 25
from 10.1.2.10 starting port 1234, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/1 ms

连接

这是示例连接验证:

ciscoasa# show conn address 203.1.113.10
1 in use, 2 most used
TCP inside 10.1.2.10:13539 outside 203.1.113.10:25, idle 0:00:02, bytes 898, flags UIO

记录

这是示例Syslog :

ciscoasa# show logging | i 203.1.113.10
 
%ASA-6-302013: Built outbound TCP connection 590 for outside:203.1.113.10/25
(203.1.113.10/25) to inside:10.1.2.10/1234 (203.0.113.1/1234)

NAT转换(Xlate)

这是示例show xlate命令输出:

ciscoasa# show xlate | i 10.1.2.10

TCP PAT from inside:10.1.2.10/1234 to outside:203.0.113.1/1234 flags ri idle
0:00:04 timeout 0:00:30

故障排除

ASA提供排除故障连接的多个工具。如果问题仍然存在,在您验证配置并且检查在前面部分描述的输出后,这些工具和技术也许帮助您确定您的连通性故障的原因。

在DMZ网络的邮件服务器

数据包追踪器

在ASA的数据包跟踪程序功能允许您指定一被模拟的数据包和查看所有多种步骤,检查,并且作用防火墙审阅,当处理流量时。使用此工具,识别您相信应该允许穿过防火墙,并且使用five-tupple为了模拟流量流量的示例是有用的。在下一个示例中,数据包跟踪程序用于为了模拟满足这些标准的连接尝试:

  • 被模拟的数据包在外部到达。
  • 使用的协议是TCP
  • 被模拟的客户端IP地址是203.0.113.2
  • 客户端发送从端口1234被发出的流量。
  • 流量被注定到在IP地址203.0.113.10的一个服务器。
  • 流量被注定到端口25

这是输出的示例数据包跟踪程序:

packet-tracer input outside tcp 203.0.113.2 1234 203.0.113.10 25 detailed

--Omitted--
 
Phase: 2
Type: UN-NAT
Subtype: static
Result: ALLOW
Config:
nat (dmz,outside) source static obj-172.16.31.10 obj-203.0.113.10
Additional Information:
NAT divert to egress interface dmz
Untranslate 203.0.113.10/25 to 172.16.31.10/25

Result:
input-interface: outside
input-status: up
input-line-status: up
output-interface: dmz
output-status: up
output-line-status: up
Action: allow

这是在Cisco Adaptive Security Device Manager (ASDM)的一示例:

注意没有DMZ接口的提及在上一个输出中。这是由数据包跟踪程序设计。工具告诉您防火墙如何处理那种连接尝试,包括如何将路由它,并且在哪个接口外面。

提示使用CLI, 8.4和8.6,关于数据包跟踪程序功能的更多信息,参考有数据包Cisco ASA 5500系列配置指南的跟踪程序部分的跟踪数据包

数据包捕获

ASA防火墙能捕获进入或离开其接口的流量。此捕获功能是非常有用的,因为能明确证明流量是否到达在,或者分支从,防火墙。下一个示例显示名为capdcapout的两个捕获的配置在DMZ和外部接口,分别。捕获命令使用一个匹配关键字,允许您是特定关于流量您要捕获。

对于在本例中的捕获capd,指示您在该DMZ的接口要匹配流量被看到(入口或出口)匹配TCP主机172.16.31.10/host 203.0.113.2。换句话说,从主机172.16.31.10发送主机203.0.113.2的您要捕获所有TCP数据流,或者反之亦然。使用匹配关键字允许防火墙捕获该流量双向。capture命令为外部接口定义不参考内部邮件服务器IP地址,因为防火墙执行在该邮件服务器IP地址的NAT。结果,您不能配比与该服务器IP地址。反而,下一个示例使用词其中任一为了表明所有可能的IP地址将匹配该情况。

在您配置捕获后,您应该然后尝试再建立连接,并且继续查看与显示捕获<capture_name>的捕获请发出命令。在本例中,在捕获看到的您能看到外部主机能连接到邮件服务器,如明显由TCP三次握手:

ASA#  capture capd interface dmz match tcp host 172.16.31.10 any
ASA#  capture capout interface outside match tcp any host 203.0.113.10

ASA#   show capture capd

3 packets captured

   1: 11:31:23.432655       203.0.113.2.65281 > 172.16.31.10.25: S 780523448:
   780523448(0) win 8192 <mss 1460,nop,wscale 2,nop,nop,sackOK>
   2: 11:31:23.712518       172.16.31.10.25 > 203.0.113.2.65281: S 2123396067:
   2123396067(0) ack 780523449 win 8192 <mss 1024,nop,nop,sackOK,nop,wscale 8>
   3: 11:31:23.712884       203.0.113.2.65281 > 172.16.31.10.25. ack 2123396068
   win 32768

ASA# show capture capout

3 packets captured

   1: 11:31:23.432869       203.0.113.2.65281 > 203.0.113.10.25: S 1633080465:
   1633080465(0) win 8192 <mss 1380,nop,wscale 2,nop,nop,sackOK>
   2: 11:31:23.712472       203.0.113.10.25 > 203.0.113.2.65281: S 95714629:
   95714629(0) ack 1633080466 win 8192 <mss 1024,nop,nop,sackOK,nop,wscale 8>
   3: 11:31:23.712914        203.0.113.2.65281 > 203.0.113.10.25: . ack 95714630
   win 32768

在网络内部的邮件服务器

数据包追踪器

这是输出的示例数据包跟踪程序:

CLI : packet-tracer input outside tcp 203.0.113.2 1234 203.0.113.10 25 detailed
 
--Omitted--

Phase: 2
Type: UN-NAT
Subtype: static
Result: ALLOW
Config:
object network obj-10.1.2.10
 nat (inside,outside) static 203.0.113.10
Additional Information:
NAT divert to egress interface inside
Untranslate 203.0.113.10/25 to 10.1.2.10/25

Phase: 3
Type: ACCESS-LIST
Subtype: log
Result: ALLOW
Config:
access-group smtp in interface outside
access-list smtp extended permit tcp any4 host 10.1.2.10 eq smtp
Additional Information:
 Forward Flow based lookup yields rule:
 in  id=0x77dd2c50, priority=13, domain=permit, deny=false
        hits=1, user_data=0x735dc880, cs_id=0x0, use_real_addr, flags=0x0, protocol=6
        src ip/id=0.0.0.0, mask=0.0.0.0, port=0, tag=0
        dst ip/id=10.1.2.10, mask=255.255.255.255, port=25, tag=0, dscp=0x0
        input_ifc=outside, output_ifc=any

在外部网络的邮件服务器

数据包追踪器

这是输出的示例数据包跟踪程序:

CLI :  packet-tracer input inside tcp 10.1.2.10 1234 203.1.113.10 25 detailed
 
--Omitted--
 
Phase: 2
Type: ROUTE-LOOKUP
Subtype: input
Result: ALLOW
Config:
Additional Information:
in 203.1.113.0 255.255.255.0 outside
 
Phase: 3
Type: NAT
Subtype:
Result: ALLOW
Config:
object network obj-10.1.2.0
nat (inside,outside) dynamic interface
Additional Information:
Dynamic translate 10.1.2.10/1234 to 203.0.113.1/1234
Forward Flow based lookup yields rule:
in id=0x778b14a8, priority=6, domain=nat, deny=false
hits=11, user_data=0x778b0f48, cs_id=0x0, flags=0x0, protocol=0
src ip/id=10.1.2.0, mask=255.255.255.0, port=0, tag=0
dst ip/id=0.0.0.0, mask=0.0.0.0, port=0, tag=0, dscp=0x0
input_ifc=inside, output_ifc=outside

相关信息



Document ID: 118958