我正在尝试为我的 Linux iptables 规则文件设置最少的规则,以便能够上网。
这是我所做的:
* filter
-A OUTPUT -p tcp --dport 80 -j ACCEPT
-A OUTPUT -p tcp --dport 443 -j ACCEPT
-A OUTPUT -p udp --dport 53 -j ACCEPT
COMMIT
Run Code Online (Sandbox Code Playgroud)
仅凭这些规则,我就无法上网。
我注意到当我放置时-A INPUT -j ACCEPT
,它可以工作,但我不明白为什么。那么我需要什么输入/输出端口才能上网?
非常感谢。问候
编辑:它仍然不起作用。
这是我的 iptables -L
Chain INPUT (policy DROP)
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
Chain FORWARD (policy DROP)
blank
Chain OUTPUT (Policy ACCEPT)
ACCEPT all -- anywhere anywhere
Run Code Online (Sandbox Code Playgroud)
但是,如果我添加-A INPUT -j ACCEPT
,我可以上网。所以 INPUT 中应该有其他东西阻止它。
Sha*_*den 13
您还需要允许从远程服务器返回的流量。您的输入链需要允许这些响应;连接状态模块可以确保允许这些响应。
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
Run Code Online (Sandbox Code Playgroud)
为什么您认为需要规范出站连接?
OUTPUT 表管理 OUTBOUND 数据包,INPUT 表管理入站数据包。
如果您希望保护您的工作站/服务器,您应该关注 INPUT 规则并使用默认的“DROP”规则和“RELATED,ESTABLISHED”规则,如下所示:
/sbin/iptables -P INPUT DROP
iptables -A INPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT
Run Code Online (Sandbox Code Playgroud)
这将允许您打开额外的特定端口,同时将大部分流量拒之门外。
归档时间: |
|
查看次数: |
4451 次 |
最近记录: |