Linux系统下IPTABLES

1.iptables防火墙简介:

Iptables也叫netfilter是Linux下自带的一款免费且优秀的基于包过滤的防火墙工具,它的功能十分强大,使用非常灵活,可以对流入、流出、流经服务器的数据包进行精细的控制。iptables是Linux2.4及2.6内核中集成的模块。

iptables的结构:

在iptables中有 三表五链(三表:filter、nat、mangle。五链:INPUT 、 PREOUTING、FORWARD、POSTROUTING、OUTPUT )最常用的是filter表

filter: input	forward		output
		^输入	^转换		^输出
	经过内核		经过内核转发    经过内核

nat:	input	prerouting	 postrouting	output
			^输入   ^路由之前		^ 路由之后	^输出
		  不经过内核							不经过内核
							源地址转换


mangle : input prerouting forward pastrouting output
	前俩个表的综合

#################################################3

2.iptables实验环境的搭建

	 yum install iptables	 -y 					下载安装
	 systemctl stop firewalld 						关闭firewalld
	 systemctl disable firewalld 					设置开机不启动 
	 systemctl mask firewalld.service 				冻结firewalld
	 systemctl start iptables.service 				开启iptables服务 
	 systemctl enable iptables.service 				设置iptables服务开机启动

a在这里插入图片描述
iptables的 基本命令

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 

在这里插入图片描述

		service iptables save 
		保存当前的策略,如果没有保存,重启服务会回到原来的策略 	

在这里插入图片描述

		iptables -p INPUT ACCEPT | DROP 
		把INPUT表中的策略改为ACCEPT允许或者DROP丢弃	
		iptables -A INPUT -j REJECT 		拒绝所有主机的数据来源 

在这里插入图片描述
测试:http 和 lftp 等服务无法使用
在这里插入图片描述
在这里插入图片描述

		iptables -I INPUT 3 -p tcp --dport 80 -j ACCEPT 
		插入策略到第三条,允许80 端口的开放

在这里插入图片描述
测试:
在这里插入图片描述

		iptables -D INPUT 3       删除INPUT链第三条策略

在这里插入图片描述

	iptables -F
	iptables -t filter -nL    列出filter表中的策略

	iptables -N HAHA        增加HAHA链

在这里插入图片描述

	iptables -E HAHA HELLO 改变HAHA链名为HELLO

在这里插入图片描述

	iptables -X HELLO         
    删除HELLO链,此命令只对自定义链起作用,对系统存在的链不起作用

在这里插入图片描述

########################################
3.iptables 的地址转换

	sysctl -a | grep ip_forward  	查找并过滤sysctl服务中的forward 

在这里插入图片描述

	ip_forward = 0 需要 
	vim /etc/sysctl.conf
	net.ipv4.ip_forward = 1

	sysctl -p		刷新

在这里插入图片描述

	iptables -F						刷掉filter表中的所有策略
	iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 192.168.122.7     
	将数据包来源伪装成7主机 
	iptables -t nat -A PREROUTING -i eth0 -j DNAT --to-dest 192.168.122.77 
	将数据包目的地来源伪装成27.227主机

在这里插入图片描述
在这里插入图片描述
测试:

用 192.168.122.1的主机ssh连接192.168.122.7主机
连上之后显示的是77主机被连接

在这里插入图片描述

打开77 主机

	w -i		查看连接来源是7主机,事实上是1主机

在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值