一.网络访问控制

1.Linux一般都是作为服务器系统使用,对外提供一些基于网络的服务

2.通常我们都需要对服务器进行一些网络访问控制,类似防火墙的功能

3.常见的访问控制包括:哪些IP可以访问服务器、可以使用哪些协议、哪些接口、是否需要对数据包进行修改等等。

4.如服务器可能受到来自某IP的攻击,这时就需要禁止所有来自该IP的访问。

5.Linux内核集成了网络访问控制功能,通过netfilter模块实现

二.IPTables

Linux内核通过netfilter模块实现网络访问控制功能,在用户层我们可以通过iptables程序对netfilter进行控制管理。

1.netfilter可以对数据进行允许、丢弃、修改操作

2.netfilter支持通过以下方式对数据包进行分类:

-源IP地址

-目标IP地址

-使用接口

-使用协议(TCP、UDP、ICMP等)

-端口号

-连接状态(new、ESTABLISHED、RELATED、INVALID)

三.Netfilter

1.filter(chain)用以对数据进行过滤

2.nat用以对数据包的源、目标地址进行修改

3.mangle用以对数据包进行高级修改

四.常用功能

1.作为服务器使用:

过滤到本机的流量   - input链、filter表

过滤到本机发出的流量 - output链、filter表

2.作为路由器使用:

过滤转发的流量 -forward链、filter表

对转发数据的源、目标IP进行修改(NAT功能) -PREROUTING、POSTROUTING、nat表

五.规则

1.iptables通过规则对数据进行访问控制

2.一个规则使用一行配置

3.规则按顺序排列

4.当收到、发出、转发数据包时,使用规则对数据包进行匹配,按规则顺序进行逐条匹配。

5.数据包按照第一个匹配上的规则执行相关动作:丢弃、放行、修改

6.没有匹配规则,则使用默认动作(每个chain拥有各自的默认动作)

通过iptables命令创建一个规则,一条规则包含以下几个部分:

iptables -t filter -A INPUT -s 192.168.1.1 -j DROP

表          链         匹配属性           动作

-表:规定使用的表(filter、nat、mangle,不同表有不同功能)

-链:规定过滤点

-匹配属性:规定匹配数据包的特征

-匹配后的动作:放行、丢弃、记录

六.基本操作

1.列出现有iptables规则:

iptables -L

2.插入一个规则:

iptables -I INPUT 3 -p tcp --dport 22 -j ACCEPT

3.删除一个iptables规则:

iptables -D INPUT 3 iptables -D INPUT -s 192.168.1.2 -j DROP

4.删除所有规则:

iptables -F

七.匹配参数

1.基于IP地址:

-s 192.168.1.1

-d 10.0.0.0/8

2.基于接口:

-i eth0

-o eth1

3.排除参数:

-s '!' 192.168.1.0/24

4.基于协议及端口:

-p tcp --dport 23

-p udp --sport 53

-p icmp

八.INPUT、OUTPUT

1.控制到本机的网络流量:

iptables -A INPUT -s 192.168.1.100 -j DROP

iptables -A INPUT -p tcp --dport 80 -j DROP

iptables -A INPUT -s 192.168.1.0/24 -p tcp --dport 22 -j DROP

iptables -A INPUT -i eth0 -j ACCEPT

九.FORWARD

当使用Linux作为路由(进行数据转发)设备使用的时候,可以通过定义forward规则来进行转发控制 如:

禁止所有192.168.1.0/24到10.1.1.0/24的流量:

iptables -A FORWARD -s 192.168.1.0/24 -d 10.1.1.0/24 -j DROP

十.NAT

1.NAT(Network Address Translation)网络地址转换是用来对数据包的IP地址进行修改的机制,NAT分为两种:

-SNAT 源地址转换,通常用于伪装内部地址(一般意义上的NAT)

-DNAT 目标地址转换,通常用于跳转

2.iptables中实现NAT功能的是NAT表

十一.常用NAT

1.通过NAT进行跳转:

iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-dest 192.168.1.10

2.通过NAT对出向数据进行跳转:

iptables -t nat -A OUTPUT -p tcp --dport 80 -j DNAT --to-dest 192.168.1.100:8080

3.通过NAT对数据流进行伪装

(一般意义上的NAT,将内部地址全部伪装为一个外部公网IP地址)

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

4.通过NAT隐藏源IP地址

iptables -t nat -A POSTROUTING -j SNAT --to-source 1.2.3.4

十二.配置文件

1.通过iptables添加的规则并不会永久保存,如果需要永久保存规则,则需要将规则保存在/etc/sysconfig/iptables配置文件中

2.可以通过以下命令将iptables规则写入配置文件:

service iptables save

3.CentOS/RHEL系统会带有默认iptables规则,默认保存在/etc/sysconfig/iptables中,保存自定义规则会覆盖这些默认规则

注意:

如果是远程管理一个Linux主机并修改iptables规则,则必须先允许来自客户端主机的SSH流量确保这是第一条iptables规则,否则可能会由于配置失误将自己锁在外面!

Linux防火墙iptables学习

http://blog.chinaunix.net/uid-9950859-id-98277.html 要在网上传输的数据会被分成许多小的数据包,我们一旦接通了网络,会有很多数据包进入,离开,或者经过 ...

Linux防火墙(Iptables)的开启与关闭

Linux防火墙(iptables)的开启与关闭 Linux中的防火墙主要是对iptables的设置和管理. 1. Linux防火墙(Iptables)重启系统生效 开启: chkconfig ipt ...

linux 防火墙iptables简明教程

前几天微魔部落再次遭受到个别别有用心的攻击者的攻击,顺便给自己充个电,复习了一下linux下常见的防火墙iptables的一些内容,但是无奈网上的很多教程都较为繁琐,本着简明化学习的目的,微魔为大家剔 ...

Linux防火墙iptables简明教程

前几天微魔部落再次遭受到个别别有用心的攻击者的攻击,顺便给自己充个电,复习了一下linux下常见的防火墙iptables的一些内容,但是无奈网上的很多教程都较为繁琐,本着简明化学习的目的,微魔为大家剔 ...

Linux防火墙iptables学习笔记(三)iptables命令详解和举例[转载]

Linux防火墙iptables学习笔记(三)iptables命令详解和举例 2008-10-16 23:45:46 转载 网上看到这个配置讲解得还比较易懂,就转过来了,大家一起看下,希望对您工作能 ...

linux 防火墙 iptables实例讲解

端口为例): 显示现有规则: iptables –L -n 清空现有规则表: iptables -F 黑名单:先允许所有数据包通过,后逐条添加黑名单规则. iptables –A INPUT–p tc ...

linux 防火墙 iptables 目录

linux iptables 防火墙简介 Linux 防火墙:Netfilter iptables 自动化部署iptables防火墙脚本

Linux防火墙iptables介绍

介绍网络防火墙是通过一个或多个允许或拒绝的规则来过滤网络流量的网络设备或软件.网络防火墙还可以执行更复杂的任务,例如网络地址转换,带宽调整,提供加密隧道以及更多与网络流量相关的任务.而我们的任务就是需 ...

Linux防火墙iptables基础详解

原文来自于:https://www.linuxidc.com/Linux/2017-01/140073.htm(引用自) 一:前言 防火墙,其实说白了讲,就是用于实现Linux下访问控制的功能的,它分 ...

随机推荐

三天学会HTML5 之第一天

引言 HTML5 一直是非常热门的话题,因此此系列文章主要从一些基本功能开始讲起,逐步深入了解HTML5的新概念. 首先了解一些基本的术语和概念. SGML, HTML,XML三者之间的区别 Doc类 ...

IOS: 模型面数控制

你可以先试试 生成之后在虚拟机上运行一下就知道了 不过关键也看手机的好坏 場景 人物 面數的話越少越好(但要保持模型的完整)  貼圖解析度也不要太大 資料越少越好 //================ ...

Vim常用的快捷键列表

insert: i:insert at now position 在光标之前插入 a:insert append 在光标之后插入 o:下面新建一行插入 s:删除后插入 <<:delete ...>

Ninject 在 Winform、 Asp&period;net MVC中连络EntityFramework的应用

Ninject 在 Winform. Asp.net MVC中连络EntityFramework的应用( 注入同一个DbContext的应用名人名言:科学是老老实实的东西,它要靠许许多多人民的劳动和智 ...

fragment类onresume里面刷新操作处理

今天项目中涉及fragment中嵌套多个fragment,但是要根据tag去展示对应的fragment,而不是默认展示的第一个fragment,如果使用activity很容易想到onpause(),o ...

多服务器操作利器 - Polysh

多台服务器下的痛苦人生 分布式架构下的系统,可以说每个服务都是分别部署在多台服务器上的,有的甚至还需要多机房,在这种架构下可以说可以很好的做到了易扩展.容灾等功能.推荐的服务部署为一服务多机器.一机器 ...

jsp页面报错(一)

jsp页面报错 1.错误位置

JQUERY的属性进行操作

Jquery方式操作属性(attribute) $().attr(属性名称);   //获得属性信息值 $().attr(属性名称,值);    //设置属性的信息 $().removeAttr(属性 ...

problem:为什么会有options请求

为了安全考虑,浏览器对资源访问有同源限制的问题,也就是web应用程序只能访问和它同一协议同一域名同一端口的web应用程序上的资源. 通过跨域资源共享机制可以让资源在浏览器中访问与该资源本身不同域的资源 ...

HDU 2492 Ping pong (数状数组)

Ping pong Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total S ...

linux防火墙常用控制协议,Linux防火墙iptables的基础相关推荐

  1. linux防火墙常用控制协议,linux防火墙配置及管理.doc

    linux防火墙配置与管理2 ufw防火墙简介 我们在工作中使用防火墙保护服务器的网络服务,实际上是通过防火墙来拒绝对服务器的访问.iptable 工具根据系统管理员编写的一系列规则筛选网络数据包对于 ...

  2. Linux中常用的文件目录,Linux学习笔记2——Linux中常用文件目录操作命令

    ls 显示文件和目录列表 -l 列出文件的详细信息 -a 列出当前目录所有文件,包含隐藏文件 mkdir 创建目录 -p 父目录不存在情况下先生成父目录 cd 切换目录 touch 生成一个空文件 e ...

  3. linux服务器常用维护命令,Linux服务器维护常用命令

    实时查看正在执行的sql语句 /usr/sbin/tcpdump -i eth0 -s 0 -l -w - dst port 3306 | strings | egrep -i 'SELECT|UPD ...

  4. linux的常用备份方法,Linux系统下常用的数据备份方法

    Linux系统下常用的数据备份方法 发布时间:2009-10-28 15:11:36来源:红联作者:szlfeng Linux系统下常用的数据备份方法 1.本机上数据的手工备份 Linux系统上配有功 ...

  5. Linux下常用软件,Linux下开发工具下载地址

    1.RAR 3.60 for Linux 软件说明:流行好用的压缩工具,支持鼠标拖放及外壳扩展,完美支持 ZIP 档案,内置程序可以解开 CAB.ARJ.LZH.TAR.GZ.ACE.UUE.BZ2. ...

  6. rpm包备份命令linux,RPM常用命令介绍 - Linux就该这么学的个人空间 - OSCHINA - 中文开源技术交流社区...

    rpm命令是RPM软件包的管理工具.rpm原本是Red Hat Linux发行版专门用来管理Linux各项套件的程序,由于它遵循GPL规则且功能强大方便,因而广受欢迎.逐渐受到其他发行版的采用.RPM ...

  7. linux移植会话层层协议,Linux内核移植-南京林业大学毕业设计.DOC

    Linux内核移植-南京林业大学毕业设计 南京林业大学 本科毕业设计(论文) 题 目:嵌入式LINUX在ARM9系统中的移植 院 (系) 信息与科学技术学院 专 业 计算机科学与技术 学 生 谢监荣 ...

  8. linux的常用的软件,Linux常用的软件和命令

    1.压缩软件rarlinux[root@XiaoFeng opt]# wget http://www.rarlab.com/rar/rarlinux-x64-5.5.0.tar.gz [root@Xi ...

  9. linux命令行控制fluent,linux 提交任务的命令(ansys lsdyna abaqus fluent)

    记录ansys lsdyna abaqus fluent 的命令提交方式 abaqus  提交命令 abaqus job=input inter ansys (mmp 版本17.2) ansys172 ...

最新文章

  1. 3 万小时——这是你一辈子花在开会上的时间
  2. 图像特征检测(Image Feature Detection)
  3. 二分类神经网络的特征光谱---1-2至1-9
  4. 真香,写代码神器!32寸曲面显示器免费送
  5. python读取文件r_python 文件读写模式r,r+,w,w+,a,a+的区别(附代码示例)
  6. linux支持表情的字体,让应用程序支持emoji字符
  7. Markdown 11种基本语法
  8. python 艺术照片滤镜_使用Python创建自己的Instagram滤镜|视觉实战
  9. 没有内存条电脑能开机吗_开机键过时了!3种电脑开机方法,能让你睡懒觉的技术还不快来学...
  10. amd 安装 linux驱动怎么安装教程,请教,怎么在ubuntu里安装amd显卡驱动
  11. word 7桌面上的计算机图标是,怎么设置win7系统桌面图标都变成word图标的处理办法...
  12. ThriftParserError: ThriftPy does not support generating module with path in protocol 'd'
  13. mysql 终端 远程访问,通过终端连接到远程mysql
  14. ARP和RARP报头结构
  15. 通用高性能 Windows Socket 组件 HP-Socket v2.2.1(增加 PULL 模型支持)
  16. 链表冒泡排序java_055-冒泡排序算法代码实现
  17. 软件工程学习总结(2)——大部分的软件工程其实就是管道作业
  18. Ubuntu安装JDK教程
  19. 超级好用的TXT分本分割工具
  20. Unit 2, TCP header recap

热门文章

  1. CAS认证登录,CAS客户端配置并对接多个不同服务端(spring boot)
  2. ADS-B及其GPS数据异常分析
  3. AI滤镜,卡通滤镜~|Mixlab下一代图像编辑器
  4. 史上最大DDoS攻击曝光,没想到还有这么多人拿“12345”当密码
  5. 重庆计算机上机操作试题,重庆市计算机等级考试C语言上机模拟试题答...doc
  6. boss直聘改回系统头像_BOSS直聘“带”薪直播告诉你,跟对老板有多重要?
  7. 三大涉黄APP被端!7000名女主播直播果聊内幕曝光
  8. linux做溶菌酶教程时怎么去掉结晶水,md基本教程-溶菌酶的水溶液的md模拟
  9. 分子量(Molar Mass)数数字(Digit)||UVa 1586,1225
  10. mysql中输出100内质数,oracle中用while循环查询1到100的质数(素数)