iptable--火墙的配置管理:多样的火墙服务

iptable

客户端(1.1.1.101)
之前需要在客户端配置网关,使客户端能和服务端相连
iptable--火墙的配置管理:多样的火墙服务_第1张图片
客户端(172.25.254.70)
除基础配置外不做其他设置

服务端(1.1.1.101)(172.25.254.101)
开启服务需要先关闭火墙

 systemctl stop firewalld.service 
 systemctl disable firewalld.service 

iptable--火墙的配置管理:多样的火墙服务_第2张图片
iptable--火墙的配置管理:多样的火墙服务_第3张图片

iptables的表与链

iptables具有Filter, NAT, Mangle, Raw四种内建表:

  1. Filter表

Filter表示iptables的默认表,因此如果你没有自定义表,那么就默认使用filter表,它具有以下三种内建链:

INPUT链 – 处理来自外部的数据。
OUTPUT链 – 处理向外发送的数据。
FORWARD链 – 将数据转发到本机的其他网卡设备上。
  1. NAT表

NAT表有三种内建链:

PREROUTING链 – 处理刚到达本机并在路由转发前的数据包。它会转换数据包中的目标IP地址(destination ip address),通常用于DNAT(destination NAT)。
POSTROUTING链 – 处理即将离开本机的数据包。它会转换数据包中的源IP地址(source ip address),通常用于SNAT(source NAT)。
OUTPUT链 – 处理本机产生的数据包。
  1. Mangle表

Mangle表用于指定如何处理数据包。它能改变TCP头中的QoS位。Mangle表具有5个内建链:

PREROUTING
OUTPUT
FORWARD
INPUT
POSTROUTING
  1. Raw表

Raw表用于处理异常,它具有2个内建链:

PREROUTING chain
OUTPUT chain

iptable

-t 指定表名称
-n 不作解析
-L 列出指定表中的策略
-A 增加策略
-p 网络协议
–dport 端口
-s 数据来源
-j 动作
ACCEPT 允许
REJECT 拒绝
DROP 丢弃
-N 增加链
-E 修改链名称
-X 删除链
-D 删除指定策略
-I 插入
-R 修改策略
-P 修改默认策略

策略查看

iptables  -t filter -nL		#查看filter表中的策略
iptables  -F			#刷掉filter表中的所有策略,当没有用-t指定表名称时默认时filter(相当于删除)

iptable--火墙的配置管理:多样的火墙服务_第4张图片

策略文件

iptables -F
iptables -nL
###查看之前文件被清除

iptable--火墙的配置管理:多样的火墙服务_第5张图片

systemctl restart iptables.service 
iptables -nL
###重启服务后恢复

###内容存储在文件/etc/sysconfig/iptables中
vim /etc/sysconfig/iptables
###查看策略文件
service iptables save		
#保存当前策略
iptables -F
iptables -nL
###删除且不会恢复

iptable--火墙的配置管理:多样的火墙服务_第6张图片

权限设置

iptables -A INPUT -i lo -j ACCEPT	
###允许lo环权限

iptable--火墙的配置管理:多样的火墙服务_第7张图片

iptables -A INPUT -p tcp --dport 22 -j ACCEPT	
###允许其他主机访问22端口

iptable--火墙的配置管理:多样的火墙服务_第8张图片

iptables -A INPUT -s 172.25.254.250 -j ACCEPT	
###允许250主机访问本机所有端口

在这里插入图片描述

iptables -A INPUT -j REJECT 			
###拒绝所有主机的数据来源

iptable--火墙的配置管理:多样的火墙服务_第9张图片
测试
连接成功
在这里插入图片描述
说明读取时是优先执行前面的策略

###删除加入的策略
iptables -D INPUT -s 172.25.254.70 -j ACCEPT
iptables -nL
iptables -D INPUT -p tcp --dport=22  -j ACCEPT

ssh连接断开
iptable--火墙的配置管理:多样的火墙服务_第10张图片
在这里插入图片描述
在服务端

iptables -A  INPUT -p tcp --dport 22  -j ACCEPT
iptables -nL

发现有报错,删除优先级更高的

iptables -D INPUT -j REJECT
iptables -nL

无报错

[kiosk@localhost ~]$ ssh [email protected]

连接成功

iptable--火墙的配置管理:多样的火墙服务_第11张图片

自定义链的管理(默认端为例)

增加链

  iptables -N redhat	##增加链redhat
    iptables -nL

iptable--火墙的配置管理:多样的火墙服务_第12张图片

改变链名称

iptables -E redhat westos	##改变链名称
iptables -nL

iptable--火墙的配置管理:多样的火墙服务_第13张图片

删除westos链

iptables -X westos	##删除westos链
iptables -nL

iptable--火墙的配置管理:多样的火墙服务_第14张图片

指定链中策略的管理

iptables -I INPUT  -p tcp --dport 80  -j REJECT 
###插入策略到INPUT中的第一条(修改优先级)
iptables -nL

iptable--火墙的配置管理:多样的火墙服务_第15张图片

iptables -D INPUT 1	
###删除INPUT链中的第1条策略
iptables -nL
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190606000521959.png)

iptables -R INPUT 1 -p tcp --dport 80 -j ACCEPT	
###修改第一条策略
iptables -nL

iptable--火墙的配置管理:多样的火墙服务_第16张图片

iptables -P INPUT DROP	
###把INPUT表中的默认策略改为drop

iptable--火墙的配置管理:多样的火墙服务_第17张图片
###仅添加172.25.254.70的ssh端口开放
两种方法

1
还原

iptables -F

修改

iptables -D INPUT 3
iptables -nL
iptables -t filter -I INPUT 1 -p tcp -s 172.25.254.70 --dport 22 -j ACCEPT
         ^              ^   ^  ^      ^                   ^       ^
         表            链 第几条 协议    来源            端口    动作 (!除了)
iptables -A INPUT  -p tcp --dport 22 -j REJECT 

iptable--火墙的配置管理:多样的火墙服务_第18张图片
测试

ssh [email protected]

在这里插入图片描述
在这里插入图片描述
2
仅允许172.25.254.70的ssh端口开放(仅不允许拒绝)

iptables -F
iptables -nL
iptables -A INPUT ! -s 172.25.254.70 -p tcp --dport 22 -j ACCEPT 

在这里插入图片描述

测试

地址伪装与端口转发

SNAT(源地址转换)源映射

DNAT(目的地址转换) 目的映射

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

服务端:des 
        内网:1.1.1.101
        外网:172.25.254.101
客户端:client
        ip:1.1.1.201
        网关:1.1.1.101

服务端

ip addr show 

iptable--火墙的配置管理:多样的火墙服务_第19张图片
客户端

ifconfig eth0

iptable--火墙的配置管理:多样的火墙服务_第20张图片
查看网关

route -n
ping通不同网段

iptable--火墙的配置管理:多样的火墙服务_第21张图片

地址伪装(SNAT)

服务端

iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source=172.25.254.101
iptables -t nat -nL 
###查看nat域

-o out指输出
--to-source指转换后的ip

iptable--火墙的配置管理:多样的火墙服务_第22张图片
客户端
可以与处在非同网段的主机通信
登陆非同网段主机,发现地址被伪装

[kiosk@client ~]#ssh [email protected]
[kiosk@localhost ~]$ w -i

在这里插入图片描述
iptable--火墙的配置管理:多样的火墙服务_第23张图片
iptable--火墙的配置管理:多样的火墙服务_第24张图片
.端口转发(DNAT)

iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 22 -j DNAT --to-dest 1.1.1.101
###将从eth0进入连接22端口的将ip转换为1.1.1.101
iptables -t nat -nL

--to--destination  ##指定执行DNAT策略后数据包的目的IP
-i        ##指定数据包从哪一块网卡进入

iptable--火墙的配置管理:多样的火墙服务_第25张图片

你可能感兴趣的:(iptable--火墙的配置管理:多样的火墙服务)