我使用的是 CentOS,输入以下内容iptables
命令:
iptables -L -v
输出如下:
Chain INPUT (policy ACCEPT 19614 packets, 2312K bytes) pkts bytes target prot opt in out source destination
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 13881 packets, 32M bytes) pkts bytes target prot opt in out source destination
这是什么意思?我可以使用 SSH 进行连接。我在哪里可以查看该规则?
答案1
空iptables
规则只是意味着您没有规则。没有规则意味着表“策略”控制着遍历该表的每个数据包会发生什么。policy ACCEPT
每个表上的 意味着允许所有数据包通过每个表。因此,您没有激活防火墙。
答案2
您没有设置任何规则。请查看按照iptables
教程添加规则。
您可以像这样添加 SSH 规则,这将允许所有 SSH 通过端口 22:
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
答案3
我在想为什么 iptables-save 会显示为空时发现了这个问题。所以尽管这不是原帖的答案,但我想把它留在这里 :)
事实证明 iptables-save 需要加载 iptable_filter(和/或 iptable_nat)模块。
root@mgmt:~# iptables-save
root@mgmt:~# modprobe iptable_filter
root@mgmt:~# iptables-save
# Generated by iptables-save v1.6.0 on Fri Aug 4 09:21:14 2017
*filter
:INPUT ACCEPT [7:488]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [4:424]
COMMIT
# Completed on Fri Aug 4 09:21:14 2017
当您尝试对一些新规则进行“安全”测试时,这一点很重要:
iptables-save > /tmp/ipt.good; (sleep 60; iptables-restore < /tmp/ipt.good) & iptables-restore < iptables.rules.test