科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航



ZDNet>网络频道>ZD评测>江湖小虾关于NAT的实验报告

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

对外网用户而言,你的防火墙如果不接受主动连接,麻烦大了:标准模式 FTP 客户端无法在此环境中运行,因为 FTP 服务器必须向 FTP 客户端发出新的连接请求。

来源:Vlan9 2008年06月10日

关键字:什么是nat 网络地址转换 NAT

  环境:

  ADSL---NAT(2000)----PC

  NAT外网IP:219.154.214.150

  NAT内网IP:10.41.221.2 255.255.255.0

  PC:10.41.222.6 255.255.255.0 DG10.41.221.2

  如果直接用这样的设置,PC不能上网,不能PING10.41.221.2

  但是,我用SNIFFER抓包发现,当PC请求时,NAT还是做了转发,而且得到了应答。发现了有趣的事:这个应答被转发,目的地址换成了10.41.222.6,是在外网卡上捕捉到的。

  忽然突发奇想:如果这个报文被PC得到是不是就可以建立连接呢?继续做实验,把网络结构改一下:

  ADSL----HUB----NAT、PC、

  NAT(2000)和PC都接HUB,其中NAT的内部和外部网卡都接HUB,这里注意,我没有捆绑TCP/IP中的NETBIOS。

  在PC上继续试图上网,不行,有点丧气,不过,仔细分析报文,发现问题出在:目的MAC不一致导致的!精神头又来了,立即修改PC的MAC为局端的MAC,重新启动计算机,用浏览器打开网页没有任何问题,上MSN也没有问题,有意思吧。此时PING10.41.221.2不能得到回应,这个好理解。

  显然发送报文走网关经过NAT后可以得到回音,而回应的报文再次被发送出去的时时候,同时被PC接受,通讯就建立了。

  有点没想通的是:如果不设置PC的网关,居然MSN依然在线,可以正常使用,而此时网页却无法打开了。请高手指教?

  进入论坛讨论。

  继续实验,这次是关于变长子网掩码的。环境依然是:

  ADSL---NAT(2000)----PC

  NAT外网IP:219.154.214.150

  NAT内网IP:10.41.221.2 255.255.255.0

  PC:10.41.221.200 DG10.41.221.2

  分别设置PC的MASK为255.255.0.0和255.255.25.192

  结果没什么新鲜。

  放大以后就有意思了:NAT内网IP:192.168.0.1不变,MASK改为 255.255.0.0

  PC的IP改为192.168.0.2,MASK改为255.255.255.0,这样的设置可以上网

  PC的IP改为192.168.1.2,MASK改为255.255.255.0,这样的设置也可以上网

  翻阅有关文章,一般都在NAT的内部网卡上设置多IP,比如:

  192.168.0.1/24

  192.168.1.1/24

  分别对应192.168.0.0/24和192168.1.0/24网段,做内部PC的网关,是不是有点多余呀,实验表明:只要设置NAT的内部网卡的MASK为255.255.0.0,那么,192.168.0.0/16下的机器设置网关为192.168.0.1就可以上网,我的NAT服务器的操作系统是2000SERVER。

  进入论坛讨论。

  继续实验,关于花生壳域名的.

  网络结构仍然是

  ADSL+NAT(2000)+HUB——PC1(10.41.221.6/24)

  |--------pc2(10.41.221.253/24)

  其中NAT外部IP:219.154.214.150,映射23到PC2的23端口

  NAT内部IP为10.41.221.2/24

  PC1的网关10.41.221.2,安装花生壳

  PC2提供TELNET服务23端口,没有在其上安装花生壳

  实验过程,在PC1上用超级终端连接PC2

  1 直接使用IP......................... 可以访问

  2 使用花生壳域名................... 不能访问

  抓到的报文分析:使用域名访问时,经过NAT后成功的返回了域名对应的IP219.154.214.150,接着PC1发出目标是219.154.214.150/端口23的数据报文,此时内部NAT网卡发出ICMP重定向报文,重定向指向PC2,PC2发出目标是PC1的呼应报文,而PC1没有接收该报文,因为自己并没有发送目标为PC2的报文,所以丢弃该报文,PC2也就得不到回答。通讯失败。以后PC1还有几次试图连接域名,但是PC2居然拒绝回任何报文,还不如第一次,好歹有个回应,PC2太痴情了。

  这个过程验证了“唐无敌”的分析:http://bbs.netbuddy.org/network/5384-40.html 。唐无敌在结尾部分有这样一段话:

  “如果服务器对A的响应包能够又返回防火墙的话,那么防火墙就能够通过状态表得知这是个响应而将响应包的源地址改成210.140.39.225,那么这个响应包再发回A的时候就是源地址210.140.39.225,目的地址192.168.0.2的响应包了。那么A就完成了和服务器的连接。 ”

  我还真想实现唐无敌的假设:

  动动网络结构:所有设备都接HUB

  假设把PC2的网关设置为10.41.221.2,而PC1的IP改为10.41.222.6,也许能实现唐无敌的设想,PC1发出到PC2的请求,可以获得IP,经过重定向后达到PC2,而PC2并不直接回复PC1,因为不在一个网段,于是发到网关,NAT转发,而PC1由于同“上级”网关(外网网关)同MAC,于是可以得到报文,于是就建立连接了。

  对Linux做的NAT实现同一更简单

  修改NAT规则,增加这样一行就可以了:

  iptables -A POSTROUTING -s 10.41.221.0/255.255.255.0 -d 10.41.221.253 -p tcp -m tcp --dport 80 \

  -j SNAT --to-source 10.41.221.2

  继续实验:‘两权分立’的FTP工作模式

  工作环境:

  ADSL---(219.154.214.150)NAT(10.41.221.2)-----PC(10.41.221.6/FTP SERVER)

  1、映射21端口到PC,PC安装FTP服务serv-u,用serv-u是因为他可以方便的设置FTP的两种工作模式。外网发起连接为例。

  PORT方式 能连接,不能列目录

  PASV方式 能连接,不能列目录

  分析:FTP 支持两种模式。这两种模式被称为“标准”(或 PORT,或“主动”)和“被动”(或 PASV)。“标准”模式 FTP 客户端会向 FTP 服务器发送PORT 命令。“被动”模式客户端会向 FTP 服务器发送PASV 命令。这些命令是在建立 FTP 会话时通过 FTP 命令通道进行发送的。

  2种模式 FTP 客户端都要建立一个到 FTP 服务器上 TCP 端口 21 的连接。客户选择大于1024的端口发起连接,此连接会建立 FTP 命令通道。不能列目录是因为FTP使用不同的通道来传递数据,这也是FTP不同于HTTP服务的地方,HTTP需要一条通道就可以 了

  2、再映射20端口到PC,serv-u默认的方式就是PORT方式。

  PORT方式 能连接、也能列目录、能下载文件

  PASV方式 能连接、不能列目录下载文件

  分析:PORT方式:当 FTP 客户端需要接收数据(如文件夹列表或者文件)时,客户端就会通过FTP 命令通道发送PORT 命令。此PORT 命令包含了 FTP 客户端在哪个端口(比如3328)上接收数据的相关信息。接下来,PC从 TCP 端口 20发起到3328用户端口的连接 ,而这是一个新的连接,也许客户端防火墙会拦截。可以看出是服务器用20端口“主动”连接客户指定的端口,所以PORT方式也叫主动方式。该模式下有2个特点:

  1 客户是动态的端口,而服务器使用的是固定端口20,而且是服务器发起主动新连接。

  2 在FTP客户连接服务器的整个过程中,控制信道是一直保持连接的,而数据传输通道是临时建立的。

  PASV方式不能到达是因为PASV要求服务器用动态的端口来连接,而这个端口一般在1024-5000之间,而且是用户发起连接,虽然PC开了此端口等待连接,但是NAT并没有映射这么多端口,所以通讯中断。

  3 关闭20端口映射,再映射10001-10004到PC

  PORT方式 能连接、不能列目录、不能下载文件

  PASV方式 能连接、 不能列目录 、不能下载文件

  serv-u很帅,在设置(高级)选项中设置10001-10004,然后启动被动模式,这样就可以建立连接了。

  分析:

  以前也做过这个实验,发现有个理解不全面的的地方,原因是他直接在可以见面的2台计算机上做的实验,而我把他们用NAT分开来做,更能看出问题。

  问题出在所谓的“协商过程”,原文是这样的:

  “发送PASV指令,在这个指令中,用户告诉服务器自己要连接服务器的某一个端口,如果这个服务器上的这个端口是空闲的可用的,那么服务器会返回ACK的确认信息,之后数据传输通道被建立并返回用户所要的信息(根据用户发送的指令,如ls、dir、get等);如果服务器的这个端口被另一个资源所使用,那么服务器返回UNACK的信息,那么这时,FTP客户会再次发送PASV命令,这也就是所谓的连接建立的协商过程”

  其实我抓到的报文是这样的:

  1 serv-u在设置PASV方式是可以指定端口,而且端口被立即启动到监听状态,比如我设置是10001-10004,可以用有关软件“看到”这些端口已经被置为监听。

  2 当客户端通过该命令通道发送PASV 命令时,FTP 服务器会打开一个短暂的端口,并通知 FTP 客户端从该端口请求数据传输,而不是协商解决。FTP 服务器通过将该短暂端口用作,数据传输的源端口来对该请求作出响应。显然,这个连接是由用户发起的,过也叫被动方式。

  3 在FTP客户连接服务器的整个过程中,控制信道是一直保持连接的,而数据传输通道是临时建立的。

  4 端口在1024-5000之间,不要大于5000,为什么呀,我也不知道,因为我设置5000以上就不能建立TCP连接,实际是这样理论我也不知道。

  我没有用其它软件做FTP服务器,不能确定是否有协商过程,如果FTP这么弱智,那要协商到什么时候,不如直接告诉客户不就行了。

  缺点是端口有限,如果多个用户同时连接,这几个端口是不够的。

  4 解决PASV模式不能传数据的问题的办法:

  不能传数据的问题出在:服务器向客户端传送了IP。当FTP客户端登录进入服务器的时候,PASV模式服务器会向客户端传送本机的IP地址和数据端口,当服务器放在内网中的时候,服务器会向客户端返回内网的IP,这当然是不能完成连接的,需要让服务器返回外网的地址。

  serv-u真的很帅,就是serv-u本身具有返回外网地址这样的功能,方法是先选中新建FTP服务器的属性,在domain标签里选择“enable dynamic dns”,此时会出现第二个标签,叫“dynamic dns”,然后到tz0.com申请动态域名,申请后会得到一个key,在此标签中填入此key即可。最后一步,是到新建服务器的settings属性中,选择advanced标签,选中“allow passive mode data transfer”,旁边的IP地址框留空。这个框对于拨号用户不用填,只有出口使用固定地址才需要填。

  总结:采用什么方式是由用户决定的,而主动和被动之说是相对服务器而言。在FTP客户连接服务器的整个过程中,控制信道是一直保持连接的,而数据传输通道是临时建立的。主动方式下是服务器以20端口发起连接,而被动方式下服务器告诉客户一个动态端口,由客户发起连接。如果你使用FTP客户端程序是只能登录不能传数据,不妨换一种工作模式,当然需要服务器支持。

  关于防火墙

  对外网用户而言,你的防火墙如果不接受主动连接,麻烦大了:标准模式 FTP 客户端无法在此环境中运行,因为 FTP 服务器必须向 FTP 客户端发出新的连接请求。

  对服务器而言,防火墙管理员可能不希望使用 PASV FTP 服务器,因为 FTP 服务器可以打开任何短暂端口号,如果防火墙配置允许未经请求的连接完全访问所有的短暂端口,则可能会是不安全的。

  小技巧,IE默认使用主动方式发起连接,要想使用被动方式,需要设置

  IE-工具-Internet 选项-高级

  在浏览下面,单击“为 FTP 站点启用文件夹视图”复选框,将其清除。

  单击“使用被动 FTP(为防火墙和 DSL 调制解调器兼容性)”复选框,将其选中。

  单击确定。

  如果选中了“为 FTP 站点启用文件夹视图”复选框,Internet Explorer 的表现就会像“标准”

  模式 FTP 客户端一样,即使您还选中了“使用被动 FTP”复选框也是如此。如果您清除了“为FTP 站点启用文件夹视图”复选框,然后选中“使用被动 FTP”复选框,Internet Explorer 的表现就会像“被动”模式 FTP 客户端一样。

  进入论坛讨论。

  继续实验:简单分析QQ登陆方式

  1,关闭DNS之后

  在NAT上关闭DUP53端口出站后QQ依然能登录服务器,这也是有些用户判断DNS解析是否正常的一种手段,显示服务器地址是218.18.95.221

  二、QQ3种登录方式

  新版QQ不仅仅通过UDP方式登录服务器,还能够以TCP方式登录。本文利用SNIFFER PRO工具监视QQ登录全过程,为了让大家更好的理解QQ登录过程,抓包过程结合防火墙技术,每出现一种登录方式先抓取报文,然后用防火墙关闭该通道,这样QQ就会自动选择其它方式试图登录服务器,反复如此就可以弄清楚QQ所有登录方式和QQ服务器的地址及端口。

  1 登录速度最快的UDP方式

  报文中61.53.187.229是本地IP地址,219.157.70.130是ISP的DNS服务器IP地址。从报文中可以看到QQ 首先发出7个DNS解析请求,并且顺利获得了相应IP:

  sz.tencent.com 61.144.238.145

  sz2.tencent.com 61.144.238.146

  sz3.tencent.com 202.104.129.251

  sz4.tencent.com 202.104.129.254

  sz5.tencent.com 61.141.194.203

  sz6.tencent.com 202.104.129.252

  sz7.tencent.com 202.104.129.253

  以上IP也可以通过PING 域名的方法得到。接着,QQ向这7个服务器中的3个发送UDP数据包,它们是发送到

  202.104.129.254 的 UDP 数据包

  202.104.129.252 的 UDP 数据包

  61.144.238.146 的 UDP 数据包

  如果服务器在5秒中没有回应,就发如下UDP数据包

  202.104.129.251 的 UDP 数据包,

  61.141.194.203 的 UDP 数据包,

  61.144.238.145 的 UDP 数据包,

  再过5秒后发送到 202.104.129.253 的 UDP 数据包

  在此过程中如果服务器有回复,QQ选择回复速度最快的一个作为连接服务器,图QQ1中显示分别得到了SZ4/SZ7/SZ6.tencent.com的回应,QQ选择SZ4.tencent.com作为登录服务器。。通过分析可以知道,如果防火墙不允许QQ走UDP方式,那么QQ至少需要10秒才能登录服务器。图QQ1报文清晰的显示本地端口是4000,目的端口是8000。为了以后的实验,这里设置防火墙拦截发往以上7个IP地址的8000端口的UDP数据包。拦截后再也没有发现新的UDP服务器地址。

  2 通过80端口的TCP方式

  防火墙拦截UDP数据包后,QQ登录服务器的报文。从图中可以看出几点变化:

  域名   从类似sz?.tencent.com 改为tcpconn?.tencent.com

  协议   不再是UDP而是TCP

  端口   目标端口80,本地端口1042(不固定1024-65534)

  80端口是HTTP协议默认的端口,浏览网页一般都是走80端口,许多防火墙允许用户浏览网页,所以80端口获准允许通过。tcpconn.tencent.com域名对应的IP是218.17.209.23,继续做实验,发现如下域名与IP对应关系:

  tcpconn.tencent.com 218.17.209.23

  tcpconn3.tencent.com 218.17.209.23

  tcpconn2.tencent.com 218.18.95.153

  tcpconn4.tencent.com 218.18.95.153

  虽然有4个域名,但是只有2个服务器IP。

  3 通过443端口的TCP方式

  继续实验,用防火墙拦截上面提到的服务器80端口通道,继续探索QQ的登录方式。

  QQ是通过TCP协议连接到服务器的443端口,443是HHTPS协议的默认端口,HTTPS也是提供用户网页浏览服务的,不过是加密了。

  图QQ3中看到的QQ服务器IP是218.18.95.153,实验中还发现218.17.209.23也可以提供服务。反复实验只发现这两个IP地址。

  ,把实验环境换到WINDOWS 2000做NAT方式下的网络中,防火墙安装在服务器上,封堵上面提到的IP和相应端口。局域网内部所有QQ用户都无法登录服务器了。也可以把这些地址加入安全策略中的“IP安全策略”,并选择BLOCK通讯即能有效作到禁止LAN内用户登陆使用QQ。

  还有一类软件需要提一下,就是以MYIM为代表的兼容多种即时通信软件的聊天软件。MYIM可以在QQ卸载后独立运行,而且可以使用多个QQ帐号登录,是不是它的登录过程不同于QQ呢?实验中安装最新版的MYIM (版本:MyIM 1.0 Beta build 0225),防火墙成功的封堵了MYIM的登录,这也好理解,毕竟QQ服务器是相同的。

  4 用防火墙封QQ广告

  流行的木子版QQ客户端具备去广告功能,本文提供另外的方法,使用防火墙也可以达到禁止QQ广告的目的。用防火墙拦截所有来自下面网址的数据报文,QQ就无法访问服务器的广告网页了。这些地址是QQ成功登录后在QQ通讯过程中通过SNIFFER PRO抓到的。

  61.172.249.133

  61.172.249.134

  61.172.249.135

  218.17.217.105

  218.17.217.106

  219.133.40.154

  219.133.40.152

  219.133.40.153

  219.133.40.155

  219.133.40.15 qqshow-ufs.tencent.com

  219.133.40.157 qqring.clent.tencent.com

  不过,QQ仍然弹出系统消息等窗口也非常讨厌,找到QQ的安装目录(默认在C:\Program Files\Tencent\qq),把其中的可执行文件QQexternal.exe文件改名为QQexternalb.exe。再登录QQ就没有窗口弹出来了。以上实验在腾讯QQ2003III Build0117简体中文版下通过。

  5 关于QQ安装目录下的Config.db文件

  用记事本打开Config.db文件,发现跟上面提到的域名极为相似的域名:

  61.144.238.146:8000

  sz.tencent.com:8000

  sz2.tencent.com:8000

  sz3.tencent.com:8000

  sz4.tencent.com:8000

  sz5.tencent.com:8000

  sz6.tencent.com:8000

  sz7.tencent.com:8000

  tcpconn.tencent.com:80

  tcpconn2.tencent.com:80

  tcpconn3.tencent.com:80

  tcpconn4.tencent.com:80

  tcpconn2.tencent.com:80

  tcpconn3.tencent.com:80

  tcpconn4.tencent.com:80

  http2.tencent.com:80

  http.tencent.com:443

  也许这就是QQ记录服务器地址的文件,不过,最后两项用普通QQ帐号没有涉及到,根本就没有发起连接包。也许是收费用户的服务器吧,这里也提供出他们的IP地址:

  http.tencent.com 218.17.209.42

  http2.tencent.com 61.144.238.149

  结束语

  如果腾讯增加新的QQ服务器,QQ也还是可以登录的。另外,用第三方的代理软件如NEC E-BORDER等,支持Anonymous的Socks5代理还是可能绕过去,登陆使用QQ。

  进入论坛讨论。

  终结实验,温故知新,网关的作用

  在实验中,利用ping命令来检验主机间能否进行正常的双向通信。在“ping”的过程中,源主机向目标主机发送ICMP的Echo Request报文,目标主机收到后,向源主机发回ICMP的Echo Reply报文,从而可以验证源与目标主机能否进行正确的双向通信。

  A与B为实验用的PC机,使用Windows2000 Professional作操作系统。

  实验方案:

  步骤1:

  设置两台主机的IP地址与子网掩码:

  A: 10.2.2.2 255.255.254.0

  B: 10.2.3.3 255.255.254.0

  两台主机均不设置缺省网关。

  用arp -d命令清除两台主机上的ARP表,然后在A与B上分别用ping命令与对方通信,在A与B上分别显示,

  A: Reply from 10.2.3.3: bytes=32 time<10ms TTL=128

  B: Reply from 10.2.2.2: bytes=32 time<10ms TTL=128

  用arp -a命令可以在两台PC上分别看到对方的MAC地址。

  分析:由于主机将各自通信目标的IP地址与自己的子网掩码相“与”后,发现目标主机与自己均位于同一网段(10.2.2.0),因此通过ARP协议获得对方的MAC地址,从而实现在同一网段内网络设备间的双向通信。

  步骤2:

  将A的子网掩码改为:255.255.255.0,其他设置保持不变。

  操作1:用arp -d命令清除两台主机上的ARP表,然后在A上ping B,在A上显示结果为:Destination host unreachable

  用arp -a命令在两台PC上均不能看到对方的MAC地址。

  分析1:A将目标设备的IP地址(10.2.3.3)和自己的子网掩码(255.255.255.0)相“与”得10.2.3.0,和自己不在同一网段(A所在网段为:10.2.2.0),则A必须将该IP分组首先发向缺省网关。由于A的缺省网关没有配置,无法对分组进行正确发送,因此显示“目标主机不可到达”。

  操作2:接着在B上ping A,在B上显示结果为:Request timed out

  此时用arp -a命令可以在两台PC上分别看到对方的MAC地址。

  分析2:B将目标设备的IP地址(10.2.2.2)和自己的子网掩码(255.255.254.0)相“与”,发现目标主机与自己均位于同一网段(10.2.2.0),因此,B通过ARP协议获得A的MAC地址,并可以正确地向A发送Echo Request报文。但由于A不能向B正确地发回Echo Reply报文(原因见分析1),故B上显示ping的结果为“请求超时”。在该实验操作中,通过观察A与B的ARP表的变化,可以验证:在一次ARP的请求与响应过程中,通信双方就可以获知对方的MAC地址与IP地址的对应关系,并保存在各自的ARP表中。

  步骤3:

  在前面实验的基础上,把A的缺省网关设为:10.2.2.1,网关的子网掩码为:255.255.0.0。

  在A与B上分别用ping命令与对方通信,各自的显示结果为:

  A: Reply from 10.2.3.3: bytes=32 time<10ms TTL=128

  B: Reply from 10.2.2.2: bytes=32 time<10ms TTL=127

  在A与B上分别用tracert命令追踪数据的传输路径,结果分别为:

  A: tracert 10.2.3.3

  Tracing route to 10.2.3.3 over a maximum of 30 hops:

  1 <10 ms <10 ms <10 ms 10.2.2.1

  2 <10 ms <10 ms <10 ms 10.2.3.3

  Trace complete.

  B: tracert 10.2.2.2

  Tracing route to 10.2.2.2 over a maximum of 30 hops:

  1 <10 ms <10 ms <10 ms 10.2.2.2

  Trace complete.

  分析:如步骤2中的分析,由于A认为B与其不在同一个网段,故从A发向B的报文需要经过网关转发;而B认为A与其在同一个网段,故B不需要经过网关直接向A发送报文,从而可以观察到A与B双向通信时传输路径的不对称性。由于ping命令结果显示的是从目标主机返回的Echo Reply报文的TTL的值,而B收到从A返回的Echo Reply报文经过了网关的转发,所以在B中显示该IP报文的TTL值降为了127(从A发出的IP分组的TTL的初始值为128,每经过一个网关,TTL值减1)。

  步骤4:

  用arp -d命令清除A中的ARP表,在A上ping一台外网段的主机,如中大的WWW Server(202.116.64.8),再用arp -a可观察到A的ARP表中只有缺省网关的MAC地址信息。

  分析:当源主机要和外网段的主机进行通信时,它并不需要获取远程主机的MAC地址,而是把IP分组发向缺省网关,由网关IP分组的完成转发过程。如果源主机没有缺省网关MAC地址的缓存记录,则它会通过ARP协议获取网关的MAC地址,因此在A的ARP表中只观察到网关的MAC地址记录,而观察不到远程主机的MAC地址。

  步骤5:

  使用典型的NAT结构

  ADSL----NAT(10.41.221.2/24)-----PC

  在PC上做如下改变:

  网关:无网关/网关为自己/网关为未使用的本网段IP/网关为未使用的网段IP(10.42.22.10或/11.22.33.44)

  Y表示能通讯,N表是不能建立通讯

  改变MASK 内部 外部

  10.41.221.10/24/30/16 Y N

  10.41.222.10/8/24/16/25 N N

  网关为10.41.221.2/24

  改变MASK 内部 外部

  10.41.221.10/24/30/16 Y Y

  10.41.222.10/8/24/16/25 N N

  网关为10.41.221.2/255.255.0.0

  改变MASK 内部 外部

  10.41.221.10/24/30/16 Y Y

  10.41.222.10/8/16/24/25 Y Y

  以最后一个例子分析,当PC的MASK设置为8和24时,虽然它们都可以上网,但是走路的方式1却不同

  以8位做MASK时,10.41.222.10经过与运算认为10.41.221.2在一个网段,于是直接发起连接,经过NAT,回应的报文经过10.41.221.2时,它经过运算也认为PC在自己的网段,通讯就建立了。

  以24位做MASK时,PC10.41.222.10经过与运算认为10.41.221.2不在一个网段,于是发起ARP请求得到网关的MAC,并把报文发送给网关,经过NAT,回应的报文经过10.41.221.2时,它经过运算认为PC在自己的网段,通讯就建立了。

  复习麦子的帖子:在MS系统中设置网关的效果:

  1.不设网关.............................不向本网段以外的地址发包

  2.网关设为自己..........................proxy arp, 对任何地址发ARP请求,路由器响应

  3.网关设为路由器地址...................普通模式,PC ARP解释路由器地址,然后跨网段数据包交路由器转发

  4.网关设为未使用的本网段地址...........普通模式,PC ARP解释路由器地址,失败,无法跨网段访问

  5.网关设为非本网段地址.................proxy arp, 对任何地址发ARP请求,路由器响应

推广二维码
邮件订阅

如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

重磅专题