一、iptables防火墙
1、概述
iptables是一个在Linux中管理网络数据包过滤的命令行工具。它可以用于过滤、转发、NAT、Mangle等操作,以实现网络访问控制及网络性能优化。
2、iptables基本操作
iptables有四个表:filter、nat、mangle、raw。常用的是filter表,针对每个表有一个默认链(INPUT、OUTPUT、FORWARD),每个链中有若干条规则,这些规则定义了网络数据包在这个链上如何被处理。操作iptables需要root权限。
# 查看iptables规则 sudo iptables -L sudo iptables -L -t nat #查看nat表 # 清空iptables规则 sudo iptables -F sudo iptables -X # 允许所有包,拒绝所有包,重置规则 sudo iptables -P INPUT ACCEPT / DROP / REJECT sudo iptables -P OUTPUT ACCEPT / DROP / REJECT sudo iptables -P FORWARD ACCEPT / DROP / REJECT # 开放端口 sudo iptables -I INPUT -p tcp --dport 80 -j ACCEPT # 关闭端口 sudo iptables -D INPUT -p tcp --dport 80 -j ACCEPT
二、ufw工具
1、概述
ufw是一个基于iptables的高级防火墙配置工具,提供了一系列的命令来配置防火墙规则,可用于简化iptables规则的管理。ufw只有基本的操作,对于比较复杂的操作需要使用iptables。
2、ufw基本操作
# 查看ufw状态 sudo ufw status # 启用ufw sudo ufw enable # 禁用ufw sudo ufw disable # 允许端口 sudo ufw allow 80/tcp # 允许特定IP访问端口 sudo ufw allow from 192.168.1.1 to any port 22 # 允许特定网段访问端口 sudo ufw allow from 192.168.1.0/24 to any port 80 # 关闭端口 sudo ufw deny 80
三、Firewalld工具
1、概述
Firewalld是一个redhat系列的动态防火墙管理工具,已经成为RHEL 7的默认防火墙。Firewalld提供了Zones、Services、Ports、Masquerade、Source等概念,能够更加灵活地控制网络连接。
2、Firewalld基本操作
# 查看firewalld状态 sudo systemctl status firewalld # 启用firewalld sudo systemctl enable firewalld # 禁用firewalld sudo systemctl disable firewalld # 添加服务(常用,如添加http服务) sudo firewall-cmd --add-service=http --zone=public --permanent # 添加端口 sudo firewall-cmd --add-port=8080/tcp --zone=public --permanent # 删除服务(常用,如删除http服务) sudo firewall-cmd --remove-service=http --zone=public --permanent # 删除端口 sudo firewall-cmd --remove-port=8080/tcp --zone=public --permanent # 重载配置 sudo firewall-cmd --reload # 查看已开放的端口及服务 sudo firewall-cmd --zone=public --list-ports sudo firewall-cmd --zone=public --list-services sudo firewall-cmd --zone=public --list-all
四、总结
本文通过介绍iptables防火墙、ufw工具和Firewalld工具三种放行端口的方法,详细阐述了Linux放行端口的多种实现方案。总体来说,iptables是最基础、最复杂的放行端口方法,ufw是中等难度、操作简单的方法,而Firewalld是最推荐的放行端口方法,也是最常用的方法。