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,所以防火墙是保护设备安全的重要措施