linux 防火墙介绍以及iptables的使用

news2024/10/12 11:16:55
背景介绍

        在前几天,于工发现我们内部的150服务器7554端口被外网访问了。该应用提供着内部的摄像头资源。为了避免被入侵,于是我添加了一些iptables规则,防止外网的访问。

解决方式

解决方式有两种:

  • 关闭公司公网路由器对150服务器进行端口映射
  • 在150服务器上进行iptables的规则设置,只允许内部网段进行访问。

对于第一种方式,只要将路由器上对应的端口映射关闭即可,不需要做其他操作。

第二种方式,需要在150上进行设置:

iptables -I INPUT -p tcp --dport 7554 -j DROP 
iptables -I INPUT -s 192.168.18.0/24 -p tcp --dport 7554 -j ACCEPT
iptables -I INPUT -s 180.168.172.70 -p tcp --dport 7554 -j ACCEPT
service iptables save

第一条命令:在INPUT链中,将所有TCP协议,目的端口是7554的数据包,全部丢掉
第二条命令:在INPUT链中,将源IP为192.168.18.0/24网段,传输协议为TCP,目标端口是7554的数据包接收
第三条命令:和第二条类似,只不过接受的是某一个具体源IP。
第四条命令:保存设置,否则重启之后就不再生效。

iptables可通过 -t 来选择表,内建的规则表有三个,分别是:nat、mangle 和 filter。若没有指定,则默认为filter表。

至此,问题就解决了。但是在过程中,发现自己对netfilter表不熟悉了,iptables命令使用的也不熟练。顺便回顾一遍。

netfilter的四表五链

linux的防火墙其实就是netfilter。它主要包含以下四表五链:
filter表:过滤数据包
Nat表: 用于网络地址转换
Mangle表: 修改数据包的服务类型,TTL,并且可以配置路由器实现QOS
RAW表: 决定数据包是否被状态跟踪器机制处理

四张表的由优先级:raw>mangle>nat>filter

INPUT链:进来的数据包应用此规则链中的策略
OUTPUT链:外出的数据包应用此规则链中的策略
FORWARD链: 转发数据包时应用此规则链中的策略
PREROUTING链:对数据包做路由选择前应用此链中的规则
POSTROUTING链: 对数据包作路由器选择后应用此链中的规则

netfilter图可参考以下:

由图可知:
RAW(conntrack)表在PREROUTING和OUTPUT链中
mangle表在五链中都有
nat表存在PREROUTING和OUTPUT和POSTROUTING链中
filter表存在FORWARD和INPUT,OUTPUT链中。

iptables介绍

iptables只是一个应用工具。通过对netfilter的介绍,我们知道linux的防火墙框架就是netfilter。但是它是处于内核空间的,我们无法直接去控制。而iptables就是应用层的工具。

由于iptables内容较多,我这里主要通过几个例子来介绍。能够达到看懂命令,根据需求去搜索资料即可。

iptables的命令格式如下:

iptables command chain rule-specification [options]
//chain 指哪一条链 

command

-APPEND (-A):表示附加,它会将规则添加到已有防火墙链中的末尾。规则在防火墙链中的位置很重要,因为在一般情况下,防火墙链中的最后一条是丢弃所有包。很可能导致新建规则无效

-DELETE (-D):表示删除规则。一般使用iptables -D chain rulenum,删除chain中编号是rulenum的规则

-INSERT (-I):表示插入规则。一般使用iptables -I chain [rulenum] firewall-rule,在chain中的添加规则为第rulenum条。后面的规则全都加1.若没有指定rulenum,默认是第一条

-LIST (-L):列出规则,一般使用iptables -L --line-numbers

-FLUSH (-F):清空规则。一般使用iptables -F [chain],清空chain中的规则。若没有指定chain,则全部清空。

options

-P 代表协议。若不指定定协议,则默认为all。/etc/protocols文件包含了所支持的协议和值。

-S 代表源地址。可以是ip,网路地址或主机名。若不指明源地址,则匹配所有源地址

-D 代表目的地址。和-S相似。

-J 表示跳转。指当某个数据包满足该规则时就跳转到写一个处理规则。不再继续顺序处理后面的规则判断。处理规则一般有:ACCEPT,DORP,QUEUE,RETURN。分别表示接受,丢弃,进入队列,返回。

-I 表示进入的网络接口。比如:-I eth0,表示该规则主要针对eth0接口进入的数据包。

-O 代表出站网络接口,和-I相似。

-SPORT 表示源端口。可以指定端口号或端口名称。在/etc/service文件中包含了所有允许的端口和对应的端口号(内容很多)。

-DPOT 表示目的端口。和-SPORT相似。

练习

基本的iptables的语法已经介绍完了,通过几个例子,更快的上手。

  1. 删除现有规则。iptables -F
  2. 阻止一个特定的IP地址。iptables -A INPUT -s "$BLOCK_THIS_IP" -j DROP
  3. 允许所有传入SSH。
iptables -A INPUT  -i eth0 -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT

4.将来自422端口的流量全部转到22端口。

iptables -t nat -A PREROUTING -p tcp -d 192.168.102.37 --dport 422 -j DNAT --to 192.168.102.37:22

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1108846.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

跑得“快”还要走得“稳”,看头部车企数字化实践怎么做

立足于人工智能、大数据、云计算等各种新技术变革的交汇点,无论是造车新势力还是传统车企,都在积极构建全链条、全流程数字化生态圈。在看得见的产品智能化、功能自动化之下,车企自身的数字化能力建设,则成为影响竞争格局的一条秘…

linux uboot kenerl filesystem关系

每次烧写都是uboot,image,roots,为什么不整一套,为什么分开 什么是uboot 什么是内核,三者为什么分开 如果你上网去搜一下,你会发现这样的答案 另注:本文含有大量的错误和意测成份&#xff0c…

【脉冲通信】用于空间应用的飞秒脉冲通信的符号误码率模型研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

超声波清洗机有没有平价又好用的推荐、平价好用超声波清洗机总结

超声波清洗机以其高效、环保、节能等优点在日常生活中得到了广泛应用。无论是在珠宝首饰、眼镜等小物品的清洁方面,还是在医疗领域的清洁消毒方面,超声波清洗机都发挥着不可替代的作用。在购买超声波清洗机时,需要根据自己的具体需求选择合适…

“创新启变 聚焦增长”极狐(GitLab)媒体沟通会,共话智能时代软件开发新生态

10 月 18 日 北京 昨日,全球领先 AI 赋能 DevSecOps 一体化平台极狐(GitLab) 在北京举办了主题为“创新启变 聚焦增长”的媒体沟通会。极狐(GitLab) CEO 柳钢就“中国企业数字化转型、软件研发、技术自主可控等热点问题,以及 AI 大模型时代下&#xff0c…

逐字稿 | 2 MoCo 论文逐段精读【论文精读】

bryanyzhu的个人空间-bryanyzhu个人主页-哔哩哔哩视频 评价 今天我们一起来读一下 MOCO 这篇论文。 MOCO 是 CVPR 2020 的最佳论文提名,算是视觉领域里使用对比学习的一个里程碑式的工作。而对比学习作为从 19 年开始一直到现在视觉领域乃至整个机器学习领域里最炙…

数据可视化素材分享 | 数十图表、无数模板

很多人在后台求分享报表、源代码,其实何必这么麻烦,在奥威BI数据可视化平台上点击即可获得大量的可视化素材,如数十种可视化图表,适用于不同分析场景;又如大量不同主题的BI数据可视化报表模板,套用后替换数…

JAVA性能优化:n个小细节让你提升java代码的运行效率

目录 1、尽量指定类、方法的final修饰符 2、尽量重用对象 3、尽可能使用局部变量 4、及时关闭流 5、尽量减少对变量的重复计算 6、尽量采用懒加载的策略,即在需要的时候才创建 7、慎用异常 8、不要在循环中使用try…catch…,应该把其放在最外层 …

神经网络量化----为了部署而特别设计

引言:一般神经网络量化有两个目的: 为了加速,在某些平台上浮点数计算比较耗费时间,替换为整形可以加快运算为了部署,某些平台上只支持整形运算,比如在芯片中 如果是第1个目的,则使用常规的量化手…

在线课堂分销商城小程序源码系统 带完整搭建教程

大家好啊,今天来给大家分享一个在线课堂分销商城小程序源码系统,一起来看看吧。以下是部分功能实现的核心代码: 系统特色功能一览: 商品模块。包括实物商品、虚拟商品和电子卡密等,每种商品可以设置对应的商品分类。同…

购药不烦恼:线上购药小程序的快捷方式

在这个数字化时代,线上购药小程序的快捷方式正在改变着我们购药的方式。本文将介绍如何通过使用Python和Flask框架创建一个简单的线上购药小程序的原型,为用户提供购药的便利和快捷体验。 安装和设置 首先,确保你已经安装了Python和Flask。…

MATLAB中ss2tf函数用法

目录 语法 说明 示例 质点-弹簧系统 双体振荡器 ss2tf函数的功能是将状态空间表示形式转换为传递函数。 语法 [b,a] ss2tf(A,B,C,D) [b,a] ss2tf(A,B,C,D,ni) 说明 [b,a] ss2tf(A,B,C,D) 将方程组的状态空间表示形式转换为等同的传递函数。ss2tf 返回连续时间方程组…

C语言实现句子中的单词颠倒排序

一、运行结果 二、源代码 # define _CRT_SECURE_NO_WARNINGS # include <stdio.h> # include <assert.h>//实现逆转函数&#xff1b; void reverse(char* left, char* right) {//断言left和right都不能为空&#xff1b;assert(left);assert(right);//循环逆转字母…

电容笔好还是触屏笔好?便宜又好用的电容笔推荐

苹果的电容笔和其他平替的电容笔有很大的区别&#xff0c;那就是普通的电容笔没有重力的压感&#xff0c;只有一种倾斜的压感。但普通的电容笔也可以用于书写&#xff0c;和苹果的Pencil没有太大区别&#xff0c;而且大部分都要200元左右。目前&#xff0c;在我们国内内&#x…

开源Vue盲盒商城4.0源码/网页盲盒源码/前端uniapp后端thinkphp+安装教程/亲测

源码简介&#xff1a; 开源Vue盲盒商城4.0源码&#xff0c;它是打包小程序app的网页盲盒源码,亲测可用&#xff0c;它是采用vueTP5框架开发开源盲盒网站源码&#xff0c;附带了安装教程。 简单测试过了&#xff0c;可以使用&#xff0c;大家可以自测下。 前端uniapp后端think…

免费活动】11月4日敏捷武林上海站 | Scrum.org CEO 亲临现场

活动介绍 过去的几年里&#xff0c;外界的风云变幻为我们的生活增添了一些不一样的色彩。在VUCA世界的浪潮里&#xff0c;每一个人都成为自己生活里的冒险家。面对每一次的变化&#xff0c;勇于探索未知&#xff0c;迎接挑战&#xff0c;努力追逐更好的自己。 七月&#xff0…

超声波清洗机靠谱吗?实用性比较高的超声波清洗机推荐

超声波清洗机是否靠谱&#xff0c;这是一个有争议的问题&#xff01;但是先不妨先来了解了解超声波清洗机。 超声波清洗机通过高频振动波来清洁物品表面&#xff0c;这些振动波会在水中形成微小的气泡。气泡不断崩裂&#xff0c;产生强大的冲击力&#xff0c;从而将物品表面的…

网络安全是什么?一文认识网络安全

一、网络安全 1.概念 网络安全从其本质上讲就是网络上的信息安全&#xff0c;指网络系统的硬件、软件及数据受到保护。不遭受破坏、更改、泄露&#xff0c;系统可靠正常地运行&#xff0c;网络服务不中断。 &#xff08;1&#xff09;基本特征 网络安全根据其本质的界定&#…

《深入理解java虚拟机 第三版》学习笔记一

第 2 章 Java 内存区域与内存溢出异常 2.2 运行时数据区域 Java 虚拟机在执行 Java 程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域有各自的用途&#xff0c;以及创建和销毁的时间&#xff0c;有的区域随着虚拟机进程的启动而一直存在&#xff0c;有些…

智慧门牌管理系统:省市区县区划数据与国家级开发区共融

文章目录 前言一、行政区划数据的重要性二、支持国家级开发区的发展三、数据基础的重要性 前言 随着科技的飞速发展&#xff0c;我们的生活正在发生日新月异的变化。其中&#xff0c;智慧城市的概念正逐渐成为我们生活中的一部分。智慧城市&#xff0c;顾名思义&#xff0c;运…