当前位置: 首页 > news >正文

Linux中如何通过iptables实现端口访问控制

       最近在做应用开发及部署测试过程中,经常需要做一些访问控制,之前主要通过firewalld实现访问控制,具体方法请参考之前的文章,但这种方式只适用于宿主机部署应用的情况,。因此最近对linux的iptables访问控制做了一些研究,Iptables是配置 Netfilter 过滤功能的用户空间工具。 netfilter 才是防火墙真正的安全框架(framework),netfilter 位于内核空间。iptables 其实是一个命令行工具,位于用户空间,我们用这个工具操作真正的框架。Iptable 根据规则所定义的方法来处理数据包,如放行(accept)、拒绝(reject)和丢弃(drop)等。具体记录如下,供大家参考。

一、测试环境

Linux版本为Redhat 7.9,具备root权限。

二、端口访问控制示例对于docker部署应用的访问控制,只能采用iptables访问过滤来实现访问控制,因为docker默认会绕过firewalld防火墙
# 完整示例
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
# 设置默认策略为拒绝所有流量
iptables -P INPUT DROP
# 允许本地回环接口的流量
iptables -A INPUT -i lo -j ACCEPT
# 允许特定 IP 地址访问 8080 端口的应用
iptables -A INPUT -p tcp --dport 8080 -s 10.26.101.121 -j ACCEPT
iptables -D INPUT -p tcp --dport 11434 -s 10.36.101.191 -j ACCEPT
# 拒绝其他 IP 地址的访问
iptables -A INPUT -p tcp --dport 8080 -j DROP
三、查看规则
# 查看规则
iptables -L -n
iptables -L -n -v #显示详细信息#查看所有规则,并列出规则编号
iptables -n --line-numbers -L
四、保存规则
# 保存规则
iptables-save
五、删除规则
# 删除规则
iptables -D INPUT 6
# 参数说明如下:
-D:删除规则。
-INPUT:指定链名。
-2:规则编号。
六、规则立刻生效
# 重启iptables服务
service iptables restart
#重启防火墙
systemctl restart iptables.service

相关文章:

  • Spark 基础自定义分区器
  • Redis的主从架构
  • Node.js 实战六:日志系统设计 —— 不只是 console.log,而是可追溯的行为记录链
  • 单目测距和双目测距 bev 3D车道线
  • 常见面试题:Webpack的构建流程简单说一下。
  • iOS 内存分区
  • 报错System.BadImageFormatException:“试图加载格式不正确的程序。 (异常来自 HRESULT:0x8007000B)”
  • 滑动窗口算法详解与C++实现
  • 蓝桥杯1140 最小质因子之和(Hard Version)
  • 深入理解位图(Bit - set):概念、实现与应用
  • 蓝桥杯19681 01背包
  • Web开发-JavaEE应用SpringBoot栈SnakeYaml反序列化链JARWAR构建打包
  • linux本地部署ollama+deepseek过程
  • 职场方法论总结(4)-如何正确地汇报
  • 使用Python制作Lorenz吸引子的轨道生成视频
  • 《云端共生体:Flutter与AR Cloud如何改写社交交互规则》
  • 数字电子技术基础(六十)——使用Digital软件绘制脉冲触发的触发器
  • C++:static成员
  • 你引入的lodash充分利用了吗?
  • 封装、继承、多态的理解
  • 中国旅马大熊猫“福娃”和“凤仪”启程回国
  • 上海这场有温度的“人才集市”,为更多人才搭建“暖心桥”
  • 2025年上海科技节开幕,人形机器人首次登上科学红毯
  • 美国新泽西客运公司遭遇罢工:40年来首次,35万人受影响
  • 纪念|脖子上挂着红领巾的陈逸飞
  • 世界数字教育大会发布“数字教育研究全球十大热点”