LINUX用NAT实现IP地址映射
- 格式:doc
- 大小:22.50 KB
- 文档页数:5
linux内核NAT配置介绍1.开启ipv4转发方法1:把etc/sysctl.conf中的net.ipv4.ip.forward=0后面的0改为1(长期有效)方法2:输入:echo1>/proc/sys/net/ipv4/ip_forward(短期有效,重启后需重新配置)2.配置nat表(假设要在接口eth0上开启SNAT功能,eth0的ip 为192.168.1.34)2.1匹配源ipiptables-t nat-A POSTROUTING-s192.168.10.54-o eth0-j SNAT--to192.168.1.34功能:匹配eth0接口上源ip为192.168.10.54的报文,对其进行nat映射,将源ip替换为192.168.1.342.2匹配源网段iptables-t nat-A POSTROUTING-s192.168.10.54/24-o eth0-j SNAT--to192.168.1.34功能:匹配eth0接口上源网段192.168.10.54/24的报文,对其进行nat映射,将源ip替换为192.168.1.342.3匹配源端口iptables-t nat-A POSTROUTING-p udp--dport53-o eth0-j SNAT--to192.168.1.34功能:匹配eth0接口上目的端口为53的udp报文,对其进行nat映射,将源ip替换为192.168.1.34iptables-t nat-A POSTROUTING-p tcp--dport53-o eth0-j SNAT--to192.168.1.34功能:匹配eth0接口上目的端口为53的tcp报文,对其进行nat 映射,将源ip替换为192.168.1.342.4匹配源端口+源ipiptables-t nat-A POSTROUTING-s192.168.10.54-p udp--dport53-o eth0-j SNAT--to 192.168.1.34功能:匹配eth0接口上目的端口为53、源ip为192.168.10.54的udp报文,对其进行nat 映射,将源ip替换为192.168.1.34 iptables-t nat-A POSTROUTING-s192.168.10.54-p tcp--dport53-o eth0-j SNAT--to 192.168.1.34功能:匹配eth0接口上目的端口为53、源ip为192.168.10.54的tcp报文,对其进行nat 映射,将源ip替换为192.168.1.342.5匹配DNATiptables-t nat-A PREROUTING-i eth1-d!192.168.100.1-p udp--dport!53-j DNAT--to 192.168.100.1功能:将目的ip不是192.168.100.1且目的端口不是53的报文做NAT,目的ip替换为192.168.100.13.查看nat规则iptables-t nat-L4.删除nat规则4.1删除一条nat规则iptables-t nat-D POSTROUTING-s192.168.1.54-o eth0-j SNAT--to192.168.1.344.2删除所有nat规则iptables-t nat-F5.NAT表说明nat表的三个链:1.PREROUTING:定义进行DNAT的规则,因为路由器进行路由时只检查数据包的目的ip 地址,所以为了使数据包得以正确路由,我们必须在路由之前就进行DNAT;2.POSTROUTING:定义进行SNAT的规则,系统在决定了数据包的路由以后在执行该链中的规则。
如何在Linux操作系统中保护网络IP地址Linux操作系统是一种广泛应用于服务器和网络设备的开源操作系统。
对于网络管理员来说,保护网络IP地址是非常重要的,因为IP地址是网络通信的基础。
本文将详细介绍如何在Linux操作系统中保护网络IP地址的方法和技巧。
在以下内容中,我们将探讨IP地址保护的重要性,以及针对不同情况下的具体操作步骤。
1. 开启防火墙防火墙是保护网络IP地址的第一道防线。
Linux操作系统提供了多个防火墙工具,如iptables或firewalld。
通过配置防火墙规则,可以限制谁可以访问服务器,并允许或拒绝特定的网络连接。
2. 使用网络地址转换(NAT)网络地址转换(NAT)技术是一种将一个或多个私有IP地址映射到公共IP地址的方法。
这种技术在保护网络IP地址方面非常有用,因为它隐藏了网络的真实IP地址。
通过使用NAT,网络管理员可以将私有IP 地址与公共IP地址之间建立起映射关系,从而保护内部网络的真实IP地址。
3. 使用虚拟专用网络(VPN)虚拟专用网络(VPN)是一种用于创建私密和加密网络连接的技术。
通过在Linux操作系统上配置VPN,网络管理员可以为远程用户提供一个安全的通信渠道,并保护网络IP地址的隐私性。
VPN通过加密通信数据以及在两个网络之间建立安全隧道来提供保护。
4. 更新和保护操作系统保持操作系统及其相关软件更新是保护网络IP地址的关键步骤。
及时安装操作系统和软件的最新安全补丁,可以修复已知漏洞并防止潜在的攻击。
此外,使用强大的防病毒和防恶意软件工具,可以帮助检测和阻止有害的网络活动。
5. 使用强密码和身份验证使用强密码和多因素身份验证对于保护网络IP地址非常重要。
确保所有服务器和网络设备都使用复杂的密码,并定期更改密码。
另外,考虑使用多因素身份验证,如指纹识别或令牌,以增加网络安全性。
6. 设立网络监控和入侵检测系统配置网络监控和入侵检测系统可以实时监视网络活动,及时发现和应对潜在的威胁。
利用NAT实现外网主机访问内网服务器要点NAT(Network Address Translation)是一种网络协议,它允许将一个或多个私有IP地址映射到一个公共IP地址。
利用NAT来实现外网主机访问内网服务器可以采取如下要点:1.配置NAT设备:在网络中的边界设备(如路由器、防火墙等)上配置NAT规则,将外部IP地址映射到内部服务器的IP地址。
这可以通过在NAT设备上创建端口映射、地址映射或绑定多个公共IP地址来实现。
2.设置端口映射:为了实现外网主机访问内网服务器,需要将NAT设备上的外部端口映射到内部服务器的特定端口上。
这可以通过在NAT设备上创建端口映射规则来实现。
例如,将外部IP地址的80端口映射到内部服务器的80端口,使得外网主机可以通过访问公共IP地址的80端口来访问内网服务器。
3.配置防火墙规则:为了确保访问的安全性,需要在NAT设备上配置防火墙规则,限制外网主机对内网服务器的访问。
可以根据需要限制访问的源IP地址、端口等。
这样可以防止未经授权的外部主机访问内部服务器。
4.动态DNS:如果内网服务器的IP地址是动态分配的,则需要使用动态DNS服务来保证外网主机可以通过域名访问内网服务器。
动态DNS服务会将内网服务器的IP地址与域名进行绑定,并定期更新IP地址,使得外网主机可以根据域名找到内网服务器。
5.VPN隧道:如果安全性要求较高,可以考虑通过建立VPN隧道来实现外网主机访问内网服务器。
VPN隧道可以提供加密和身份验证等功能,确保通信的安全性。
在此配置下,外网主机需要先建立VPN连接,然后才能访问内网服务器。
6.网络地址转换:在进行NAT配置时,需要确保内网服务器的IP地址与外网主机所在的网络地址不发生冲突。
可以通过使用私有IP地址范围(如10.0.0.0/8、172.16.0.0/12、192.168.0.0/16)来避免地址冲突。
此外,还需确保NAT设备能够正确转换内外网地址。
linux nat实现方式在Linux系统中,Network Address Translation(网络地址转换)是一种常用的网络技术,它允许将内部网络中的私有IP地址与外部网络中的公有IP地址进行映射。
通过NAT,内部网络中的主机可以与外部网络进行通信,而外部网络无法直接访问内部网络中的主机。
实现NAT的方式有多种,其中一种常见的方式是使用iptables命令。
iptables是Linux系统中的一个工具集,用于配置Linux内核的网络层防火墙规则。
要实现NAT,首先需要配置iptables的转发规则。
可以通过以下命令来配置转发规则:```iptables -t nat -A POSTROUTING -o 外部网络接口 -j MASQUERADE```其中,外部网络接口指的是连接到外部网络的网络接口,例如eth0。
这条规则的作用是将从内部网络发出的数据包的源IP地址替换为外部网络接口的IP地址,从而实现地址转换。
除了配置转发规则,还需要配置iptables的过滤规则,以允许内部网络中的主机与外部网络进行通信。
可以使用以下命令来配置过滤规则:```iptables -A FORWARD -i 内部网络接口 -o 外部网络接口 -j ACCEPT iptables -A FORWARD -i 外部网络接口-o 内部网络接口-m state --state RELATED,ESTABLISHED -j ACCEPT```其中,内部网络接口指的是连接到内部网络的网络接口,例如eth1。
第一条规则的作用是允许从内部网络到外部网络的数据包通过,第二条规则的作用是允许从外部网络到内部网络的已建立或相关的数据包通过。
在配置完iptables规则后,还需要开启IP转发功能,以使Linux系统能够实现NAT。
可以通过修改/sys文件系统中的配置文件来开启IP转发功能:```echo 1 > /proc/sys/net/ipv4/ip_forward```这样,就完成了Linux系统中NAT的实现。
利用路由器NAT实现端口地址映射NAT(网络地址转换)是一种网络通信技术,通过将私有IP地址转换成公共IP地址来实现多个内部网络设备与外部网络的通信。
而端口地址映射是NAT的一种应用,它允许在一个公网IP地址下,通过不同的端口号来映射并访问多个内部网络设备。
在NAT中,路由器充当转发和地址转换的角色,它负责将内部设备的IP地址和端口号转换成公共IP地址和端口号,以实现与外部网络的通信。
端口地址映射的原理如下:1.NAT路由器会维护一个转发表,记录每个内部设备的IP地址和端口号与公共IP地址和端口号之间的映射关系。
2.当内部设备向外部网络发送数据时,NAT路由器会修改源IP地址和端口号,将其替换成转发表中对应的公共IP地址和端口号。
3.外部网络返回的数据包到达NAT路由器时,路由器会根据目标IP地址和端口号查找转发表,将数据包转发到相应的内部设备。
端口地址映射的实现步骤如下:1.配置路由器的NAT功能,开启端口地址映射。
2.在转发表中添加映射规则,将内部设备的IP地址和端口号与公共IP地址和端口号进行绑定。
3.当内部设备需要与外部网络通信时,NAT路由器会自动将数据包转发到正确的内部设备。
使用端口地址映射的好处如下:1.节省IP地址资源:由于IPv4地址资源的有限性,使用NAT技术可以将多个内部设备通过同一个公共IP地址进行通信,从而节省了IP地址资源。
2.提高网络安全性:通过端口地址映射,内部设备的真实IP地址被隐藏,可以有效防止外部网络对内部设备的攻击。
3.方便内部网络扩展:当内部网络需要添加新的设备时,只需将新设备的IP地址和端口号配置到NAT路由器的转发表,无需更改公共IP地址。
然而,端口地址映射也存在一些限制和问题:1.服务器难以访问:由于内部设备的IP地址被转换成公共IP地址,因此内部设备需要提供服务时,外部网络只能通过访问公共IP地址和端口号来访问,这给服务器的部署和管理带来了一定的困难。
netfilter 机制netfilter 是Linux 操作系统中用于实现网络数据包过滤和修改的核心机制。
本文将介绍netfilter 机制的基本原理和功能,以及它在网络安全和网络管理中的应用。
netfilter 是Linux 内核中的一个网络数据包处理框架,它允许用户空间程序通过注册钩子函数来拦截、过滤和修改网络数据包。
netfilter 的核心组件是iptables,它是一个用户空间的命令行工具,用于配置netfilter 规则。
iptables 可以根据网络数据包的源IP地址、目标IP地址、协议类型、端口等信息来过滤和处理数据包。
netfilter 的工作原理是将网络数据包交给注册的钩子函数进行处理。
钩子函数根据预先设定的规则来判断数据包的命运,可以选择将数据包丢弃、修改数据包的目标地址或端口,或者将数据包传递给下一个钩子函数。
钩子函数的执行顺序由netfilter 链决定,每个链都包含多个钩子函数,钩子函数按照预定的顺序执行。
netfilter 提供了多个预定义的链,包括INPUT、FORWARD 和OUTPUT 等链。
INPUT 链用于处理目标地址是本机的数据包,FORWARD 链用于处理转发的数据包,OUTPUT 链用于处理源地址是本机的数据包。
用户可以在这些链上注册自定义的钩子函数,实现特定的数据包处理逻辑。
netfilter 还支持使用扩展模块来增加更多的功能。
扩展模块可以提供额外的匹配条件和动作,使用户能够更灵活地配置netfilter 规则。
常用的扩展模块包括 conntrack、nat 和 mangle 等。
netfilter 在网络安全中扮演着重要的角色。
通过配置适当的规则,可以实现防火墙功能,对不符合规则的数据包进行过滤,从而保护网络安全。
例如,可以配置规则来禁止特定的IP地址访问某个端口,或者限制某个服务的连接数。
netfilter 还可以用于网络管理。
通过配置规则,可以实现网络地址转换(NAT)功能,将内部网络的私有IP地址映射为公共IP地址,从而实现内网和外网的通信。
[思科网络技术]利用路由器NAT实现端口地址映射假设现在企业内部有文件、邮件服务器等等。
而企业还希望这些服务器能够被外部网络的用户访问。
如企业可能在异地有一个销售办事处,或者有些员工经常需要出差。
为了方便他们的工作,就需要允许这些员工来访问企业内部的这些应用服务器。
但是现实情况是,大部分企业可能仅仅拥有一个到连个合法的IP地址。
而需要让外部用户能够访问企业内部的应用服务器,首要的一个条件就是企业有足够多数量的合法IP地址。
笔者这里要给大家介绍的是,如何通过路由器自带NA T功能,来实现一个合法IP地址同时绑定多台应用服务器。
一、选择合适的NA T类型NA T,又叫做网络地址类型转换,其主要有三种类型,分别为静态NAT、动态NAT与端口地址映射。
这里需要注意,这三种类型之间有很大的差异。
网络管理员在使用这个技术的时候,必须要了解它们之间的差异,然后结合企业的实际情况,选择合适的实现手段。
第一种类型是静态网络地址转换。
其主要的特点是一对一。
也就是说,这种类型的网络地址转换是为了在本地和全球地址之间进行一对一的映射而设计的。
这就要求网络中的每一台主机都有用一个真实的合法的IP地址。
结合上面这个案例,如果企业内部三台服务器都需要被外部用户访问的话,那么就需要至少三个IP地址。
显然这种方式并不能够达到节省IP地址的目的。
一般来说,静态NA T主要的目的是为了隐藏企业内部服务器的IP地址,以达到保护服务器的目的。
第二种类型是动态NA T。
这种类型的网络地址转换是将一个企业内部的IP地址与一个合法的IP地址进行映射。
虽然这也是一对一的关系,但是与静态NAT有很大的差别。
前者要求企业内部服务器也必须有一个公网IP地址。
而动态NAT则没有这个要求,即企业内部的服务器可以采用内部地址。
不过此时一个公网IP地址也只能够解决一台内部服务器的访问问题。
这与我们上面提到的需求还是有一定的差异。
第三种类型是端口地址映射。
端口地址映射在动态NAT上又进了一步。
nat的工作原理及实现方式一、引言网络地址转换(Network Address Translation,简称NAT)是一种在IP网络中广泛应用的技术,它的主要作用是解决IPv4地址不足的问题。
在互联网发展初期,IPv4地址资源有限,而NAT技术可以通过将私有地址转换为公共地址来解决这个问题。
本文将介绍NAT 的工作原理及实现方式。
二、NAT的工作原理1. 私有地址与公共地址私有地址是指在内部网络中使用的IP地址,它们在全球范围内是唯一的。
而公共地址是可以在互联网上全局唯一标识一台设备的IP地址。
由于私有地址无法直接在互联网上进行路由,因此需要通过NAT技术将其转换为公共地址,才能与外部网络进行通信。
2. NAT表NAT在实现地址转换时使用了一个NAT表来记录私有地址与公共地址的映射关系。
NAT表中的每一项都包含私有地址、私有端口、公共地址和公共端口等信息。
当内部网络中的主机发送数据包到外部网络时,NAT会根据NAT表中的映射关系,将私有地址与端口转换为公共地址与端口,并在数据包中进行相应的修改。
3. 数据包转换当内部网络中的主机发送数据包到外部网络时,NAT会对数据包进行修改,将源IP地址和端口修改为公共地址和端口,同时修改目标IP地址和端口为外部服务器的地址和端口。
这样,数据包就能够在互联网上进行路由传输了。
当外部网络返回响应数据包时,NAT会根据NAT表中的映射关系,将目标IP地址和端口转换回私有地址和端口,然后将响应数据包发送给内部网络中的主机。
4. 网络地址转换类型根据不同的转换需求,NAT可以分为以下几种类型:- 静态NAT:将内部网络中的私有地址映射为固定的公共地址,一对一的映射关系。
静态NAT适用于需要对外提供服务的服务器。
- 动态NAT:将内部网络中的私有地址映射为一组可用的公共地址,实现多对一的映射关系。
动态NAT适用于内部网络中有多台主机需要与外部网络通信的情况。
- PAT(端口地址转换):除了进行IP地址转换外,还会进行端口转换。
用NAT实现IP地址映射
2008年11月11日星期二 11:54 A.M.
一、概述
1. 什么是NAT
在传统的标准的TCP/IP通
信过程中,所有的路由器仅仅是充当一个中间人的角色,也就是通常所说的存储转发,路由器并不会对转发的数据包进行修改,更为确切的说,除了将源MAC地址换成自己的MAC
地址以外,路由器不会对转发的数据包做任何修改。
NAT(Network AddressTranslation网络地址翻译)恰恰是出于某种特殊需要而对数据包的源ip地址、目的ip地址、源端口、目的端口进行改写的操作。
2. 为什么要进行NAT
我们来看看再什么情况下我们需要做NAT。
假设有一家ISP提供园区Internet接入服务,为了方便管理,该ISP分配给园区用户的IP地址都是伪IP,但是部分用户要求建立自己的WWW 服务器对外发布信息,这时候我们就可以通过NAT来提供这种服务了。
我们可以在防火墙的外部网卡上绑定多个合法IP地址,然后通过NAT技术使发给其中某一个IP地址的包转发至内部某一用户的WWW服务器上,然后再将该内部WWW服务器响应包伪装成该合法IP发出的包。
再比如使用拨号上网的网吧,因为只有一个合法的IP地址,必须采用某种手段让其他机器也可以上网,通常是采用代理服务器的方式,但是代理服务器,尤其是应用层代理服务器,只能支持有限的协议,如果过了一段时间后又有新的服务出来,则只能等待代理服务器支持该新应用的升级版本。
如果采用NAT来解决这个问题,因为只在应用层以下进行处理,不但可以获得很高的访问速度,而且可以无缝的支持任何新的服务或应用。
还有一个方面的应用就是重定向,也就是当接收到一个包后,不是转发这个包,而是将其重定向到系统上的某一个应用程序。
最常见的应用就是和squid配合使用成为透明代理,在对http流量进行缓存的同时,可以提供对Internet的无缝访问。
3. NAT的类型
在linux2.4的NAT-HOWTO中,作者从原理的角度将NAT分成了两种类型,即源NAT(SNAT)和目的NAT(DNAT),顾名思义,所谓SNAT就是改变转发数据包的源地址,所谓DNAT就是改变转发数据包的目的地址。
二、原理
在“用iptales实现包过虑型防火墙”一文中我们说过,netfilter是Linux核心中一个通用架构,它提供了一系列的"表"(tables),每个表由若干"链"(chains)组成,而每条链中可以有一条或数条规则(rule)组成。
并且系统缺省的表是"filter"。
但是在使用NAT的时候,我们所使用的表不再是"filter",而是"nat"表,所以我们必须使用"-t nat"选项来显式地指明这一点。
因为系统缺省的表是"filter",所以在使用filter功能时,我们没有必要显式的指明"-t filter"。
同filter表一样,nat表也有三条缺省的"链"(chains),这三条链也是规则的容器,它们分别是:PREROUTING:可以在这里定义进行目的NAT的规则,因为路由器进
行路由时只检查数据包的目的ip地址,所以为了使数据包得以正确路由,我们必须在路由之前就进行目的NAT;
POSTROUTING:可以在这里定义进行源NAT的规则,系统在决定了数据包的路由以后在执行该链中的规则。
OUTPUT:定义对本地产生的数据包的目的NAT规则。
三、操作语法
如前所述,在使用iptables的NAT功能时,我们必须在每一条规则中使用"-t nat"显示的指明使用nat表。
然后使用以下的选项:
1.对规则的操作
加入(append) 一个新规则到一个链 (-A)的最后。
在链内某个位置插入(insert) 一个新规则(-I),通常是插在最前面。
在链内某个位置替换(replace) 一条规则 (-R)。
在链内某个位置删除(delete) 一条规则 (-D)。
删除(delete) 链内第一条规则 (-D)。
2.指定源地址和目的地址
通过--source/--src/-s来指定源地址(这里的/表示或者的意思,下同),通过
--destination/--dst/-s来指定目的地址。
可以使用以下四中方法来指定ip地址:
a. 使用完整的域名,如“;
b. 使用ip地址,如“;
c. 用,如“;
d.用,如“,这是UNIX环境中通常使用的表示方法。
缺省的子网掩码数是32,也就是说指定,对于PREROUTING链,我们只能用-i指定进来的网络接口;而对于POSTROUTING和OUTPUT我们只能用-o指定出去的网络接口。
3.指定协议及端口
可以通过--protocol/-p选项来指定协议,如果是udp和tcp协议,还可
--source-port/--sport和--destination-port/--dport来指明端口。
四、准备工作
1. 编译内核,编译时选中以下选项,具体可参看“用iptales实现包过虑型防火墙”一文:
<M> Full NAT
<M> MASQUERADE target support
<M> REDIRECT target support
2. 要使用NAT表时,必须首先载入相关模块:
modprobe ip_tables
modprobe ip_nat_ftp
iptable_nat 模块会在运行时自动载入。
五、使用实例
1. 源NAT(SNAT)
比如,更改所有来自
iptables -t nat -A POSTROUTING -s -o eth0 -j SNAT--to
这里需要注意的是,系统在路由及过虑等处理直到数据包要被送出时才进行SNAT。
有一种SNAT的特殊情况是ip欺骗,也就是所谓的Masquerading,通常建议在使用拨号上网的时候使用,或者说在合法ip地址不固定的情况下使用。
比如:
# iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
可以看出,这时候我们没有必要显式的指定源ip地址等信息。
2. 目的SNAT(DNAT)
比如,更改所有来自
iptables -t nat -A PREROUTING -s -i eth1 -j DNAT --to
这里需要注意的是,系统是先进行DNAT,然后才进行路由及过虑等操作。
有一种DNAT的特殊情况是重定向,也就是所谓的Redirection,这时候就相当于将符合条件的数据包的目的ip地址改为数据包进入系统时的网络接口的ip地址。
通常是在与squid 配置形成透明代理时使用,假设squid的监听端口是3128,我们可以通过以下语句来将来自,目的端口为80的数据包重定向到squid监听端口:
iptables -t nat -A PREROUTING -i eth1 -p tcp -s --dport 80 -j REDIRECT --to-port 3128
六、综合例子
1. 使用拨号带动局域网上网
小型企业、网吧等多使用拨号网络上网,通常可能使用代理,但是考虑到成本、对协议的支持等因素,建议使用ip欺骗方式带动区域网上网。
成功升级内核后安装iptables,然后执行以下脚本:
#载入相关模块
modprobe ip_tables
modprobe ip_nat_ftp
#进行ip伪装
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
2. ip映射
假设有一家ISP提供园区Internet接入服务,为了方便管理,该ISP分配给园区用户的IP地址都是伪IP,但是部分用户要求建立自己的WWW服务器对外发布信息。
我们可以再防火墙的外部网卡上绑定多个合法IP地址,然后通过ip映射使发给其中某一个IP地址的包转发至内部某一用户的WWW服务器上,然后再将该内部WWW服务器响应包伪装成该合法IP发出的包。
我们假设以下情景:
该ISP分配给A单位www服务器的ip为:
伪ip:
真实ip:
该ISP分配给B单位www服务器的ip为:
伪ip:
真实ip:
linux防火墙的ip地址分别为:
内网接口eth1:
外网接口eth0:
然后我们将分配给A、B单位的真实ip绑定到防火墙的外网接口,以root权限执行以下命令:
ifconfig eth0 add netmask
ifconfig eth0 add netmask
成功升级内核后安装iptables,然后执行以下脚本:
#载入相关模块
modprobe ip_tables
modprobe ip_nat_ftp
首先,对防火墙接收到的目的ip为
iptables -A PREROUTING -i eth0 -d -j DNAT --to
iptables -A PREROUTING -i eth0 -d -j DNAT --to
其次,对防火墙接收到的源ip地址为
iptables -A POSTROUTING -o eth0 -s -j SNAT --to
iptables -A POSTROUTING -o eth0 -s -j SNAT --to
这样,所有目的ip为;而所有来自,从而也就实现了ip映射。