iptables 防火墙实现

防火墙是什么?:

我们要讲防火墙,首先要了解什么是防火墙,其实防火墙就是设定一些规则来管制过滤进入到我们网 络内的主机IP数据包的一种机制!它可以限制你的文件传输服务 (FTP)可以限制主机可以通过的服务;还可以限制主机对外联等等。。。防火墙分为硬件防火墙和软件防火墙。我们下边说的为软件防火墙。

我们要知道,防火墙的规则是建立在内核上的,内核有提供Netfilter包过滤机制,netfilter的机制内核自建的,那我们又该如何操纵它呢?Linux6.x上为我们提供了iptables这个工具来实现对防火墙规则的设定,并提交给Netfilter来执行。iptables:用户空间的工具。写规则,并自动发往netfilter,netfilter:接收并生效规则。

[[email protected] ~]# rpm -ql iptables  查看安装生成的文件

/bin/iptables-xml-1.4.7

/etc/rc.d/init.d/iptables iptables对应的启动服务

/etc/sysconfig/iptables-config 对应的开机要配置参数

/lib64/libip4tc.so.0-1.4.7  iptables所需的库文件

/lib64/xtables/libipt_CLUSTERIP.so

/sbin/iptables-1.4.7    iptables的启动程序

/sbin/iptables-restore-1.4.7   iptables的重载规则程序

/sbin/iptables-save-1.4.7        iptables的保存规则的程序

/usr/share/doc/iptables-1.4.7    iptables相关文档

/usr/share/man/man8/iptables-1.4.7.8.gz   man文档

要学习防火墙首先我们要了解数据包进来出去的过程。

数据包在进入到我们的网卡没有经过路由决策时有PREROUTING链,在经过路由决策后可以经过INPUT链进入到本机应用层或者通过转发经由FORWARD链直接出去而不进入本机应用层,出去还需要经过POSTROUTING链,而进入本机后出来到达路由决策前具有OUTPUT链。

链是数据包流向经过的路径,那么我们如何使用这些链呢,防火墙规则里有多个表,而我们的链就是放在表里的规则上的。

规则的功能分为以下4种:

filter: 过滤功能,定义是否允许通过防火墙,INPUT,OUTPUT,FORWARD都需要用到过滤的功能

nat: 地址转换,启用connection_track模块;PREROUTING,POSTROUTINIG,FORWARD都需要用到转换的功能

mangle: 用于对数据包相关字段的修改;PREROUTING, INPUT, FORWARD, OUTPUT, POSTROUTING都可以用到

raw: 目标是关闭nat表上启用的连接追踪功能;PREROUTING, OUTPUT都需要用到此功能

基本语法:

  iptables [-t TABLE]  COMAND CHAIN    CRETIRIA    -j TARGET

iptables [-t TABLE] -A 链名 匹配条件 -j 处理目标

匹配条件:


 TABLE


默认是filter

filter
过滤功能,定义是否允许通过防火墙


nat


地址转换,需要启用connection_track模块


mangle


用于对数据包相关字段的修改


raw


目标是关闭nat表上启用的连接追踪功能


 链


INPUT

进入本机路由后

OUTPUT


本机出来路由前


PREROUTING

进入本机路由前

POSTROUTING

出去

FORWARD


转发


 链规则


-A


新增一条规则,该规则增加在原规则后边,


-I


:插入一条新规则,如果没有指定规则顺序,则此规则变成第一条规则,其他规则依次为2-N


-D


删除规则


-R


替换规则


-L


查询,list

-n:以数字格式显示主机地址和端口

-v:详细格式,vv,vvv

--line-numbers:显示规则编号

-x:exactly,不要对计数器的计数结果做单位换算,而显示其精确值。

注意:千万不要iptables -t net  -L -n  查看net 会启动链接追踪功能,


-N


new 自定义一个链,只可被调用 iptables [-t table] -N chain


-X


delete,删除自定义空链 iptables [-t table] -N chain


-E


重命名自定义链。iptables [-t table] -E old_name  new_name


-Z


zero,计数器归零。


-P


policy,设置默认策略,对filter表来讲,默认规则为ACCEPT或DROP;


通用匹配


-s 地址


指定报文源IP地址匹配的范围;可以是IP,也可以是网络地址;可使用!取反;--src, --source


-d 地址


指定报文目标IP地址匹配的范围;  --dst, --destination


-p 协议


指定匹配报文的协议类型,一般有三种tcp, udp和icmp以及all


-i  INTERFACE


数据报文流入的接口;PREROUTING, INPUT, FORWARD 例如:eth0 ,lo 等需要与INPUT链配合


-o INTERFACE


数据报文流出的接口;OUTPUT, FORWARD, POSTROUITING  需要于OUTPUT配合


-n


不进行 IP 与 HOSTNAME 的反查,显示讯息的速度会快很多!


-j


目标,后边接操作,主要操作有:接受(ACCEPT),丢弃(DROP),拒绝(REJECT),记录(LOG)。。。


ACCEPT

接受

DROP

丢弃

REJECT


拒绝


LOG


如果要记录日志,需要写在其他策略前边


SNAT


修改数据包报头来源,接受返回的数据在路由前就需要转换报头,否则会送往转换主机的内部去。


DNAT


修改数据包报头的目标项目:主要是架设服务器使用,当访问给出的外部公网地址时,可以转换为内部的服务器地址。相当于SNAT的反传送。

PNAT

MASQERADE


主要用于ADSL拨号上网,可以自动寻找公网IP。代理。


RETURN


目标,在自定义链中无法匹配报文时,将其返回


扩展匹配


隐式扩展:当使用-p {tcp|udp|icmp}中的一种时,需要-m指定那个模块,也可以直接使用扩展专用选项;

-p [-m] tcp:
--sport PORT[-PORT]: 指定源端口,端口可以是连续的范围port-port

--dport PORT[-PORT]: 指定目标端口,端口可以是连续的范围port-port

--tcp-flags 要检查的标志位列表(逗号分隔),必须为1的标志位列表(逗号分隔)

例如:--tcp-flags syn,ack,rst,syn


-p [-m] udp:


--sport PORT[-PORT]: 指定源端口,端口可以是连续的范围port-port

--dport PORT[-PORT]: 指定目标端口,端口可以是连续的范围port-port


-p [-m] icmp:


--icmp-type:后边必须要接ICMP的数据包类型,也可以使用代号。

0: echo-reply, ping响应

8: echo-request, ping请求


-p all


三种xie


-m 


显式扩展:必须明确说明使用哪个模块进行扩展,需要-m指定那个模块,而后才能使用其扩展专用选项;


multiport

多端口匹配!可取反
   [!] --source-ports,或 --soprt port[,prot:port]
   --destination-ports,或 --dports
   --ports
例子: 
        # iptables -I INPUT -d 172.16.100.7 -p tcp -m multiport --dports 22,80 -j ACCEPT 
        # iptables -I OUTPUT -s 172.16.100.7 -p tcp -m multiport --sports 22,80 -j ACCEPT

iprange


匹配指定范围内的地址,!可取反

[!] --src-range IP[-IP]

[!] --dst-range IP[-IP]

例子:

# iptables -A INPUT -d 172.16.100.7 -p tcp --dport 23 -m iprange --src-range 172.16.100.1-172.16.100.100 -j ACCEPT

# iptables -A OUTPUT -s 172.16.100.7 -p tcp --sport 23 -m iprange --dst-range 172.16.100.1-172.16.100.100 -j ACCEPT


string

字符串匹配,能够检测报文应用层中的字符串
字符匹配算法:kmp,bm
专用选项:
   --algo {kmp|bm}
   --string "STRING"
   --hex-string  "HEX_STRING" :HEX_STRING为编码成16进制格式的字串
例子:
      # iptables -I OUTPUT -m string --algo kmp --string "sex" -j DROP

time

基于时间做访问控制
专用选项:
   --datestart YYYY[-MM][-DD[Thh[:mm[:ss]]]]
   --datestop
   --timestart hh:mm[:ss]
   --timestop hh:mm[:ss]
   --weekdays day[,day]
例子:
       # iptables -I INPUT -d 172.16.100.7 -p tcp --dport 80 -m time --timestart 08:20 --timestop 18:40 --weekdays Mon,Tue,Thu,Fri -j REJECT 

connlimit

连接数限制,对每IP所能够发起并发连接数做限制;
专用选项:
   [!]--connlimit-above N        小于N的连接数允许,大于拒绝
例子:
       #iptables -A INPUT -d 172.16.100.7 -p tcp --dport 22 -m connlimit --connlimit-above 2 -j DROP

limit


速率限制,

专用选项:

--limit n[/second|/minute|/hour|/day]

--limit-burst n   一次多放几个

例子:

# iptables -A INPUT -d 172.16.100.7 -p icmp --icmp-type 8 -m limit --limit 20/minute --limit-burst 5 -j ACCEPT


state

 --state  
状态检查
连接追踪中的状态检查:
   NEW:新建立一个会话
   ESTABLISHED:已建立的连接
   RELATED:有关联关系的连接
   INVALID:无法识别的连接
   /proc/sys/net/nf_conntrack_max:调整连接追踪功能所能容纳的连接的最大数目
   /proc/net/nf_conntrack:当前追踪的所有连接
   /proc/sys/net/netfilter/*:不同协议或连接类型追踪时的属性
放行被动模式下的FTP服务:
   1,装在模块/lib/modules/KERNER_VERSION/kernel/net/netfilter/
      模块:nf_conntrack_ftp
   2,放行请求报文:
      (1)放行NEW状态对21端口请求的报文
      (2)放行ESTABLISHED以及RELATED状态的报文
   3,旅行相应报文:
      (1)放行ESTABLISHED以及RELATED状态的报文

mac

网卡硬件地址:
选项参数:--mac-source 来源诸暨的MAC
例子:
   #iptables -A INPUT -m mac




查看iptables的规则:

iptables [-t tables] [-L] [-nv] 

[[email protected]~]# iptables -L -nv  
  
Chain INPUT (policy ACCEPT 131K packets, 15M bytes)                                 Chain表示这就是INPUT链,policy是默认规则ACCEPT接受   
 
pkts bytes target prot opt in out source destination 
   
   
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)                                    Chain表示这就是OUTPUT链,policy是默认规则ACCEPT接受    

pkts bytes target prot opt in out source destination  
  
  
Chain OUTPUT (policy ACCEPT 7962 packets, 1472K bytes)                              Chain表示这就是FORWARD链,policy是默认规则ACCEPT接受  
  
pkts bytes target prot opt in out source destination

-L -v选项各项含义:  


pkts


bytes


target


prot


opt


in


out


source


destination


包数


字节数


目标


协议


流入的接口


流出的接口


源地址


目标地址

设置iptables的默认策略

iptables [-t tables] -P [INPUT|OUTPUT|FORWARD] [ACCEPT|DROP|REJECT]

[[email protected] ~]# iptables -P FORWARD DROP

[[email protected] ~]# iptables -L -n    

Chain INPUT (policy ACCEPT)    

target prot opt source destination  
  
  
Chain FORWARD (policy DROP)                                FORWARD的默认策略变为DROP  
 
target prot opt source destination  
  
  
Chain OUTPUT (policy ACCEPT)    

target prot opt source destination

创建一条新的规则链基于IP

iptables [-AI 链名] [-io 网络接口] [-p 协议]  [-s 来源 IP/网域] [-d 目标 IP/网域] -j [ACCEPT|DROP|REJECT|LOG]

例子:我们创建一条拒绝192.168.1.111的IP通过eth0网口来访问本机  

创建一条新的规则链基于端口

iptables [-AI 链] [-io 网络接口] [-p tcp,udp] [-s 来源 IP/网域] [--sport 端口范围] [-d 目标 IP/网域] [--dport 端口范围] -j [ACCEPT|DROP|REJECT]

例子:我们创建一条不许tcp协议网段为172.16.0.0的来访问本机的80端口。

iptables -A INPUT -p tcp -s 172.16.0.0/16 -d 192.168.1.123 --dport 80 -j DROP

也可以基于数据包类型:-p imcp

iptables -A INPUT [-p icmp] [--icmp-type 类型] -j ACCEPT

常用的有 0: echo-reply, ping响应 、 8: echo-request, ping请求

拒绝被别人ping的话可以:

[[email protected]~]# iptables -I INPUT -p icmp --icmp-type 8 -j DROP       拒绝ping插入第一条   
 
[[email protected]~]# iptables -L -nv 
   
Chain INPUT (policy DROP 0 packets, 0 bytes)    

pkts bytes target prot opt in out source destination  
  
0 0 DROP icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmp type 8   
 
0 0 DROP all -- eth0 * 192.168.1.111 192.168.1.123   
 
0 0 DROP tcp -- * * 172.16.0.0/16 192.168.1.123 tcp dpt:80  
  
628 46744 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:22   
 
0 0 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED   
 
 
Chain FORWARD (policy DROP 0 packets, 0 bytes) 
   
pkts bytes target prot opt in out source destination 

   
Chain OUTPUT (policy ACCEPT 17 packets, 1564 bytes)  
  
pkts bytes target prot opt in out source destination

创建一条新规则基于状态

iptables -A INPUT [-m state] [--state 状态]

例子:创建一条规则,进入本机已建立的会话和与会话有关联关系的给与放行,其他的全拒绝

iptables -A INPUT -m state  --state RELATED,ESTABLISHED -j ACCEPT

当然如果你在远程连接本机的话,你需要先放行自己的SSH会话,再将默认INPUT设为DROP,最后放行上边这条规则。

[[email protected]~]# iptables -A INPUT -p tcp --dport 22 -j ACCEPT    

[[email protected]~]# iptables -P INPUT DROP

创建一条自定义防火墙规则。

iptables [-t table] -N Chain

自定义链只可被应用。

iptables -t filter -N WEBChain

并被tcp 80端口出去的调用此规则。规则是拒绝192.168.1.123从tcp 80端口出去。




做SNAT转发,修改数据包来源报头:主要应付内部主机连接外网的方式

内部请求出去时:客户端所发出的封包表头中,来源会是172.16.18.5,然后传送到 NAT 这部主机; NAT 这部主机的内部接口 (172.16.18.6) 接收到这个封包后,会主动分析表头数据, 因为表头数据显示目的并非本机,所以开始经 过路由, 将此封包转到公网 IP 处(192.168.1.123); 主机透过 iptables 的 NAT table 内的 Postrouting 链将封包表头的来源伪装成为本机公网IP ,并且将两个不同来源 (172.16.18.5 及 公网IP) 的封包对应写入暂存内存当中, 然后将此封包传送出去了;

接受返回数据包时:在 Internet 上面的主机接到这个封包时,会将响应数据传送给那个公网IP的主机;当 NAT 服务器收到来自 Internet 的数据后,会分析该数据包的序号,并比对刚刚记录到内存当中的数据, 由于发现该封包为后端主机之前传送出去的,因此在 NAT Prerouting 链中,会将目标 IP 修改成为后端主机(172.16.18.5),然后发现目标已经不是本机, 所以开始透过路由分析封包流向;将数据传送到172.16.18.6 这个内部接口,然后再传送到最终目标主机上去!

做DNAT转发:内部作为服务器让外部网络访问。也就是目标地址转化

外部主机想要连接到目的端的WEB服务,则必须要连接到我们的 NAT 服务器上; 我们的 NAT 服务器设定 port 80转发 ,所以当 NAT 服务器接到这个封包后(源地址192.168.1.34|目标地址192.168.1.123), 会将目标地址在PREROUTING转为172.16.18.5,源地址不变 ,且将该封包相关信息记录下来,等待内部服务器的响应;172.16.18.5 会响应数据给192.168.1.34 ,当这个响应经过POSTROUTING时伪装源地址为192.168.1.123,目标地址不变(192.168.1.34)传送出去!

RAW表    

RAW表只使用在PREROUTING链和OUTPUT链上,因为优先级最高,从而可以对收到的数据包在连接跟踪前进行处理。一但用户使用了RAW表,在某个链上,RAW表处理完后,将跳过NAT表和 ip_conntrack处理,即不再做地址转换和数据包的链接跟踪处理了. RAW表可以应用在那些不需要做nat的情况下,以提高性能。如大量访问的web服务器,可以让80端口不再让iptables做数据包的链接跟踪处理,以提高用户的访问速度。 实际测试发现filter链仍然处理一些NOTRACK的包,但没有进行connect tracking,所以filter链条里必须将UNTRACKED状态的包放行

iptables的链接跟踪表最大容量为/proc/sys/net/ipv4/ip_conntrack_max,链接碰到各种状态的超时后就会从表中删除。

所以解決方法一般有两个:

  (1) 加大 ip_conntrack_max 值
  
  
  vi /etc/sysctl.conf
  
  net.ipv4.ip_conntrack_max = 393216
  
  net.ipv4.netfilter.ip_conntrack_max = 393216
  
  
  (2): 降低 ip_conntrack timeout时间
  
  vi /etc/sysctl.conf
  
  net.ipv4.netfilter.ip_conntrack_tcp_timeout_established = 300
  
  net.ipv4.netfilter.ip_conntrack_tcp_timeout_time_wait = 120
  
  net.ipv4.netfilter.ip_conntrack_tcp_timeout_close_wait = 60
  
  net.ipv4.netfilter.ip_conntrack_tcp_timeout_fin_wait = 120



写防火墙规则时要注意:

(1)服务端:先进后出

(2)客户端:先出后进

(3)客户端端口是随机的,因此大多数场景下无须限定

iptables --> 语法检查 --> netfilter

规则立即生效

切记:先添加放行自己会话

规则文件:/etc/sysconfig/iptables (iptables文件可能不存在)

保存启用中的规则于规则文件中:

1、# iptables-save > /etc/sysconfig/iptables

2、# service iptables save

生效规则文件中的规则:

1、# iptables-restore < /etc/sysconfig/iptables

2、# service iptables restart

执行的操作:清空现有规则,读取并生效规则文件中的规则

防火墙简单设计:

(1)规则清零:清除所有已有规则 (iptables -F)

(2)设置默认策略:INPUT自定义链为DROP ,其他的默认ACCEPT.

(3)信任本机:由于lo对本机来说是相当重要的,因此lo必须设置为信任设备

(4)回应数据包:让本机发出的请求的相应包可以进入本机。(ESTABLISHED,RELATED)

(5)信任用户:给出你需要信任的用户,也可以没有。

写一个bash脚本来执行自己的防火墙规则

#vim iptablescript.sh

#!/bin/bash
#

#1,清除规则
iptables -F
iptables -Z

#2,设置默认策略
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT

#3,制定各项规则
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -s 172.16.0.0/16  -j ACCEPT

#4,写入防火墙配置文件。
service iptables save
#或者 iptables-save > /etc/sysconfig/iptables(文件可能不存在)

#一个简单的防御防火墙

*ftp服务21号端口开启时开放RELATED关联时,必须装载nf_conntrack_ftp

---------------------------------------------------------------------------------

---------------------------------------END---------------------------------------

iptables 防火墙实现,布布扣,bubuko.com

时间: 2024-10-25 12:19:42

iptables 防火墙实现的相关文章

Iptables防火墙(一)

一.Linux防火墙基础 Linux防火墙主要工作在网络层,属于典型的包过滤防火墙. netfilter和iptables都用来指Linux防火墙,主要区别是: netfilter:指的是linux内核中实现包过滤防火墙的内部结构,不以程序或文件的形式存在,属于"内核态"的防火墙功能体系. iptables:指的是用来管理linux防火墙的命令程序,通常位于/sbin/iptables目录下,属于"用户态"的防火墙管理体系. 1.iptables的表.链结构 Ipt

【整理笔记-防火墙】实现iptables防火墙搭建

搭建防火墙,配置防火墙. - - 系统centos7 . centos7自带firewalld,由于看firewalld命令行没有接触过,所以安装iptables防火墙. 1:禁用firewalld firewall-cmd --state 查看系统自带防火墙状态. 用systemctl stop firewalld.service   禁止立即生效, systemctl disable firewalld.service  永久关闭firewalld.执行完再看一下防火墙状态, 显示为not

iptables防火墙高级应用

iptables 防火墙(主机防火墙) 前言:我们在以前学习过asa防火墙,对防火墙有一定的了解,那么iptables和asa防火墙类似,作用一样,都是为了保证网络安全,系统安全,服务器的安全,和asa一样也需要建立策略,个人觉得比asa的策略要繁琐一点,但只要多做几遍,也就简单了. 一.防火墙基础 Linux防火墙主要工作在网络层,属于典型的包过滤防火墙. 1.iptables的表.链结构 Iptables采用了表和链的分层结构,每个规则表相当于内核空间的一个容器,根据规则集的不同用途划分为默

Linux下的配置iptables防火墙增强服务器安全

Linux下的配置iptables防火墙增强服务器安全 实验要求 iptables常见概念 iptables服务器安装及相关配置文件 实战:iptables使用方法 例1:使用iptables防火墙保护公司web服务器 例2:使用iptables搭建路由器,通过SNAT使用内网机器上网 例3:限制某些IP地址访问服务器 例4:使用DNAT功能把内网web服务器端口映射到路由器外网 实验环境 iptables服务端:xuegod-63   IP:192.168.1.63 iptables客户端:x

iptables防火墙应用

安全服务--Iptables  一.网络安全访问控制我们都知道,Linux一般作为服务器使用,对外提供一些基于网络的服务,通常我们都需要对服务器进行一些网络控制,类似防火墙的功能,  常见的访问控制包括:那些IP可以访问服务器,可以使用那些协议,那些接口.那些端口 是否需要对数据包进行修改等等.如果某服务器受到攻击,或者来自互联网哪个区域或者哪个IP的攻击,这个时候应该禁止所有来自该IP的访问.那么Linux底层内核集成了网络访问控制,通过netfilter模块来实现.  iptables作用:

基于linux的web服务器的iptables防火墙安全优化设置

安全规划:开启 80  22 端口并 打开回路(回环地址 127.0.0.1) #iptables –P INPUT ACCEPT #iptables –P OUTPUT ACCEPT #iptables –P FORWARD ACCEPT 以上几步操作是为了在清除所有规则之前,通过所有请求,如果远程操作的话,防止远程链接断开. 接下来清除服务器内置规则和用户自定义规则: #iptables –F #iptables -X 打开ssh端口,用于远程链接用: #iptables –A INPUT

iptables防火墙配置详解

iptables简介 iptables是基于内核的防火墙,功能非常强大,iptables内置了filter,nat和mangle三张表. filter负责过滤数据包,包括的规则链有,input,output和forward: nat则涉及到网络地址转换,包括的规则链有,prerouting,postrouting和output: mangle表则主要应用在修改数据包内容上,用来做流量整形的,默认的规则链有:INPUT,OUTPUT,NAT,POSTROUTING,PREROUTING: inpu

CentOS下配置iptables防火墙 linux NAT(iptables)配置

CentOS下配置防火墙 配置nat转发服务CentOS下配置iptables防火墙 linux NAT(iptables)配置 CentOS下配置iptables 1,vim /etc/sysconfig/network   这里可以更改主机名称. NETWORKING=yesNETWORKING_IPV6=noHOSTNAME=BGI-TJ.localdomain GATEWAY=192.168.11.1(超算网关) 2.vim /etc/sysconfig/network-scripts/

20条IPTables防火墙规则用法!

导读 管理网络流量是系统管理员必需处理的最棘手工作之一,我们必需规定连接系统的用户满足防火墙的传入和传出要求,以最大限度保证系统免受攻击.很多用户把 Linux 中的 IPTables 当成一个防火墙,从严格意见上来说 IPTables 只是能够帮助管理员定义各种规则并与 Linux Kernel 进行沟通的一个命令行工具.它只是帮助管理员配置网络流量的传入.传出规则列表,具体的实现其实是在 Linux 内核当中. IPTables 包括一组内置和由用户定义规则的「链」,管理员可以在「链」上附加

iptables防火墙之主机型

iptables防火墙本身是不防火的,是靠其中的规则判断数据是丢弃还是放行,而这些规则就存放在iptables的四表五链中. iptables四表五链 四表 filter(过滤数据包):INPUT,OUTPUT,FORWARD nat(地址转换):PREROUTING,POSTOUTING,OUTPUT mangle表(拆开,修改,封装数据):五个链全部包含 raw(状态追踪):PREROUTING,OUTPUT 五链(根据数据报文的流向,判断报文放在那里) INPUT:到本机内部来的数据 OU