Linux防火墙-常用命令

作者介绍:简历上没有一个精通的运维工程师。请点击上方的蓝色《运维小路》关注我,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。

Linux防火墙-常用命令

在之前的章节中,我们探讨了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清空规则,否则会把自己锁在外面。添加规则的顺序应先允许后拒绝。这里的规则都是临时的,重启后将丢失。

© 版权声明
THE END
喜欢就支持一下吧
点赞9 分享