内容简介:内核指的是操作系统的内核。内核对于操作系统来说是极为重要的部分,其主要用来执行系统资源的分配及调度。例如,当一个应用程序运行时所使用内存区段的起始和终止位置,或者现在这个时刻哪个应用程序可以访问硬盘灯,都由内核来负责分配;而一个操作系统稳定与否,内核的优劣是关键指标。规则条件:例如列出filter表的所有内容
本文记录 Linux 网络技术与实现读书笔记,这是一本已经停产了的书,在 豆瓣 上评分颇高,此书为第二版,第一版书名为-更安全的Linux网络
。笔记记录的形式不会采取面面俱到的方式,精选一些比较重要的内容,如果你没有接触过这方面的内容,阅读本文可能会有强烈的不适感。TCP UDP及Socket的关系
端口的分类
公认的端口:0-1023
注册的端口:1024-49151
动态端口:49152-65535端口的作用
假设我们在服务器端主机运行了Web SSH及DNS三项服务。在TCP/IP的网络规范中,当一个网络应用运行起来时,都会占用一个端口,如服务器端的Web服务器启动时,即会占用Socket中的端口80,我们简称为TCP port 80,而SSH服务是TCP Port22,DNS服务则是UDP Port 53.
在客户端启动浏览器、SSH客户端及DNS客户端这三个网络应用程序后也会占用某一个端口。可以通过tcpdump wireshark等抓包 工具 抓包,可以看到客户端发送到服务器的保重包含Source port及Destination port,服务器端会将应答数据包发送给Source port。何谓内核
内核指的是操作系统的内核。内核对于操作系统来说是极为重要的部分,其主要用来执行系统资源的分配及调度。例如,当一个应用程序运行时所使用内存区段的起始和终止位置,或者现在这个时刻哪个应用程序可以访问硬盘灯,都由内核来负责分配;而一个操作系统稳定与否,内核的优劣是关键指标。
Netfilter命令结构
Netfilter存在四部分:filter nat mangle raw
filter:filter是Netfilter中最重要的机制,其任务是执行数据包的过滤操作,也就是起到防火墙的作用。存在三条链:INPUT FORWARD OUTPUT
nat:nat(Network Address Translation,NAT)是防火墙上一个不可或缺的重要机制,其功能是IP分享器。
存在三条链:PREROUTING POSTROUTING OUTPUT
mangle:mangle是一个很特殊的机制,我们可以通过mangle机制来修改经过防火墙内的数据包的内容,存在五条链:PREROUTING POSTROUTING OUTPUT INPUT FORWARD
raw:负责加快数据包穿过防火墙机制的速度,由此提高防火墙的性能。存在PREROUTING OUTPUT两条链。规则的匹配
采用first match原则即优先匹配,以filter表INPUT链为例,当我们添加规则时,这些规则时按照先后顺序一条一条被加入到INPUT链中,因此第一条被加进来的规则就是rule 1,最后被加进来的规则就是INPUT链中的最后一条规则。当一个数据包进入INPUT链之后,filter机制就会根据该数据包的特征,从INPUT链中的第一条规则逐一向下匹配,一旦匹配成功,则不管后面的规则内容是什么,这就是所说的优先匹配。
如果从INPUT链第一条到最后一条都没有匹配成功时使用每个链的最底端的默认策略。不管链中有多少规则,默认策略永远在每个链的最底端,而且每个链的默认策略各自独立。iptables命令参数
iptables -t Table -操作方式 规则条件
-t Table目前的Netfilter版本内置filter nat mangle及row四个表。即Netfilter的四大功能。-t参数的含义是选择我们所要操作的功能,如果这个字段没有输入,默认则时filter表。-操作方式
-L:将所选择的表内容列出
-A:在指定的链中添加新规则
-F:将所选择的表内容清除
-P:设置某个链的默认策略规则条件:
-p tcp -j ACCEPT -p udp -j ACCEPT -p icmp -j ACCEPT
例如列出filter表的所有内容
iptables -t filter -L
列出filter表中INPUT链的内容
iptables -t filter -L INPUT
清除filter表中的所有内容
iptables -t filter -F
清除filter表中INPUT链的内容
iptables -t filter -F INPUT
将规则添加到filter表的INPUT链中
iptables -t filter -A INPUT -p icmp -j ACCEPT
-t是指定添加到filter表,-A INPUT将规则加入到INPUT链中 -p icmp -j ACCEPT则时具体的规则
将FORWARD链的默认策略设置为DROP
iptables -t filter -P FOREARD DROP
-P FORWARD 本次所要设置的是FORWARD链的策略
DROP 将FORWARD链的默认策略设置为DROP
iptables的-F参数不会影响到默认策略的状态,要改变默认策略的状态,一定要使用-P的参数来设置。在INPUT链中插入新规则
iptables -t filter -I INPUT 2 -p tcp -j ACCEPT
-t filter 本次要使用的功能是filter
-I INPUT 在INPUT链中插入新的规则
2 插入到第二条规则的位置
规则:-p tcp -j ACCEPT是本次要插入的规则内容。
我们也可以使用如下命令清晰看到INPUT链第二条规则已经变为我们刚刚插入的规则iptables -t filter -L INPUT --line-number
取代INPUT链内已存在的规则
iptables -t filter -R INPUT 2 -p tcp -j ACCEPT
删除INPUT链中已经存在的规则
iptables -t filter -D INPUT 2
以上七个参数总结如下:
-L :列出表的内容
-F:清除表的内容
-A:加入新规则
-P:设置默认策略
-I:插入新规则
-R:取代规则
-D:删除规则
我们上面的例子针对的是filter表,同样该参数适用于nat mangle raw表。iptables规则语法
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 网络安全之端点安全如何实现
- 如何用深度学习实现网络安全
- 实现有效的网络安全,SEIM和SOC显然远远不够!
- 美国网络安全:NIST网络安全实践指南系列
- 发展网络安全能力(一):国家网络安全能力成熟度模型
- 网络安全架构:安全模式方法论
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
网站运维技术与实践
饶琛琳 / 电子工业出版社 / 2014-3 / 69.00元
网站运维工作,一向以内容繁杂、覆盖面广著称。《网站运维技术与实践》选取日常工作涉及的监测调优、日志分析、集群规划、自动化部署、存储和数据库等方面,力图深入阐述各项工作的技术要点及协议原理,并介绍相关开源产品的实践经验。在技术之外,作者也分享了一些关于高效工作及个人成长方面的心得。 《网站运维技术与实践》适合Linux 系统管理员、中大型网站运维工程师及技术负责人、DevOps 爱好者阅读。同......一起来看看 《网站运维技术与实践》 这本书的介绍吧!