作者介绍:简历上没有一个精通的运维工程师。请点击上方的蓝色《运维小路》关注我,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。
在之前的章节中,我们探讨了Linux的一些高级命令,接下来我们将深入探讨Linux防火墙。由于目前主要使用云服务器,而云服务器通常不使用系统自带的防火墙,而是通过安全组来替代防火墙的功能,可以简单地将安全组理解为防火墙的网络版本。我们将从以下几个方面详细讲解Linux防火墙:
Linux防火墙-什么是防火墙
Linux防火墙-4表5链
Linux防火墙-filter表
Linux防火墙-nat表
Linux防火墙-常用命令(本章节)
Linux防火墙-案例(一)
Linux防火墙-案例(二)
Linux防火墙-小结
iptables是Linux中用于配置网络过滤规则的工具,允许系统管理员通过命令设置防火墙规则来控制进出网络的数据包。以下是一些常用的iptables命令及其说明。
基本命令格式:
iptables [选项] [链] [匹配条件] [目标]
选项:
-A 添加规则到末尾 -I 添加规则到最前面 -D 删除规则 -N 创建链(用于将同类内容集中)
链:
-t 表 -L 链 #默认表是filter
匹配条件:
-p 协议类型,包括tcp,udp,icmp -s 源IP地址,支持网段 -d 目标IP地址,支持网段 --sport 源端口(通常与-s和-d一起使用) --dport 目标端口(通常与-s和-d一起使用) -i 进入网卡 -o 流出网卡 --state 连接状态(涉及TCP协议状态) --string 匹配数据包内容(使用较少)
目标:
-j ACCEPT 允许 -j DROP 丢弃,不回包给源 -j REJECT 拒绝,会告诉源被拒绝 -j RETURN 继续
常用命令:
显示规则:
查看所有表上的规则:
iptables -L #默认显示filter链,如果要显示其他链 iptables -L -t nat
查看特定链上的规则:
iptables -L INPUT -t nat
查看所有链上的规则,并显示行号:
iptables -L --line-numbers #用于后续通过行号删除规则
清空规则:
清空某个链中的所有规则:
iptables -F INPUT
清空所有链中的所有规则:
iptables -F #清空规则时需确保默认规则是允许的,否则可能被自己屏蔽
清除NAT表的所有规则:
iptables -t nat -F
设置所有链的默认策略:
iptables -P INPUT ACCEPT iptables -P FORWARD ACCEPT iptables -P OUTPUT ACCEPT #一般只需设置filter表下的INPUT链
添加规则:
允许所有入站流量:
iptables -A INPUT -j ACCEPT
允许特定端口的TCP流量:
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
拒绝特定端口的TCP流量:
iptables -A INPUT -p tcp --dport 22 -j DROP
允许来自特定IP地址的流量:
iptables -A INPUT -s 192.168.1.100 -j ACCEPT
删除规则:
删除特定规则:
iptables -D INPUT 1
删除特定条件的规则:
iptables -D INPUT -p tcp --dport 80 -j ACCEPT
其他命令:
保存规则到文件:
iptables-save > /etc/iptables/rules.v4
加载规则从文件:
iptables-restore
总结:
由于iptables是顺序执行的,因此在规则的插入位置上(最前面或最后面)是有区别的,需要特别注意。如果在INPUT链中默认设置为DROP,千万不要执行-F清空规则,否则会把自己锁在外面。添加规则的顺序应先允许后拒绝。这里的规则都是临时的,重启后将丢失。
以上就是Linux防火墙-常用命令的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号