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服务的状态。

相关推荐
bubuly14 分钟前
软件开发全流程注意事项:从需求到运维的全方位指南
大数据·运维·数据库
百炼成神 LV@菜哥20 分钟前
Kylin Linux V10 aarch64 安装启动 TigerVNC-Server
linux·服务器·kylin
佑白雪乐1 小时前
<Linux基础11集>电流+二极管+晶体管+存储器
linux
嵌入式郑工1 小时前
RK3566 LubanCat 开发板 USB Gadget 配置完整复盘
linux·驱动开发·ubuntu
ipooipoo11881 小时前
动态住宅IP的定义、核心优势与技术场景应用
网络·网络协议·tcp/ip
one____dream1 小时前
【网安】Reverse-非常规题目
linux·python·安全·网络安全·ctf
j_xxx404_1 小时前
Linux:进程程序替换
linux·运维·服务器
祁鱼鱼鱼鱼鱼1 小时前
Keepalived实验环境设定
linux·服务器·网络
Genie cloud1 小时前
VPS 网络连接故障诊断与排查实用指南
linux·服务器·ssh
RisunJan2 小时前
Linux命令-lnstat(快速查找文件和目录)
linux·运维·服务器