Linux中的火墙(1)(iptables)

1.火墙介绍

  • netfilter:真正的防火墙,位于内核空间。
  • iptables:它其实不是真正的防火墙,可以将其理解成一个客户端代理,用户通过iptables这个代理,将用户的安全设定执行到对应的“安全框架”中,这个安全框架才是真正的防火墙,这个框架的名字就是netfilter
  • iptables|firewalld(两个工具)
    在这里插入图片描述

2.火墙管理工具切换

  • 在rhel8中默认使用的是firewalld
  • firewalld----->iptables
  • dnf install iptables-services -y安装iptables服务
  • systemctl stop firewalld停止firewalld
  • systemctl disable firewalld 开机也不启动firewalld
  • systemctl mask firewalld 冻结firewalld
  • systemctl enable --now iptables打开iptables
    在这里插入图片描述
  • iptales -------> fiewalld
  • systemctl stop iptables停止iptables
  • systemctl disable iptables开机也不启动iptables
  • systemctl mask iptables冻结iptables
  • systemctl enable --now firewalld打开firewalld

3.iptables 的使用

  • /etc/sysconfig/iptables iptables 策略记录文件
    在这里插入图片描述

  • 永久保存策略

  • iptales-save > /etc/sysconfig/iptables

  • service iptables save

  • -这两种方法都是更改/etc/sysconfig/iptables这个文件

  • 如果不改文件,你对火墙进行操作之后,restart,它又会恢复原样
    在这里插入图片描述
    在这里插入图片描述

4.火墙默认策略

  • 默认策略中的5条链
input输入
output输出
forward转发
postrouting路由之后
prerouting路由之后

在这里插入图片描述

  • 默认的3张表
filter经过本机内核的数据(input output forward)
nat不经过内核的数据(postrouting,prerouting,input,output)
mangle当filter和nat表不够用时使用(input, output ,forward, postrouting,prerouting,)

在这里插入图片描述

5.iptables命令

  • iptables
参数作用
-t指定表名称
-n不做解析
-L查看
-A添加策略
-p协议
–dport目的地端口
-s来源
-j动作
-j ACCEPT允许
-j DROP丢弃
-j REJECT拒绝
-j SNAT源地址转换
-j DNAT目的地地址转换
-N新建链
-E更改链名称
-X删除链
-D删除规则
-I插入规则
-R更改规则
-P更改默认规则

在这里插入图片描述
在这里插入图片描述

  • iptables是按规则一条一条执行的,遇到匹配的规则时,就不再继续执行下一条了,所以要想让其执行第二条规则,应该将其插入到第一条中
    在这里插入图片描述
  • 例子:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 数据包状态:
  • RELATED 建立过连接的
  • ESTABLISHED 正在连接的
  • NEW 新的
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
##允许已经认证过的
iptables -A INPUT -m state --state NEW -i lo -j ACCEPT
##允许回环
iptables -A INPUT -m state --state NEW -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -m state --state NEW -p tcp --dport 443 -j ACCEPT
iptables -A INPUT -m state --state NEW -p tcp --dport 53 -j ACCEPT
##允许 80 443 53 端口访问
iptables -A INPUT -m state --state NEW ! -s 192.168.1.15 -p tcp --dport 22 -j ACCEPT
##允许除了192.168.1.15之外的主机通过22端口访问
iptables -A INPUT -m state --state NEW -j REJECT
service iptables save

在这里插入图片描述

  • 如下图设置也可以虽然也可以通过之前的方法设置,但是会大大降低火墙的效率
    在这里插入图片描述
  • 实验准备:VMware下一台双网卡主机,两台单网卡主机
  • 在本机设置双网卡,ip分别为192.168.1.33和172.25.254.33
  • 一台单网卡主机ip为172.25.254.20,网关设置为172.25.254.33
  • 一台单网卡主机ip是192.168.1.15(作为测试主机)
  • 保证双网卡主机的内核路由功能是开启的(双网卡主机充当路由)
    在这里插入图片描述
  • nat表中的dnat snat
  • SNAT
iptables -t nat -A POSTROUTING -o ens160 -j SNAT --to-source 192.168.1.33
##所有从ens160出去的所有数据都伪装成192.168.1.33这个ip
  • 这样做,可以使172.25.254.20访问到192.168.1.15
  • DNAT
iptables -t nat -A PREROUTING -i ens160 -j DNAT --to-dest 172.25.254.30
##所有从ens160进来的数据都伪装成172.25.254.33这个ip
  • 这样做,可以使192.168.1.15访问到172.25.254.20
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值