【面向初学者】如何使用 iptables 命令应用/不应用访问限制

大家好!我是系统解决方案部门的Shimeji。
加入公司已经三个月了,但我仍然有很多不懂的地方。
不过,Beyond的各位前辈都非常友善,每天都给我提供各种各样的指导。
我真的非常感谢大家。
今天我想简要解释一下如何在 CentOS 6 中使用 iptables 命令来限制访问。
什么是iptables?
它是Linux系统中实现的数据包过滤器,
也称为防火墙。
它的功能是限制或允许特定的访问。
简单来说,
- 我们不允许不良人员进入。
- 我们欢迎好心人的帮助。
就是这样!!
运行 iptables 的命令就是 iptables 命令!
正如其名。
使用iptables进行限制
首先,请看下文。
[root@localhost vagrant]# iptables -L Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination
以上是执行 [iptables -L] 命令的结果。
你可以看到它从上到下分为三个字段。
[ INPUT ] 是与输入相关的链,[ FORWARD ] 是与转发相关的链,[ OUTPUT ] 是与输出相关的链。
你可以把链想象成一条检查数据包的规则。
查看“链输入”旁边的内容。
你会看到(策略 ACCEPT)。
这被称为
策略策略是一条适用于整个链的规则。ACCEPT
表示允许所有输入。
另一方面,如果您想限制它,请将其更改为 DROP。
命令是:
iptables -P 输入丢弃
就这样!
(您也将无法通过 SSH 连接。请先运行以下命令,允许通过 iptables 访问。)
让我们用命令 [iptables -L] 来检查一下!
[root@localhost vagrant]# iptables -L Chain INPUT (policy DROP) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination
它已更改为 DROP。
现在您已限制所有外部访问!
使用iptables允许访问
请见下方。
[root@localhost vagrant]# iptables -L Chain INPUT (policy DROP) target prot opt source destination ACCEPT all -- 192.168.33.1 anywhere Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination
【接受所有来电 -- 192.168.33.1 任何地址】
你会看到类似这样的语句越来越多!
这意味着“允许来自 192.168.33.1 的所有访问”。
这被称为规则
要添加允许访问的规则,请运行以下命令:
iptables -A INPUT -s [允许访问的 IP 地址] -j ACCEPT
现在您可以阻止所有访问,并允许来自特定 IP 地址的访问。
顺便一提,也可以将其设置为“允许访问特定端口”。
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
这是允许访问 80 端口(Web 服务器)的命令。
您可以通过更改 `--dport!!` 后面的数字来更改端口。
这些设置更改将在您重启计算机后恢复原状。
如果您想永久保存这些设置,
iptables 服务保存
使用以下命令保存设置:
禁止所有此类访问,然后仅允许特定访问,这种
称为“白名单方法”。
概括
这是一个非常简略的解释,但这就是使用 iptables 命令的基本方法。
还有一些配置方法不使用 iptables 命令,以及更详细的配置方法,但这里我就不赘述了。
请使用iptables命令,享受更美好的电脑体验!
6