Linux私房菜——防火墙部分笔记
#1 分类
对单一主机,主要有两种:数据包过滤Netfilter和依据服务软件分析的TCP Wrapper.
对区域型防火墙来说,即安装防火墙的主机充当路由器的角色。防火墙类型主要有两种:数据包过滤Netfilter和代理服务器。
对Netfilter(数据包过滤机制),Linux提供了iptables这个软件来进行管理。下文的重点就是整理iptables常用的命令。
对TCP wraper(程序管理),是针对特定的软件,如ssh,telnet等特定软件进行IP限制,MAC地址限制等(不可用于apache)。
代理服务器往往也是NAT服务器,以实现透明代理。
#2 iptables概念
iptables由多个table组成,每个table都有自己的策略和规则。默认的table为Filter,作用是过滤本地的数据包。除此之外,还有NAT table,功能是进行来源于目的地的IP或port转换,与Linux本机无关。还有其他的table,此处不提。
每个table都有自己的链(chain),盗图一张,具体如下:
对Filter来说,有三条链,分别为INPUT,OUTPUT,FORWARD。
一个数据包进入本机与从本机发出的过程,如下图所示,再次盗图一张:
#3 iptables语法
1. 规则查看
iptables [-t target(缺省为fliter)] [-L (查看当前table的规则)] [-v (更多信息)] 查看filter表规则 : iptables -L 查看NAT表规则 : iptables -t nat -L
2. 规则查看2
iptables-save [-t target] 会列出完整的防火墙规则
3. 清空规则
iptables -F 清除所有已制定规则 iptables -X 清除所有用户自定义的tables iptables -Z 将所有chain的计数和流量清空
4. 定义默认策略
iptables [-t target] -P [INPUT,OUTPUT...] [DROP,ACCEPT]
5. 设定规则:针对IP
iptables [-AI 链名(-A为新增,-I为插入)] [-io 网络接口(-i为数据包进入的接口)] [-p 协议(主要有:tcp udp icmp all)] [-s 来源IP/网络] [-d 目标IP/网络] -j [ACCEPT|DROP|REJECT|LOG (接收,悄悄丢弃,向来源地址发送拒绝数据包,日志记录)] LOG记录的数据储存在/var/log/message中,LOG并不影响后续的数据包对比。 例: 添加lo为信任设备: iptables -A INPUT -i lo -j ACCEPT 来自内网的所有数据都接收:iptables -A INPUT -i eth1 -s 192.168.1.0/ -j ACCEPT(假设eth1连接LAN)
6. 设定规则:针对端口
iptables [-AI 链名] [-io 网络接口] [-p tcp,udp] [-s 来源] [--sport 端口范围] [-d 目的] [--dport 端口范围] -j [ACCEPT|DROP|REJECT] --sport表示来源IP/网络的端口范围,--dsport表示目的IP/网络的端口范围 因为仅有TCP、UDP数据包有端口,所以要想使用--sport或者--dport,都需要指定-p 例:拒绝进入本机的21号端口的数据包:iptables -A INPUT -i eth0 -p tcp --dport -j REJECT
7. 设定规则:针对mac和state
iptables -A INPUT [-m 外挂模块名(state,mac等)] [--state 状态] 常见的数据包状态:INVALID(无效数据包) ESTABLISHED(连接成功的连接状态) NEW(新建连接的数据包) RELATED(与主机发出去的数据包有关) 例: 通过所有已建立连接或与发出请求相关的数据包,不合法数据包丢弃:iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -m state --state INVALID -j DROP 放行mac地址为aa:bb:cc:dd:ee:ff的主机 iptables -A INPUT -m mac --mac-source aa:bb:cc:dd:ee:ff -j ACCEPT
Linux私房菜——防火墙部分笔记的更多相关文章
- 《鸟哥的Linux私房菜》读书笔记
第五章 初次使用Linux man.info的使用 组合键:切换登录环境.Tab.Ctrl+c.Ctrl+d 正确关机的方法 开机过程的问题排解:文件系统错误.忘记root密码 第六章 文件权限& ...
- 《鸟哥的Linux私房菜》读书笔记二
1.Unix的前身是由贝尔实验室(Bell lab.)的Ken Thompson利用汇编语言写成的, 后来在1971-1973年间由Dennis Ritchie以C程序语言进行改写,才称为Unix. ...
- 《鸟哥的Linux私房菜》读书笔记五
1. Ctrl+alt+FX(X=1~6)可以切换到6个不同的文字界面终端(Terminal) 再按Ctrl+alt+F7就可以回到X Window,按Ctrl+alt+Backspace这是结束所有 ...
- 《鸟哥的Linux私房菜》读书笔记四
1.Linux的目录配置以『树状目录』来配置,至於磁碟分割槽(partition)则需要与树状目录相配合! 请问,在预设的情况下,在安装的时候系统会要求你一定要分割出来的两个Partition为何? ...
- 《鸟哥的Linux私房菜》读书笔记三
1.在Linux系统中,每个设备都被当成一个文件来对待,每个设备都会有设备文件名.比如 IDE接口的硬盘文件名为/dev/hd[a-d] 括号内的字母为a-d当中任意一个,即/dev/hda,/dev ...
- 《鸟哥的Linux私房菜》读书笔记2
1. 压缩后缀与压缩程序: *.Z compress 程序压缩的档案; *.bz2 bzip2 程序压缩的档案; *.gz gzip 程序压缩的档案; *.tar tar 程序打包的数据,并没有压缩过 ...
- 《鸟哥的Linux私房菜》读书笔记1
1.MBR 可以说是整个硬盘最重要的地方了,因为在 MBR 里面记录了两个重要的东西,分别是:开机管理程序,与磁盘分割表 ( partition table ).下次记得人家在谈磁盘分割的时候, 不要 ...
- 《鸟哥的Linux私房菜》学习笔记(5)——权限管理
一.权限的基本概念 权限:访问计算机资源或服务的访问能力. Linux中,每一个资源或者服务的权限, ...
- 《鸟哥的Linux私房菜》学习笔记(4)——用户和组
一.用户和组的基本概念 1.用户 用户:用于获取计算机资源或服务的标识符,比如用户名.计算机处理的是UID,用 ...
随机推荐
- javascript中window.event事件用法详解
转自http://www.jb51.net/article/32564.htm描述 event代表事件的状态,例如触发event对象的元素.鼠标的位置及状态.按下的键等等. event对象只在事件发生 ...
- c++ (P49—P68)
1 c++语言并没有明确规定调用这个函数时实参的求值顺序,而是让编译器根据对代码进行优化的需要自行决定实参的求职顺序.这样就带来了二义性. function(a++,a*); //存在二义性 a++; ...
- iOS语言国际化
参考网站:http://blog.sina.com.cn/s/blog_7b9d64af0101jncz.html 语言国际化:根据系统不同的语言自动切换 Xcode6.2 一.在不同语言下工 ...
- 【转】Oracle - 数据库的实例、表空间、用户、表之间关系
[转]Oracle - 数据库的实例.表空间.用户.表之间关系 完整的Oracle数据库通常由两部分组成:Oracle数据库和数据库实例. 1) 数据库是一系列物理文件的集合(数据文件,控制文件,联机 ...
- php pdo oracle中文乱码
在/etc/profile.d/简历oracle.sh 内容如下在NLS_LANG设置编码 ORACLE_HOME=/usr/lib/oracle/12.1/client64 C_INCLUDE_PA ...
- akka创建actor时报错:IllegalArgumentException: no matching constructor found on class $iwC$$iwC$$iwC$$iwC$
在spark-shell中输入范例中的代码: import akka.actor.Actor import akka.actor.Props import akka.event.Logging cla ...
- GlusterFS集群文件系统概述
http://blog.csdn.net/zonelan/article/details/8468383 1. GlusterFS概述 GlusterFS是Scale-Out存储解决方案Gl ...
- Asp.Net Cookie的清除
背景 最近做到一个asp.net项目,项目中保存用户信息用到了cookie,因此,在注销身份的时候,就需要清除掉cookie. 探索过程 我先是试验了这种代码,在没有特殊声明前,代码都是写在Page_ ...
- ###学习《C++ Primer》- 4
点击查看Evernote原文. #@author: gr #@date: 2014-10-16 #@email: forgerui@gmail.com Part 4: STL关联容器(第11章) 一. ...
- CBQW ---分组表单展示
工作流审核表单后,将表单信息展示页面中. Rest读取展示 展示方式有2 一. CBQW内容查询, 通过CBQW内容查询.分别通过设置itemstyle和header xsl ...