Linux防火墙配置学习记录
一.iptables基本原理
1.iptables是一个管理内核包过滤的工具,包含4个表,5个链
表和链被称为Netfilter模块的两个维度,
表提供特定的功能
内置四个表:
- filter表:用于对数据过滤(包过滤)
- nat表 :用于对数据包的源,目标IP地址进行修改(网络地址转换)
- mangle表:用于对数据包进行高级修改(包重构 )
- raw表 :包重构和数据跟踪处理,优先级最高,一般不做处理,一旦设置就是不再让iptables做数据包连接跟踪
链是数据包传播途径
iptables包含5个链,分别代表数据包在网络传输的5种状态
- PREROUTING(路由前):
- INPUT(通过路由表后,流入本机的数据
- FOREWARD(通过路由表后。目的不是主机,需要转发)
- OUTPUT(由本机流出去的数据)
- POSTROUTING(路由后)
对filter起作用的3条链:INPUT,FORWARD,OUTPUT
对nat 起作用的3条链 :PREROUTING OUTPUT POSTROUTING
对mangle起作用的5条链:PREROUTING INPUT FORWARD OUTPUT POSTROUTING
2.Linux内核集成了网络访问控制的功能是通过Netfilter进行控制管理
Netfilter支持以下方式对数据包进行分类:
- 源IP/目标IP 地址
- 使用接口
- 使用协议(TCP UDP ICMP等)
- 端口号
- 连接状态(new Established Related Invalid)
3.iptables语法
使用权限:root
使用方式:iptables [-t 参数] 指令 条件[目标|链]
说 明 :显示当前登录系统用户的信息,可以轻松显示登录账号,使用的终端,登录时间,来源ip等
参数 :分为指令集,目标集,条件集
指令集:
-N 建立一个新的链
-P 改变一个链的规则
-F 清除一个链的所有规则
-I 在链内某个位置插入一个新规则
-D 在链内某个位置删除一条规则
-X 删除一个空链
-L 列出一个链的规则
-A 在一个链的最后新增一条规则(append)
-R 在链内某个位置替换一条规则(replace)
目标集:
ACCEPT:通过链检验,接受这个数据包
DROP :未通过链检验,立即丢弃这个封包
QUEUE:将封包重导至本机端的队列
RETURN:通过链的检验,回到原来的链中
TOS :改变封包TOS字段的值
REJECT:未通过链检验,丢弃数据包
SNAT :改变封包来源IP字段的值
DNAT :改变封包目标IP字段的值
MASQUEUE:动态的根据路由修改Source Socket
REDIRECT:重导封包至另外一个地址或连接端口
TTL :改变封包TTL字段的值
条件集:
-i -o 网络接口匹配
-p 匹配所属协议
-m state 匹配联机类型
--top-flags -icmp-type 封包类型
-s 匹配数据包源IP
--sport 匹配数据包的源端口
-d 匹配数据包的目的ip
--dport 匹配数据包的目的端口
INPUT OUTPUT FOREARD 封包在防火墙中的流向
-j 跳至目标或自定链
4.追加规则:
语法
iptables -A chain firewall-rule
-A chain 指定要追加的规则
firewall-rule 为具体的规则参数
cat /etc/protocols #查看协议与值对应关系
-s 源地址(source)
指定数据源IP地址:-s 192.168.1.101 指定IP地址 -s 192.168.1.10/24 指定网络地址
如果不指定-s 参数,就代表所有地址
-d 目标地址(destination)
与-s 相同
-j 执行目标(jump to target)
可能的值是ACCEPT,DROP,QUEUE,RETURN
-i 输入接口
-i eth0 指定要处理经由eth0进入的数据包
这些数据包即将进入 INPUT FORWARD PREROUTE
!-i eth0 处理所有不经由eth0接口进入的数据包
-i eth+ 处理所有经由eth开头的接口进入的数据包
5.规则扩展参数
(1)-sport 源端口(source port)针对"-p tcp "或者"-p udp"
默认情况下匹配所有端口
可能指定端口号或端口名称 -sport 22 或者 -sport ssh
/etc/services 文件描述了上述对应关系
使用冒号匹配端口范围 -sport 22:100
(2)--dport 目的端口(destination port)针对-p tcp 或者 -p udp
与-sport类似
(3)--tcp-flage TCP标志,针对于 -p tcp
可以指定逗号分隔符多个参数
有效值可以是SYN,ACK,FIN,RST,URG,PSH
可以使用ALL或者NONE
6.iptables应用
(1)看系统内防火墙默认规则(默认查看的是filter表的防火墙规则,filter表对INPUT,FORWADRD,OUTPUT有效)
iptables -L
(2)查看系统内nat表的规则
iptables -t nat -L
#查看系统内mangle表的防火墙规则
iptables -t mangle -L
3.
#在filter表的第3个位置插入一条规则允许TCP的22端口的所有数据进入
iptables -I INPUT -p tcp --dport -j ACCETP
4.
#删除规则 INPUT iptables -D +链+顺序 :
#删除INPUT 第三条规则:iptables -D INPUT3
#删除所有规则:
iptables -F
5.
#查看iptables服务状态
service iptables status
Linux防火墙配置学习记录的更多相关文章
- Linux防火墙iptables学习笔记(三)iptables命令详解和举例[转载]
Linux防火墙iptables学习笔记(三)iptables命令详解和举例 2008-10-16 23:45:46 转载 网上看到这个配置讲解得还比较易懂,就转过来了,大家一起看下,希望对您工作能 ...
- Linux防火墙iptables学习
http://blog.chinaunix.net/uid-9950859-id-98277.html 要在网上传输的数据会被分成许多小的数据包,我们一旦接通了网络,会有很多数据包进入,离开,或者经过 ...
- Linux防火墙配置—SNAT2
1.实验目标 以实验"Linux防火墙配置-SNAT1"为基础,为网关增加外网IP地址,为eth1创建虚拟接口,使外网测试主机在Wireshark中捕获到的地址为eth1虚拟接口的 ...
- Linux防火墙配置与管理(16)
防火墙指的是一个由软件和硬件设备组合而成.在内部网和外部网之间.专用网与公共网之间的边界上构造的保护屏障.是一种获取安全性方法的形象说法,它是一种计算机硬件和软件的结合,使Internet与Intra ...
- 要想重启后也生效LINUX防火墙配置
新配置的一台服务器,安装的是CentOS6.3系统,在安装完LNMP之后,发现nginx进程存在,且php解析正常,但是用分配的独立IP去访问的时候发现无法访问. 查了下网上的资料,发现可能是Linu ...
- Linux防火墙配置—SNAT1
1.实验目标 以实验"防火墙配置-访问外网WEB"为基础,在WEB服务器上安装Wireshark,设置Wireshark的过滤条件为捕获HTTP报文,在Wireshark中开启捕获 ...
- 鸟哥的linux私房菜学习记录之档案权限与目录配置
在linux中可以通过ls来查看文件 如ls -al,可以看到类似以下的内容 给个例子来理解下 在目录中如果只有r权限没有x权限无法进入该目录
- Linux防火墙配置(iptables, firewalld)
netfilter和底层实现 iptables firealld Linux中的防火墙 RHEL中有几种防火墙共存: iptables firewalld ip6tables ebtables 这些软 ...
- linux 防火墙--firewalld学习
firewalld是centos7默认的防火墙,相比于iptables重要的优势: 1 支持动态更新: 2 不用重启服务: 同时增加了防火墙的“zone”概念,具体差异没做过多了解,这篇文章只记录fi ...
随机推荐
- sleep()和usleep()
函数名: sleep头文件: #include <windows.h> // 在VC中使用带上头文件 #include <unistd.h> // 在gcc编译 ...
- 客户注册功能,发短信功能分离 通过ActiveMQ实现
客户注册功能,发短信功能分离 通过ActiveMQ 配置链接工厂, 配置session缓存工厂(引入链接工厂) 2.配置模板对象JmsTemplate 引入缓存工厂 指定消息模式(队列,发布和订 ...
- 精美3D中国象棋
本人2013年的巅峰之作,现在已经完全免费放送.象棋界面的史诗革命.当前下载版本仅支持Windows 平台. 操作: 方向键的 上,下,左,右 控制棋盘翻转.Home 键回到初始状态,End按键回到平 ...
- 百度地图android客户端的AndroidMainfest.xml的学习和android版本号
平时写android产品相关的东西接触比较少,于是找个例子学习下. 众所周知,Apk文件是可以反编译的,虽然看不到代码,xml还是可见的. 把百度地图android客户端反编译之后,来学习下它的And ...
- linux linux系统的安装及使用
linux linux系统的安装及使用 一.linux系统中安装vm-tools工具: 步骤: 1.在vmware workstation软件中:虚拟机-安装vmware-tools-状态栏会提示- ...
- 2018沈阳网赛F--上下界网络流
建图: 首先加一个源点s和汇点t,分别连接在二分图的左边和右边,每条弧的上下界为[L, R],二分图左边和右边之间连弧上下界为[0,1],其实就相当于连弧为1. 然后问题就转换为:有源汇最大流. 继续 ...
- jzoj4918. 【GDOI2017模拟12.9】最近公共祖先 (树链剖分+线段树)
题面 题解 首先,点变黑的过程是不可逆的,黑化了就再也洗不白了 其次,对于\(v\)的祖先\(rt\),\(rt\)能用来更新答案当且仅当\(sz_{rt}>sz_{x}\),其中\(sz\)表 ...
- 洛谷P2709 BZOJ 3781 小B的询问 (莫队)
题目描述 小B有一个序列,包含N个1~K之间的整数.他一共有M个询问,每个询问给定一个区间[L..R],求Sigma(c(i)^2)的值,其中i的值从1到K,其中c(i)表示数字i在[L..R]中的重 ...
- web安全-接入层注入
web安全-接入层注入 1.关系型数据库 mysql 存放结构化数据 高效操作大量数据 方便处理数据之间的关联关系 2.SQL注入 select * from table where id=${id} ...
- Python学习过程(五)
这里记录下python怎么去和数据库打交道,也就是这么怎么去连接数据库,以及对数据库的操作,我这里用的sqlserver, 好了,首先当然是引入我们的模块包: import pymssql 猜的不错的 ...