centos7防火墙firewalld及iptable配置命令

本文详细介绍了在CentOS系统中使用firewalld和iptables进行防火墙配置的方法。包括firewalld的常用命令,如何开启、关闭及重启firewalld服务,以及iptables的规则添加与配置技巧。通过本文,读者可以学会如何有效管理系统的网络流量。

firewalld

firewalld常用命令

firewall-cmd --state                           ##查看防火墙状态,是否是running
firewall-cmd --reload                          ##重新载入配置,比如添加规则之后,需要执行此命令
firewall-cmd --get-zones                       ##列出支持的zone
firewall-cmd --get-services                    ##列出支持的服务,在列表中的服务是放行的
firewall-cmd --query-service ftp               ##查看ftp服务是否支持,返回yes或者no
firewall-cmd --add-service=ftp                 ##临时开放ftp服务
firewall-cmd --add-service=ftp --permanent     ##永久开放ftp服务
firewall-cmd --remove-service=ftp --permanent  ##永久移除ftp服务
firewall-cmd --add-port=80/tcp --permanent     ##永久添加80端口 
iptables -L -n                                 ##查看规则,这个命令是和iptables的相同的
man firewall-cmd                                ##查看帮助

更多命令,使用  fire  wall-cmd --help 查看帮助文件

firewalld命令用法实例

开启80端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
命令含义:
--zone               #作用域
--add-port=80/tcp    #添加端口,格式为:端口/通讯协议
--permanent          #永久生效,没有此参数重启后失效
开启防火墙
systemctl start firewalld.service         #启动防火墙
关闭防火墙
systemctl stop firewalld.service          #停止firewall
systemctl disable firewalld.service       #禁止firewall开机启动
重启防火墙
firewall-cmd --reload
查看防火墙状态
systemctl status firewalld.service
查看防火墙规则
iptables -L -n

iptables

CentOS 7.0默认使用的是firewall作为防火墙,使用iptables必须重新设置一下

1、直接关闭firewalld防火墙
systemctl stop firewalld.service           #停止firewall
systemctl disable firewalld.service     #禁止firewall开机启动
2、安装 iptables service
yum -y install iptables-services
如果要修改防火墙配置,如增加防火墙端口3306
vi /etc/sysconfig/iptables 
增加规则
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
保存退出后
systemctl restart iptables.service #重启防火墙使配置生效
systemctl enable iptables.service #设置防火墙开机启动
最后重启系统使设置生效。

iptables配置

查看iptables配置:iptables -L -n
添加常用端口规则:
#允许对外请求的返回包
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
#允许icmp包通过
iptables -A INPUT -p icmp --icmp-type any -j ACCEPT
#允许来自于lo接口的数据包,如果没有此规则,将不能通过127.0.0.1访问本地服务
iptables -A INPUT -i lo -j ACCEPT
 
#常用端口
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 23 -j ACCEPT
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 443 -j ACCEPT
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 8080 -j ACCEPT

#过滤所有非以上规则的请求
iptables -P INPUT DROP

#如果要添加内网ip信任(接受其所有TCP请求)
#注:(**.**.**.**)为IP,下同
iptables -A INPUT -p tcp -s **.**.**.** -j ACCEPT

#要封停一个IP,使用下面这条命令
iptables -I INPUT -s **.**.**.** -j DROP
#要解封一个IP,使用下面这条命令
iptables -D INPUT -s **.**.**.** -j DROP

保存重启防火墙
/etc/init.d/iptables save
service iptables restart

学习博客:

https://blog.youkuaiyun.com/qq_43308140/article/details/90443818
https://www.cnblogs.com/xxoome/p/7115614.html

CentOS 7系统下对iptables配置进行优化以用于探测和扫描,可考虑从基本配置、防止恶意扫描以及借助相关工具配合等方面着手。 ### 基本配置 iptables是运行在用户空间的应用软件,通过控制Linux内核netfilter模块,来管理网络数据包的流动与转送。在CentOS 7中,通常使用`/usr/sbin/iptables`来操作,可通过`man iptables`和`man iptables - extensions`指令获取相关手册信息。操作iptables需要超级用户权限。首先要确保iptables服务已启动并开机自启: ```bash systemctl start iptables systemctl enable iptables ``` ### 防止恶意扫描 既然nmap工具能探测主机开放端口和使用的协议,成为黑客攻击前踩点的工具,可利用iptables对封包起到过滤、限制的作用,防止nmap工具的嗅探。例如,可添加规则来阻止异常的端口扫描行为: ```bash # 阻止TCP SYN扫描 iptables -A INPUT -p tcp --tcp - flags SYN,ACK SYN -m limit --limit 1/s -j ACCEPT iptables -A INPUT -p tcp --tcp - flags SYN -j DROP # 阻止UDP扫描 iptables -A INPUT -p udp -m limit --limit 1/s -j ACCEPT iptables -A INPUT -p udp -j DROP ``` ### 借助Fail2Ban Fail2Ban通过监控系统日志(如Nginx/Apache访问日志),使用正则表达式匹配恶意行为(如高频404错误、暴力登录尝试),触发临时封禁规则(通过iptables/firewalld)。其优势在于实时响应、低资源占用和可扩展性。可通过以下步骤安装和配置Fail2Ban: ```bash # 安装Fail2Ban yum install fail2ban -y # 配置Fail2Ban cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local # 编辑jail.local文件,配置监控的服务和规则 vi /etc/fail2ban/jail.local # 启动Fail2Ban并设置开机自启 systemctl start fail2ban systemctl enable fail2ban ``` ### 自定义规则 根据实际需求自定义一些规则来进行探测和扫描,例如允许特定IP地址的访问: ```bash # 允许特定IP地址访问 iptables -A INPUT -s 192.168.1.100 -j ACCEPT ``` ### 保存配置 完成配置后,需要保存配置以使设置生效: ```bash service iptables save ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值