1. 网络基础

一. 网络基础

OSI七层网络模型

应用层                  网络服务与最终用户的一个接口
表示层                  数据的表示、安全、压缩
会话层                  建立、管理、终止会话
传输层                  定义传输层的协议端口号,以及流控和差错校验
网络层                  进行逻辑地址寻址,实现不同网络之间的路径选择
数据链路层               建立逻辑连接、进行硬件地址寻址、差错校验
物理层                  建立、维护、断开物理连接


二. TCP/IP协议基础


三. iptables基础原理

Linux防火墙概述

Linux系统的防火墙功能是由内核实现的
    - 2.0版本的内核中, 包过滤机制是ipfw, 管理工具是ipfwadm
    - 2.2版本的内核中, 包过滤机制是ipchain, 管理工具是ipchains
    - 2.0版本的内核中, 包过滤机制是netfilter, 管理工具是iptables
    

netfilter
    - 位于Linux内核中的包过滤防火墙功能体系
    - 称为Linux防火墙的"内核态"
    

iptables
    - 位于/sbin/iptables, 是用来管理防火墙的命令行工具
    - 为防火墙体系提供过滤规则/策略, 决定如何过滤或处理到达防火墙主机的数据包
    - 称为Linux防火墙的"用户态"
    
                    - 习惯上, 以上两种称呼都可以代表Linux防火墙


iptables的四表五链

规则链

规则链
    - 规则的作用在于对数据包进行过滤或处理, 根据处理时机的同, 各种规则被组织在不同的“链中”
    - 规则链是防火墙规则/策略的集合
    
默认的5种规则链
    - INPUT          处理入站数据包
    - OUTPUT         处理出站数据包
    - FORWARD        处理转发数据包
    - PREROUTING     选择路由前处理数据包
    - POSTROUTING    选择路由后处理数据包

规则表

规则表
    - 具有某一类相似用途的防火墙规则, 按照不同处理时机区分到不同的规则链以后, 被归置到不同的"表"中
    - 规则表是规则链的集合

默认的4个规则表
    - raw表           确定是否对该数据包进行状态跟踪
    - mangle表        为数据包设置标记
    - nat表           修改数据包中的源、目的IP地址或端口
    - filter表        确定是否放行该数据包(过滤)

四. iptables常见命令

iptables命令的语法格式
    - iptables [-t 表名] 管理选项 [链名] 条件匹配 -j 执行动作

默认原则
    - 不指定表名时, 默认表示filter表
    - 不指定链名时, 默认表示表内所有链

实例1

本机ip为   192.168.184.10
现在想禁止ip为 192.168.184.20  的机器通过 ssh 连接本机

步骤如下:

iptables  -h     // 可以先看看iptables的用法

iptables -t filter  -A INPUT  -s 192.168.184.20 -p tcp  --dport 22 -j DROP
        1. 在filter表  INPUT链上 加规则(-A增加 -D删除)
        2. -p 指定协议   -dport  在哪个端口
        3. -j DROP  丢弃/拒绝
        
         
iptables -L -n      
    -L  list
    -n  显示详细信息
    

得到结果如下 :
Chain  INPUT   (policy ACCEPT)
target  prot  opt  source             destination
DROP    tcp   --   192.168.184.20      0.0.0.0/0   tcp dpt:22

Chain  FORWARD (policy ACCEPT)
target  prot  opt  source             destination

Chain  OUTPUT   (policy ACCEPT)
target  prot  opt  source             destination


实例2

本机ip  192.168.184.30
想要 禁止ip为  192.168.184.10 的机器 访问其web服务  即禁止访问80端口

命令如下

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

iptables -L -n

结果如下

Chain  INPUT   (policy ACCEPT)
target  prot  opt  source             destination
DROP    tcp   --   192.168.184.10      0.0.0.0/0   tcp dpt:80

Chain  FORWARD (policy ACCEPT)
target  prot  opt  source             destination

Chain  OUTPUT   (policy ACCEPT)
target  prot  opt  source             destination

测试

在ip为 192.168.184.10的主机中  输入 curl http://192.168.184.30:80
发现无法访问

猜你喜欢

转载自blog.csdn.net/weixin_41207499/article/details/83963187