Linux中iptables那点儿事儿

linux下IPTABLES配置详解 这样设置还是挺合理的,当然你也可以三个链都DROP,但这样做我认为是没有必要的,而且要写的规则就会增加.但如果你只想要有限的几个规则是,如只做WEB服务器.还是推荐三个链都是DROP.里filter表里的两个链规则(INPUT,FORWARD)时,不在这两个规则里的数据包怎么处理呢,那就是DROP(放弃).应该说这样配置是很安全的.我们要控制流入数据包。在下面就是FORWARD链,FORWARD链的默认规则是DROP,所以我们就写需要ACCETP(通过)的链,对正在转发链的监控. 阅读详情

1、NetFilter

是Linux系统核心层内部的一个数据包处理模块

2、Hook point

数据包在NetFilter中的挂载点,包括

  • PRE_ROUTING
  • INPUT
  • OUTPUT
  • FORWARD
  • POST_ROUTING

iptables命令最终会调用netfilter,通过hook point挂载到网络层五个不同的挂载点,数据包通过这些挂载点,进行相应的操作,实现目的;

3、iptables规则组成

四张表+五条链+规则

3.1 四张表:

  • filter表:访问控制、规则匹配;
  • nat表:地址转发;
  • mangle表:修改数据包,改变包头中内容(TTL、TOS、MARK),不常用;
  • raw表:数据包的状态跟踪和分析,不常用;

3.2 五条链:INPUT、OUTPUT、FORWARD、PREROUTING、POSTROUTING

3.3 规则

  • 数据包访问控制:ACCEPT、DROP、REJECT
  • 数据包改写地址:SNAT(源地址)、DNAT(目标地址)
  • 信息记录:LOG

4、配置实例

4.1 查看本机端口使用情况

netstat -lntp

4.2 查看iptables版本

iptables --version
iptables v1.4.21

4.3 开放指定端口

查看已有iptables规则

iptables -nL

清除已有规则

iptables -F

4.3.1 规则1:

  • 开放22、80、10-21tcp端口访问
  • 开放基于ICMP协议的数据包访问(即ping)
  • 其他禁止访问
iptables -I INPUT -p tcp --dport 22 -j ACCEPT
iptables -I INPUT -p tcp --dport 80 -j ACCEPT
iptables -I INPUT -p tcp --dport 10:21 -j ACCEPT
iptables -I INPUT -p icmp -j ACCEPT
iptables -A INPUT -j REJECT

删除80端口

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

禁止访问80端口

iptables -I INPUT -p tcp --dport 80 -j REJECT

4.3.2 规则2:

  • 本机可以访问本机
  • 本机可以访问其他主机
iptables -I INPUT -i lo -j ACCEPT
iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

4.3.3 规则3:

只允许指定IP地址访问指定的端口80

iptables -I INPUT -p tcp -s 118.24.9.139 --dport 80 -j ACCEPT

设置后,在139上访问80端口

[root@centos ~]# curl -I http://ip:80
HTTP/1.1 403 Forbidden
Date: Sat, 20 Apr 2019 15:53:35 GMT
Server: Apache/2.4.6 (CentOS)
Last-Modified: Thu, 16 Oct 2014 13:20:58 GMT
ETag: "1321-5058a1e728280"
Accept-Ranges: bytes
Content-Length: 4897
Content-Type: text/html; charset=UTF-8

在其他电脑上访问80端口

curl -I http://ip:80
curl: (7) Failed to connect to ip port 80: Connection refused

4.4 FTP场景

  • 主动模式:1、客户端向服务器21端口发送用户名密码登录服务器;2、服务端由21端口返回登录成功消息;3、客户端随机开放端口;4、客户端向服务端21号端口发送PORT命令,上传随机端口号;5、服务端由20端口向客户端的随机端口主动发送数据;
  • 被动模式:1、客户端向服务器21端口发送用户名密码登录服务器;2、服务端由21端口返回登录成功消息;3、客户端向服务端21号端口发送PASV命令;4、服务端随机开放端口;5、客户端接收服务端随机端口信息;6、客户端连接到随机端口获取数据;

4.4.1 FTP主动模式

ftp连接的默认模式为被动模式

vsftpd服务支持主动模式需要注意配置选项(vim /etc/vsftpd/vsftpd.conf)

  • port_enable=yes
  • connect_from_port_20=YES

iptables需要开启21端口访问权限,而不需要开启20端口号,因为20端口从服务端向客户端发送数据,而不是从客户端向服务端发送数据;

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

主动模式下规则:

iptables -F
iptables -I INPUT -p tcp --dport 21 -j ACCEPT
iptables -I INPUT -p tcp --dport 22 -j ACCEPT
iptables -I INPUT -p icmp -j ACCEPT
iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -j REJECT
iptables -nL

因为主动模式中,服务端通过20端口向客户端随机端口发送数据,只有局域网内直连的情况下,才会成功,所以一般建议使用被动模式;

4.4.2 被动模式

为vsftpd指定数据端口,并且通过iptables开放相应需要传输的端口段;

修改vsftpd配置文件vim /etc/vsftpd/vsftpd.conf

  • pasv_min_port=50000
  • pasv_max_port=60000

被动模式下规则:

iptables -F
iptables -I INPUT -p tcp --dport 21 -j ACCEPT
iptables -I INPUT -p tcp --dport 22 -j ACCEPT
iptables -I INPUT -p tcp --dport 50000:60000 -j ACCEPT
iptables -I INPUT -p icmp -j ACCEPT
iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -j REJECT
iptables -nL

4.5 常见端口梳理

常见允许外网访问的服务

  • 网站:http-80/tcp,https-443/tcp
  • 邮件:smtp-25/tcp,smtps-465/tcp,pop3-110/tcp,pop3s-995/tcp,imap-143/tcp

常见不允许外网访问的服务

  • 文件服务器:nfs-123/udp,samba-137:139/tcp-445/tcp,ftp-20:21/tcp
  • 远程管理:ssh-22/tcp
  • 数据库:mysql-3306/tcp,oracle-1521/tcp

4.6 将规则保存到配置文件中

[root@server ~]# service iptables save
iptables: Saving firewall rules to /etc/sysconfig/iptables:[  OK  ]

将服务设置为开机启动

chkconfig iptables on

查看是否已经加入开机启动列表

chkconfig --list | grep iptables

如果上述命令不能显示,使用如下命令:

[root@server ~]# systemctl list-unit-files | grep iptables
iptables.service                          enabled

4.7 手动将规则写入shell脚本中

将规则写入iptables_ssh.sh文件中,并将启动该脚本的命令加入到/etc/rc.local文件中,实现开机自启效果;

5、NAT模式

  • SNAT:源地址转换,作用在出口POSTROUTING作用连上;
  • DNAT:目标地址转换,作用在入口PREROUTING作用连上;

 

更加详细请移步

http://www.cnblogs.com/gaorong/p/8047559.html

 

 

 

 

 

 

 

 

 

 

 

 

激光雷达-IMU标定工具lidar_imu_calib保姆级教程(VLP-16实测) 本文提供激光雷达与IMU联合标定的详细实战教程,重点解析lidar_imu_calib工具在VLP-16上的应用。从环境部署、数据采集技巧到参数配置与结果验证,手把手指导完成标定全流程,并详解如何在LIO-SAM等SLAM系统中应用标定结果,确保传感器融合精度。 阅读详情

相关推荐

I2S时序及音频驱动

I2S、音频驱动

qq_41882586的博客 3945

iptables中 -A 和 -I 参数的区别

在使用iptables添加规则的过程中,看到-A和-I参数都是添加规则,刚开始容易混淆,然后就专门试了一下,原来差异在这里。删除上述4、5、6、7号规则,然后是-I。

ss810540895的博客 6257

目标检测数据集 第059期-基于yolo标注格式的水果李子检测数据集(含免费分享)

李子作为中国三大水果之一,种植历史超 3000 年,在市场中占据重要地位。传统李子种植、施肥、采摘依赖大量人力,存在资源浪费、产量估算不准、采摘时机难把控等问题。此前,农业领域缺乏针对 “未成熟李子” 的专用数据集,现有水果检测数据集多聚焦于成熟果实(如苹果、柑橘),且未覆盖李子种植的复杂自然场景。在使用该数据集进行学术研究时,应遵守相关的学术规范,引用该数据集的来源,尊重数据集创作者的劳动成果。,用于训练改进型模型,解决李子精准检测的核心痛点。

深度学习算法工程师,专注于前沿算法研究与实战应用。在这里,我将分享深度学习领域的实战经验、优质数据集资源以及最新论文解读与精度分析,旨在与广大技术爱好者共同探索人工智能的奥秘,助力技术成长与创新。 771

iptables详解

看完下面这个iptables的讲解一下子豁然开朗,写的很详细 一:前言 防火墙,其实说白了讲,就是用于实现Linux下访问控制的功能的,它分为硬件的或者软件的防火墙两种。无论是在哪个网络中,防火墙工作的地方一定是在网络的边缘。而我们的任务就是需要去定义到底防火墙如何工作,这就是防火墙的策略,规则,以达到让它对出入网络的IP、数据进行检测。 目前市面上比较常见的

wdt3385的专栏 5414

DSP28335量产升级避坑指南:C2Prog串口烧录.hex文件,为什么我推荐COM1?

本文详细解析了DSP28335量产升级中C2Prog串口烧录.hex文件的最佳实践,重点推荐使用COM1端口以确保稳定性。通过实测数据和底层机制分析,揭示了Windows系统对COM1的特殊优化及C2Prog工具的时钟切换逻辑,帮助开发者规避常见陷阱,提升烧录成功率。

weixin_27066963的博客 384

基于STM32设计的4G远程视频侦查小车(图传+远程控制+EMQX+MQTT)(204)

当前设计了一款基于STM32F103ZET6主控芯片和废旧Android手机改造的4G侦查小车。该设计充分利用已有的智能手机硬件资源,实现摄像头画面的实时采集与上传,以及远程控制功能。这样的设计不仅降低了成本,而且充分利用了废旧手机中高性能的硬件资源,如摄像头、4G通信模块和电池等,实现了资源的有效循环利用。

2527

iptables全面详解(图文并茂含命令指南)

iptables原理详解及操作指南

程序人生 6万+

GEE:面对对象土地利用分类(结合SNIC、GLCM 和机器学习算法)

本文将介绍在Google Earth Engine中结合SNIC、GLCM和机器学习算法的的土地利用/土地覆盖(LULC)分类方法。结果如下图所示,

养乐多的博客 5613

Linux iptables命令详解

iptables 是 Linux 防火墙系统的重要组成部分,iptables 的主要功能是实现对网络数据包进出设备及转发的控制。当数据包需要进入设备、从设备中流出或者由该设备转发、路由时,都可以使用 iptables 进行控制。下面良许小编就将从几个方面对于Linux iptables命令进行详述,希望对大家有所帮助。 iptables简介 iptables 是集成在 Linux 内核中的包过滤防火墙系统。使用 iptables 可以添加、删除具体的过滤规则,iptables 默认维护着 4 个表和

一口Linux的专栏 17万+

基于深度学习的番茄成熟度检测系统——YOLOv5、YOLOv8、YOLOv10及UI界面的实现

YOLO是一种快速且准确的目标检测模型,近年来,YOLOv5、YOLOv8和YOLOv10作为YOLO系列的重要版本,分别在速度、精度和效率上进行了优化。下面我们简要介绍这些模型。本文介绍了如何基于YOLOv5、YOLOv8和YOLOv10等深度学习模型,结合PyQt5设计一个番茄成熟度检测系统。通过训练模型、优化算法和设计用户友好的界面,我们能够构建一个高效且准确的番茄成熟度检测系统,广泛应用于农业自动化和智能化管理中。

YOLO 1002

备赛电赛学习硬件篇(六):复位电路工作原理

上电复位的工作过程是在加电时,复位电路通过电 容加给RST端一个短暂的高电平信号,此高电平信号随着Vcc对电容的充电过程而逐渐回落,即RST端的高电平持续时间取决于电容的充电时间。在图2的复位电路中,当Vcc掉电时,必然会使RST端电压迅速下降到0V以下,但是,由于内部电路的限制作用,这个负电压将不会对器件产生损害。在上电或复位过程中,控制CPU的复位状态:这段时间内让CPU保持复位状态,而不是一上电或刚复位完毕就工作,防止CPU发出错误的指令、执行错误操作,也可以提高电磁兼容性能。

m0_61022809的博客 6771

linux iptables

一、iptables基础 ①规则(rules):网络管理员预定义的条件 ②链(chains): 是数据包传播的路径 ③表(tables):内置3个表filter表,nat表,mangle表分别用于实现包过滤网络地址转换和包重构的功能 ④filter表是系统默认的,INPUT表(进入的包),FORWORD(转发的包),OUTPUT(处理本地生成的包),filter表只能对包进行授受和丢弃的操作。 ⑤...

u013015301的博客 7630

OceanBase数据迁移(OMS)深度解析:异构数据库迁移方案、核心原理与实战优化指南

OceanBase迁移服务(OMS)提供异构数据库间全量+增量数据迁移与实时同步能力,核心价值在于保障业务连续性、数据一致性和异构兼容性。其分层架构包含服务接入层、流程编排层和组件链路层,支持Oracle/MySQL/DB2等与OceanBase的数据交互。关键技术包括DBCat引擎处理结构转换、并行分片实现全量迁移、以及日志解析保障增量同步。OMS通过类型映射、批量提交和断点续传等优化手段,确保迁移过程高效可靠,典型应用于去O迁移、数据库升级等场景。

本博客聚焦 YOLOv11 全流程落地,涵盖架构优化、数据集处理、训练技巧与多场景部署,兼及国产数据库、Java 开发与 AI 模型应用,内容兼顾理论与工程实践,为开发者提供系统干货,助力高效提升技术能力。 847

Linux 端口限流(tc + iptables)

一、相关概念 报文分组从输入网卡(入口)接收进来,经过路由的查找, 以确定是发给本机的,还是需要转发的。如果是发给本机的,就直接向上递交给上层的协议,比如TCP,如果是转发的, 则会从输出网卡(出口)发出。网络流量的控制通常发生在输出网卡处。虽然在路由器的入口处也可以进行流量控制,Linux也具有相关的功能, 但一般说来, 由于我们无法控制自己网络之外的设备, 入口处的流量控制相对较难。本文将集中...

非止。的专栏 8819

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

查看linux iptables 配置文件,Linux iptables 配置详解

Linux iptables 配置详解[日期:2012-12-29]来源:Linux社区作者:Linux[字体:大 中 小]一、配置一个filter表的防火墙1. 查看本机关于 iptables 的设置情况# iptables -L -nChain INPUT (policy ACCEPT)target prot opt source destinationChain FORWARD (polic...

weixin_29752389的博客 4257

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Linux之iptables命令

5、在配置IPTABLES白名单时,往往会将链的默认策略设置为ACCEPT,通过在链的最后设置REJECT规则实现白名单机制,而不是将链的默认策略设置为DROP,如果将链的默认策略设置为DROP,当链中的规则被清空时,管理员的请求也将会被DROP掉。iptables:运行在用户空间的应用软件,命令行工具,通过其设置规则,来控制netfilter模块,从而实现网络数据包的管理,从而实现防火墙的配置。在没有顺序要求的情况下,不同类别的规则,被匹配次数多、匹配频率高的规则应放在前面。

个人学习所用博客,记录日常学习的过程。 1300

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Linux iptables工具的使用

本文详细介绍了Linux系统中的iptables防火墙工具及其应用。iptables作为与内核集成的netfilter框架的管理工具,通过表(filter、nat、mangle、raw)和链(INPUT、OUTPUT等)的分层结构实现包过滤、地址转换和流量控制功能。文章阐述了数据包处理流程、规则配置语法、常用处理动作(ACCEPT、DROP等)以及典型应用场景,如Wi-Fi热点共享4G网络。通过具体实例演示了启用IP转发、配置NAT规则实现网络共享的全过程。iptables凭借其灵活的规则配置和强大的网络控

qq_42128606的博客 1444

Linux命令详解:iptables 命令

iptables 是组成 Linux 平台下的包过滤防火墙,与大多数的 Linux 软件一样,这个包过滤防火墙是免费的,它可以替代昂贵的商业防火墙解决方案,完成封包过滤、封包重定向和网络地址转换(NAT)等功能。在日常 Linux 运维工作中,经常会设置 iptables 防火墙规则,用来加固服务安全。

morgan363的专栏 1534

linux的iptables配置

原文地址: https://blog.youkuaiyun.com/zhengsaisai/article/details/81063598 安装iptable iptable-service 先检查是否安装了iptables service iptables status 安装iptables yum install -y iptables 升级iptables yum update iptables 安装...

qq_39724895的博客 290

iptables找不到 Linux中找不到iptables

Linux中找不到iptables 一、原因:最近新安装了一个Linux服务器,在安装mysql的时候发现远程连接不上,怀疑是MySQL的3306端口还没打开,想查看下iptables中有没有设置了端口的,结果发现是找不到iptables。 二、重新安装iptables 1. 停止防火墙: systemctl stop firewalld 2. 重新打开防火墙: systemctl mask f...

Jim~LoveQ的博客 6196

linux之iptables基础

入侵检测系统:以提供报警和事后监督为主,不采取措施入侵防御系统 :透明模式工作,分析数据包的内容如:溢出攻击、拒绝服务攻击、木马、蠕虫、系统漏洞等进行准确的分析判断,在判定为攻击行为后立即予以 阻断,主动而有效的保护网络的安全,一般采用在线部署方式。(必经之路)

MCB134的博客 1061

linux iptables 脚本

#!/bin/sh # # iptables Start iptables firewall # # chkconfig: 2345 08 92 # description: Starts, stops and saves iptables firewall # # config: /etc/sysconfig/iptables # config: /etc/sysconfig/iptables-config # ### BEGIN INIT INFO # Provides: iptables ...

yanhui007的专栏 909

Linux(十)——FTP与IPTABLES

本文介绍了FTP服务的基本原理和搭建配置方法,以及Linux系统防火墙iptables的工作原理和密钥交互验证机制。主要内容包括:1)FTP服务安装配置步骤,包括关闭防火墙、安装vsftpd、修改配置文件和权限设置;2)iptables防火墙的四表五链结构和工作原理;3)SSH密钥对生成与配置方法,实现免密登录。通过Windows和Linux环境的实际操作演示,详细说明了FTP匿名访问、普通用户配置以及Xshell密钥登录的过程,为网络服务的安全部署提供了实用指导。

liuxinshuang0512的博客 924

基于Linux的iptables的配置

一、iptables概述       iptables是Linux上常用的防火墙软件,是netfilter项目的一部分。可以直接配置,也可以通过许多前端和图形界面配置。类似于firewalld。二、iptables的使用实验环境:    systemctl stop firewalld systemctl disable firewalld systemctl start ipta...

Forever 的博客 1822

Linux防火墙之iptables

你也30遍?

煤五千的博客 802
上一篇: 【Java设计模式】代理模式
下一篇: 【设计模式系列学习笔记】1、简单工厂模式
hellboy0621
博客等级 码龄9年 61粉丝 147原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值