比特彗星 常见问题的收集与解决

1.5防火墙和NAT

问:防火墙是做什么的?

答:简答的来说防火墙就是一个过滤器、一个筛子
可以根据规则来过滤数据,决定是否允许数据通过
是一种重要的安全措施

问:那为什么很多时候遇到网络问题,很多教程教第一件事情就是关防火墙?
不会有安全上的问题吗?

答:因为防火墙有过滤数据的能力,所以发生网络问题确实有可能是防火墙拦截
造成的,不过这里的防火墙一般指 Windows防火墙 而现在的程序一般都有添加防火墙规则
的能力,即让防火墙允许其通过。

至于安全方面,家庭网络(ipv4) 一般有NAT保护问题不是很大

问:NAT还有保护安全的作用?

答:是的

问:可是之前讲解中,NAT不就是共用公网IP上网,节约ipv4地址吗?

答:没错,不止于此

因为通过NAT上网的设备共用一个了公网ip,所以在互联网上的其他设备看来就只有一个设备,
即NAT本身(网关),换句话说就是内网设备躲在在了NAT后面

有点像老鹰捉小鸡的游戏,“老鹰”是互联网上的其他设备(有可能是攻击者) “母鸡”则是NAT(网关)
而“小鸡”则是内网设备,如果保护得当 “老鹰”是抓不到“小鸡”的

不过这样会产生一些其他的问题

问:什么问题?

答:就是互联网上的其他设备难以访问NAT后面的内网设备

问:可是内网设备可以通过NAT来上网,那说明互联网上的设备和内网设备直接的连接
应该是没有问题的啊?

答:对,但这有一个前提条件,那就是内网设备发起连接,而拥有公网的服务器接受连接

问:难道不都是这样的吗?

答:一般来说是的,不过还有另一种情况即外网设备(不一定有公网IP)发起连接,而内网设备接受连接

问:难道在这种情况下NAT会阻止连接?

答:确切的来说在默认情况下NAT无法处理这些连接
所以看起来就像被阻止了一样

问:无法处理?为什么?

答:还记得之前讲解的NAT处理过程吗?

NAT将发件人地址改成自己的公网地址,而端口一般选择一个随机的端口
收件人地址不变
并记录下这次改写 并将数据发出

当连接由内部发起时NAT知道内网设备的IP和端口
也知道发送时使用的公网IP和端口
于是建立起了一个对应关系

而当连接是从外部发起时 ,NAT就犯难了
因为对方写的收件人地址是自己的公网IP和端口
NAT不知道它对应的内网端口和地址自然无法处理

问:这种情况很多吗?就是外网发起内网接受的情况

答:涉及到P2P通信的时候会
还是比较多的,比如bt下载,游戏联机等
P2P通信我们以后可能会讲

问:那不是有NAT的情况下就没法进行游戏联机和bt下载了?

答:也不是,只要解决NAT不知道对应关系这个问题就行
之后的教程会讲解 告诉NAT对应关系的方法

问:之前说安全方面,ipv4一般有NAT保护,关防火墙问题不是很大
那IPv6一般没有NAT,防火墙就比较重要了?

至于安全方面,家庭网络(ipv4) 一般有NAT保护问题不是很大

答:是的家用网络环境下IPv6一般没有NAT,所以防火墙是保护设备安全的重要措施