对不起我的英语不好。
我不太明白是否应该通过输入、输出或两者来打开端口。
例如,让我们以基本的 HTTP 端口 80 为例。要设置标准客户端。如果我想让它访问互联网,我认为我应该在客户端的 INPUT AND OUTPUT 中打开端口 80。对吗?这就是我认为的原因:
- 客户端将在端口 80 上发送 HTTP GET,因此端口 80 输出必须打开。
- 服务器将会响应并在端口 80 上发送页面,因此客户端必须打开端口 80 输入。
这同样适用于服务器,它将在端口 80 上接收请求并在端口 80 上发送响应,因此 HTTP 服务器必须在 INPUT 和 OUPUT 上打开端口 80。
我理解得清楚吗?
答案1
流量通常不会从离开时的同一端口返回。
当客户端生成请求(例如网页请求)时,源端口是随机生成的。您的出站流量可能看起来像这样Source:50000 Destination:80
,而返回流量将看到数字翻转Source:80 Destination:50000
。这是因为保留端口仅用于侦听服务请求的服务器,这意味着发往端口 80 的流量应该流向 Web 服务器,而不是从 Web 服务器发出。
答案2
如果您的防火墙不是有状态的,那么是的,您是正确的。
如果您的防火墙是状态防火墙,则通常无需配置相反的规则。在某些系统上,您必须明确配置它。
例如在 Linux 上,您可以添加:
iptables -I INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
允许主机发起的任何传入连接。
答案3
只需进入防火墙并仅允许与 Windows 操作系统相关的出界规则。就是这样。
对于 linux 来说也是一样,只需使用 shell 即可。
输入将从网络外部访问。对于对等程序,输出就足够了