1.5 防火墙和NAT的异同
2023.08.08
问: 防火墙是做什么的?
答: 简答的来说防火墙就是一个过滤器 一个筛子
可以 根据规则来过滤数据 决定是否允许数据通过
是一种 重要的安全措施
问: 那为什么很多时候遇到网络问题
很多教程教第一件事情就是关防火墙?
不会有安全上的问题吗?
答: 因为防火墙有过滤数据的能力 所以发生网络问题确实有可能是防火墙拦截造成的
不过这里的防火墙一般指 Windows防火墙
而现在的程序一般都能添加防火墙规则的能力 即让防火墙允许其通过
至于安全方面,家庭网络(IPv4) 一般有NAT保护问题不是很大
问: NAT还有保护安全的作用?
答: 是的
问: 可是之前讲解中 NAT不就是共用公网IP上网 节约IPv4地址吗?
答: 没错 但不止于此
因为通过NAT上网的设备共用一个了公网IP 所以在互联网上的其他设备看来就只有一个设备
即NAT本身(网关) 换句话说就是内网设备躲在在了NAT后面
有点像老鹰捉小鸡的游戏,“老鹰”是互联网上的其他设备(有可能是攻击者) “母鸡”则是NAT(网关)而“小鸡”则是内网设备,如果保护得当 “老鹰”是抓不到“小鸡”的
不过这样会产生 一些其他的问题
问: 什么问题?
答: 就是互联网上的其他设备 难以 访问NAT后面的内网设备
问: 可是内网设备可以通过NAT来上网
那说明互联网上的设备和内网设备直接的连接 应该是没有问题的啊?
答: 对 但这有一个前提条件 那就是内网设备发起连接,而拥有公网的服务器去接受连接
问: 难道不都是这样的吗?
答: 一般来说是的,不过还有另一种情况即外网设备发起连接 而内网设备接受连接
问: 难道在这种情况下NAT会阻止连接?
答: 确切的来说在默认情况下NAT无法处理这些连接 所以看起来就像被阻止了一样
问: 无法处理?为什么?
答: 还记得之前讲解的NAT处理过程吗?
NAT将发件人地址改成自己的公网地址,而端口一般选择一个随机的端口
收件人地址不变 并记录下这次改写 并将数据发出
当连接由内部发起时NAT知道内网设备的IP和端口
也知道发送时使用的公网IP和端口于是建立起了一个对应关系
而当连接是从外部发起时 NAT就犯难了
因为对方写的收件地址是NAT自己的公网IP和端口
而没有内网设备的端口和IP地址
毕竟外网设备看不到NAT后面的内网 更看不到内网中有哪些设备
NAT也不知道它应该发送到内网的哪个地址和端口 所以无法处理
问: 这种情况很多吗?就是外网发起内网接受的情况
答: 涉及到P2P通信的时候会 还是比较多的,比如bt下载,游戏联机等
P2P通信我们以后可能会讲
问: 那不是有NAT的情况下就没法进行游戏联机和bt下载了?
答: 也不是 只要解决NAT不知道对应关系这个问题就行
之后的教程会讲解 告诉NAT对应关系的方法
问: 之前说安全方面 IPv4一般有NAT保护 关防火墙问题不是很大
那IPv6一般没有NAT 防火墙就比较重要了?
至于安全方面,家庭网络(IPv4) 一般有NAT保护问题不是很大
答:是的 家用网络环境下IPv6一般没有NAT 所以防火墙是保护设备安全的重要措施