本文共 1617 字,大约阅读时间需要 5 分钟。
iptables 是 Linux 上的常用防火墙工具,属于 netfilter 项目的一部分。它能够直接配置,也可以通过多种前端和图形界面进行设置。
iptables 命令的语法结构包括选项和参数。
-t <表>
:指定要操作的表名。-A
:向规则链中添加条目。-D
:从规则链中删除条目。-I
:向规则链中插入条目(插入位置在链的末尾)。-R
:替换规则链中的条目。-L
:显示规则链中已有的条目。-F
:清除规则链中的所有条目。-Z
:清空规则链中的数据包计数器和字节计数器。-N
:创建新的用户自定义规则链。-P
:定义规则链中的默认目标。-h
:显示帮助信息。-p
:指定要匹配的数据包协议类型。-s
:指定要匹配的数据包源 IP 地址或地址范围。-j <目标>
:指定要执行的动作。-i <网络接口>
:指定数据包进入本机的网络接口。-o <网络接口>
:指定数据包离开本机所使用的网络接口。表名包括:
raw
:用于高级功能,如网址过滤。mangle
:用于数据包修改(QoS),实现服务质量保障。net
:用于地址转换,常用于网关路由器。filter
:用于包过滤,通常用于防火墙规则。规则链名包括:
INPUT
:处理输入数据包。OUTPUT
:处理输出数据包。FORWARD
:处理转发数据包。PREROUTING
:用于目标地址转换(DNAT)。POSTROUTING
:用于源地址转换(SNAT)。accept
:接受数据包。DROP
:丢弃数据包。redirect
:重定向、映射或透明代理。SNAT
:源地址转换。DNAT
:目标地址转换。masquerade
:IP 伪装(NAT),常用于 ADSL 网络。LOG
:日志记录。iptables -F iptables -X iptables -Z
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT iptables -A INPUT -p tcp --dport 80 -j ACCEPT iptables -A INPUT -p tcp --dport 21 -j ACCEPT iptables -A INPUT -p tcp --dport 20 -j ACCEPT
iptables -A INPUT -j reject
iptables -I INPUT -s 123.45.6.7 -j DROP
iptables -I INPUT -s 123.0.0.0/8 -j DROP
iptables -I INPUT -s 124.45.0.0/16 -j DROP
iptables -I INPUT -s 123.45.6.0/24 -j DROP
iptables -L -n -v
iptables -L -n -v
iptables -D INPUT 8
通过以上命令,您可以根据需求灵活配置 iptables 防火墙规则,实现网络安全防护。
转载地址:http://trkfk.baihongyu.com/