Linux 防火墙开放/限制端口

文章目录

在Linux中,可以使用 iptablesfirewalld来管理防火墙规则,并开放或关闭端口。

一、使用iptables

  1. 查看当前的防火墙规则
    iptables -L -n -v

  2. 开放端口

    开放端口给所有IP

    iptables -I INPUT -p tcp --dport 8080 -j ACCEPT

    开放端口给指定IP, 如192.168.1.2

    iptables -I INPUT -p tcp -s 192.168.1.2 --dport 8080 -j ACCEPT

    取消开放端口

    iptables -D INPUT -p tcp --dport 8080 -j ACCEPT

-I 代表插入(Insert),用于添加规则。
-D 代表删除(Delete),用于删除规则。
INPUT 是处理进入系统的数据包。
-p 后跟协议(如tcp, udp)。
--dport 后跟目标端口号。
-j 后跟处理规则(ACCEPT, DROP等)。
-s 表示访问当前机器的ip

  1. 限制端口被访问

    限制所有ip访问22端口

    sudo iptables -A INPUT -p tcp --dport 22 -j REJECT

    限制指定ip访问22端口, 如192.168.1.2

    sudo iptables -A INPUT -p tcp -s 192.168.1.2 --dport 22 -j REJECT

    #取消限制
    sudo iptables -D INPUT -p tcp --dport 22 -j REJECT

如果需要开放UDP端口,可以将tcp替换为udp

  1. 保存规则
    iptables-save > /etc/iptables/rules.v4

    或者在Debian/Ubuntu系统上:
    netfilter-persistent savenetfilter-persistent reload

    加载规则
    iptables-restore < /etc/iptables/rules.v4

  2. 重启iptables服务(如果需要)
    systemctl restart iptables

二、使用firewalld

  1. 查看当前的防火墙区域和端口开放设置:

    firewall-cmd --list-all

  2. 开放和删除端口(例如:8080):

    复制代码
    # 添加TCP端口
    firewall-cmd --zone=public --add-port=8080/tcp --permanent
     
    # 添加UDP端口
    firewall-cmd --zone=public --add-port=53/udp --permanent
    
    # 删除TCP端口
    firewall-cmd --zone=public --remove-port=8080/tcp --permanent
    
    # 删除UDP端口
    firewall-cmd --zone=public --remove-port=53/udp --permanent

--zone=public 表示操作的是public区域,你可以根据需要选择其他区域,例如--zone=dmz。

--permanent 表示永久添加或删除端口,如果不使用--permanent,更改只在当前会话内有效。

  1. 重新加载防火墙以应用更改:

firewall-cmd --reload

如果不确定系统使用的防火墙,可以使用systemctl status firewalld来检查firewalld服务的状态。

相关推荐
码农小白AI3 小时前
AI报告审核加速融入自动化实验室:IACheck破解智能设备时代报告管理新挑战
运维·人工智能·自动化
utf8mb4安全女神3 小时前
克隆的虚拟机怎么更改ip地址
运维
赵民勇3 小时前
fuse-overlayfs命令详解
linux·容器
sulikey3 小时前
个人Linux操作系统学习笔记6 - 操作系统与进程初识
linux·笔记·学习·操作系统·进程
上海云盾-小余3 小时前
BGP 高防 IP 与 CDN 混合部署:攻防场景选型实战指南
网络·网络协议·tcp/ip
万能的知了4 小时前
服务器托管 vs 云主机 vs 裸金属:一个决策故事
运维·服务器·云计算
杨云龙UP5 小时前
Oracle RAC / ODA 生产环境指定 PDB 启动 SOP
linux·运维·数据库·oracle
Shingmc35 小时前
【Linux】多路转接之select
linux·网络
溜达的大象5 小时前
从到处找资源到统一检索:飞牛NAS部署Pansou实战记录
网络·云计算
luweis5 小时前
企智孪生 ETA(3.3 认知算法层:ETA 的思维内核 3.4 基础架构:算力与弹性)【浙江联保网络 卢伟舜】
大数据·运维·线性代数·ai·矩阵·学习方法