我正在尝试在我的 ubuntu 计算机上配置 iptables。这些是我的规则:
Chain INPUT (policy DROP)
target prot opt source destination
ACCEPT tcp -- anywhere anywhere tcp dpt:https
ACCEPT tcp -- anywhere anywhere tcp dpt:http
ACCEPT tcp -- anywhere anywhere tcp dpt:domain
ACCEPT tcp -- anywhere anywhere tcp dpt:ftps-data
ACCEPT tcp -- anywhere anywhere tcp dpt:ftps
Chain FORWARD (policy DROP)
target prot opt source destination
ACCEPT tcp -- anywhere anywhere tcp dpt:https
ACCEPT tcp -- anywhere anywhere tcp dpt:http
ACCEPT tcp -- anywhere anywhere tcp dpt:domain
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
不幸的是,当我尝试使用网络浏览器时,它无法连接。只是一个空白页面不断尝试加载。我尝试向 www.google.com 发送 ping,但无法建立连接。也许我应该开放更多端口?
[编辑] 我更改了规则,这些是我的新规则:
Chain INPUT (policy DROP)
target prot opt source destination
ACCEPT all -- anywhere anywhere state NEW,ESTABLISHED
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT all -- anywhere anywhere
Chain FORWARD (policy DROP)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
现在可以了!! :) 我希望它足够安全。我想这会阻止除我自己建立的连接之外的所有流量
答案1
您不允许任何相关连接...修复它的快速方法...:
#iptables -I INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
PS:抱歉,匆忙发帖,我正在上班。我会回来提供详细信息
答案2
佩特里几乎做到了这一点。
基本上,您的设置允许流量到http/https/ftp 端口,但不接受传入的流量从该端口 - 因此您的查询会发出,但响应会被丢弃。
与大多数现代防火墙(定义为“1995 年左右”之后)一样,Linux 防火墙跟踪连接并允许基于状态的过滤。
该行iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
的作用是包罗万象——防火墙设置中任何其他规则允许启动的任何流量都将被允许继续进行,而无需您端任何进一步的明确规则。