Linux 防火墙开放/限制端口

文章目录

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

一、使用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服务的状态。

相关推荐
艾芯微科技7 分钟前
钰泰 ETA6973PQ3Y|QFN3×3 2A 同步降压 Buck,I2C 可配置多档输出,动态调压 PMIC
网络·单片机·嵌入式硬件·fpga开发·集成测试·51单片机
默|笙7 分钟前
【Linux网络】_udp_socket(认识)
linux·网络·udp
寻道模式31 分钟前
【运维心得】完整教程:绕过Win11限制让老机焕发新生
运维·操作系统·win11
程序员梅雨33 分钟前
ZooKeeper面经总结
java·大数据·linux·分布式·后端·zookeeper·中间件
zzu123zsw36 分钟前
从 proxy_pass 末尾斜杠到 WebAssembly 预压缩:深挖 Nginx 生产环境四大高频踩坑点
运维·nginx·wasm·webassembly·devops·运维排错
lingran__37 分钟前
Linux进程万字详解(二)|进程状态深度剖析:调度队列、内核链表、D状态设计哲学、僵尸孤儿进程与Slab机制
linux·进程管理·内核链表·pcb·僵尸进程·孤儿进程·进程状态
2401_868534781 小时前
以太网物理层标准
服务器·网络
张洛闻Eren1 小时前
Ansible【第一课】:Ansible介绍
运维·数据库·云原生·kubernetes·github·ansible
2601_951615201 小时前
网站模板 网站网页模板下载
前端·网络·html
GeW1 小时前
以Linux为基、数据库为核:新质生产力路线图下的企业架构升级
linux