CentOS7默认的防火墙不是iptables,而是firewalle.要停止firewall
systemctl disable firewalld.service
systemctl stop firewalld.service
systemctl status firewalld.service
1 | <strong>systemctl mask firewalld< / strong> |
安装iptable iptable-service
#先检查是否安装了iptables
service iptables status
#安装iptables
yum install -y iptables
#升级iptables
yum update iptables
#安装iptables-services
yum install iptables-services
设置现有规则
1 2 3 4 5 | iptables - L - n #查看iptables现有规则 iptables - P INPUT ACCEPT #先允许所有,不然有可能会清除后断开连接,无法再连接 iptables - F #清空所有默认规则 iptables - X #清空所有自定义规则 iptables - Z #所有计数器归0<br><br> |
1 2 3 4 5 6 7 8 9 | #允许来自于lo接口的数据包(本地访问) iptables - A INPUT - i lo - j ACCEPT iptables - A INPUT - p tcp - - dport 22 - j ACCEPT # 开放22端口 iptables - A INPUT - p tcp - - dport 21 - j ACCEPT # 开放21端口(FTP) iptables - A INPUT - p tcp - - dport 80 - j ACCEPT # 开放80端口(HTTP) iptables - A INPUT - p tcp - - dport 443 - j ACCEPT # 开放443端口(HTTPS) iptables - A INPUT - p icmp - - icmp - type 8 - j ACCEPT # 允许ping #允许接受本机请求之后的返回数据 RELATED,是为FTP设置的 iptables - A INPUT - m state - - state RELATED,ESTABLISHED - j ACCEPT |
iptables
-
P
INPUT
DROP
# 其他入站一律丢弃
iptables
-
P OUTPUT ACCEPT
# 所有出站一律绿灯
iptables
-
P FORWARD DROP
# 所有转发一律丢弃
iptables -A INPUT -p tcp -s 45.96.174.68 -j ACCEPT # 如果要添加内网ip信任(接受其所有TCP请求)
iptables -P INPUT DROP # 过滤所有非以上规则的请求
iptables -I INPUT -s ***.***.***.*** -j DROP # 要封停一个IP,使用下面这条命令
iptables -D INPUT -s ***.***.***.*** -j DROP # 要解封一个IP,使用下面这条命令
#保存上述规则
service iptables save
#注册iptables服务
#相当于以前的chkconfig iptables on
systemctl enable iptables.service
#开启服务
systemctl start iptables.service
#查看状态
systemctl status iptables.service
Linux下iptables屏蔽IP和端口号
封单个IP的命令:iptables -I INPUT -s 124.115.0.199 -j DROP
封IP段的命令:iptables -I INPUT -s 124.115.0.0/16 -j DROP
封整个段的命令:iptables -I INPUT -s 194.42.0.0/8 -j DROP
封几个段的命令:iptables -I INPUT -s 61.37.80.0/24 -j DROP
只封80端口:iptables -I INPUT -p tcp –dport 80 -s 124.115.0.0/24 -j DROP
解封全部:iptables -F
清空:iptables -D INPUT 数字
列出 INPUT链 所有的规则:iptables -L INPUT --line-numbers
删除某条规则,其中5代表序号(序号可用上面的命令查看):iptables -D INPUT 5
开放指定的端口:iptables -A INPUT -p tcp --dport 80 -j ACCEPT
禁止指定的端口:iptables -A INPUT -p tcp --dport 80 -j DROP
拒绝所有的端口:iptables -A INPUT -j DROP
以上都是针对INPUT链的操作,即是外面来访问本机的方向,配置完之后 需要保存,否则iptables 重启之后以上设置就失效
service iptables save
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET制作智能桌面机器人:结合BotSharp智能体框架开发语音交互
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 一次Java后端服务间歇性响应慢的问题排查记录
· 《HelloGitHub》第 108 期
· Windows桌面应用自动更新解决方案SharpUpdater5发布
· 我的家庭实验室服务器集群硬件清单
· Supergateway:MCP服务器的远程调试与集成工具
· C# 13 中的新增功能实操