IPv4 iptables 阻止事物,但输出策略是接受,我的 INPUT DROP 链有什么问题?

IPv4 iptables 阻止事物,但输出策略是接受,我的 INPUT DROP 链有什么问题?

这是我iptables目前的 IPv4 列表:

Chain INPUT (policy DROP)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere             ctstate RELATED,ESTABLISHED
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:ssh
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:https

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

当我尝试使用 时apt-get,它无法将 DNS 名称转换为 IP。我该如何解决这个问题并使其发挥作用?

答案1

您错过了允许环回设备,这是非可选的:

-A INPUT -i lo -m comment --comment loopback -j ACCEPT

将其添加为第一条规则,然后就完成了。我为你找到了一个很好的广泛解释在 AskUbuntu 上这个设备代表什么等等


此外,我建议可选步骤 - 步骤 2:允许 ICMP 协议:

-A INPUT -p icmp -m limit --limit 5/sec --limit-burst 15 -m comment --comment icmp -j ACCEPT

最后,我建议可选步骤 - 步骤 3:将您的 SSH 连接限制为仅本地网络,只需确保更改为您的子网:

-A INPUT -s 192.168.0.0/24 -p tcp -m conntrack --ctstate NEW,ESTABLISHED -m tcp --dport 22 -m comment --comment ssh -j ACCEPT

旁注:几个小时后,使用 INPUT DROP 规则时,您应该会看到这样的 DROP 数字:

Chain INPUT (policy DROP 8354 packets, 732K bytes)
num   pkts bytes target     prot opt in     out     source               destination         
1     6315  612K ACCEPT     all  --  lo     any     anywhere             anywhere             /* loopback */
2       13  1072 ACCEPT     icmp --  any    any     anywhere             anywhere             limit: avg 5/sec burst 15 /* icmp */
3     190K  697M ACCEPT     all  --  any    any     anywhere             anywhere             ctstate RELATED,ESTABLISHED /* traffic */
4        0     0 ACCEPT     tcp  --  any    any     192.168.0.0/24       anywhere             ctstate NEW,ESTABLISHED tcp dpt:ssh /* ssh */

相关内容