iptables火墙服务

6 篇文章 0 订阅

1.iptables火墙服务

1.1 iptables服务的启动

yum list iptables-services
systemctl stop firewald
systemctl distable firewalld
systemctl mask  firewalld
systemctl start iptables.service
systemctl enable iptables.service

1.2 iptables 常用参数

  • man iptables 查看各种参数含义
参数含义
-t指定表格
-L列出所有规则
-nL列出所有规则带解析
-A添加规则 不能指定添加位置
-D删除规则
-C检测 一般不使用
-I指定位置插入规则
-R指定策略修改
-S列出策略 更为详细
-P更改链条的默认动作 只有DROP
-N添加新链
-E链重命名
-X删除链
-F刷新iptables
-Z清空iptables数据

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

命令添加的规则如果不保存默认都是临时的,再次刷新或重启服务规则会被清理

保存的两种方式
(1)srvice iptables save
(2)iptables-save > /etc/sysconfig/iptables 将策略保存文件内容倒入策略文件策略算是永久保存
在这里插入图片描述
清空策略:
对保存了的策略需要到文件中删除

 > iptables-save
 iptables-save >    /etc/sysconfig/iptables   

1.3iptables服务策略

(1)iptables给特定ip指定特定服务:

1) iptables -t filter -A INPUT -p tcp --dport 22 -s 172.25.254.101 -j REJECT

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

2)! 表示除…之外…

iptables -A  INPUT ! -s 172.25.254.1  -p tcp --dport 22 -j REJECT   ## 除1号主机外拒绝其他主机连接ssh服务

(2)iptables 添加火墙服务并检测标签提高效率(以开放squid代理服务、ssh服务、DNS服务)
由于系统读取策略都是在表中从上置下依次读取,且读取到符合要求的策略就不再向下读取;NEW标签的主机检测过后标签就变为ESTABLSHED或RELAED 下次连接就不用检测,提高效率

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT  对ESTABLSHED和RELAED标签的ip直接通过检测
iptables -A INPUT -m state --state NEW -i lo -j ACCEPT 对NEW标签内部接口的ip也直接通过检测
iptables -A INPUT -m state --state NEW -p tcp --dport 3128 -j ACCEPT NEW标签ip连接squid服务 检测3128端口 
iptables -A INPUT -m state --state NEW -p tcp --dport 22 -j ACCEPT 检测22端口
iptables -A INPUT -m state --state NEW -p tcp --dport 53 -j ACCEPT  检测53端口
iptables -A INPUT -j REJECT  其余的服务连接都拒绝不用检测

在这里插入图片描述

1.4 iptables火墙的伪装与端口转发功能

实验准备:
服务端:双网卡,eth0ip为:172.25.254.201 ;eth1ip为: 192.168.0.201
客户端: 单网卡 eth0ip为:192.168.0.101 GATEWAY:192.168.0.201
必须开启内核路由功能,否则SNAT实验将失败!
(1)iptables 火墙的伪装——路由之后SNAT源地址转换

iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 172.25.254.201 (ip为所写网卡对应ip)
##在nat表中的路由之后链POSTOUTING中添加规则:对通过eth0网卡出去的ip做源地址转换 ip转换为172.25.254.201
iptables-save > /etc/sysconfig/iptables

(2)iptables 连接端口的转发——路由之前 DNAT目的地址的转换(ssh服务连接为例)
DNAT实验前提为:SNAT

iptables -t nat -A PREROUTING -i eth0 -p  tcp  --dport 22 -j DNAT --to-dest x.x.x.x:22 

##在nat表中的路由之前链PREROUTING中添加规则:对连接eth0网卡ip的主机做目的端口转发,目的主机为x.x.x.x 只有通过设定的网卡进入服务端的客户机才能发生跳转!!!

实验现象:规则中设定通过eth0进入服务端的主机会发生目的端口跳转,所以在客户端实验是不会发生跳转的,因为客户端是通过eth1连接的服务端,在ip为172网段的主机上实验,可以看到实验现象;如果将规则该为 -i eth1 ,则只有在客户端实验能发生跳转,并且不管客户端ssh连接172网段哪一主机都会发生跳转,因为客户端在连接除服务端之外的172网段主机时,首先会通过服务端的eth1进入服务端,只要通过eth1进入服务端都会发生DNAT跳转
在这里插入图片描述
在这里插入图片描述
目的端口转发必须开启火墙的伪装功能,否则会出现如下效果:

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值