linux防火墙管理——iptable

防火墙的工作原理
iptable也是用来管理配置火墙的一种工具,使用iptable管理火墙比使用firewalld管理火墙要复杂一些。

iptable的四个表五条链

对于iptable我们要先了解它四个表五条链。 4个表分别为filter,nat,mangle,raw。

filter:一般的过滤功能
nat:用于nat功能(端口映射,地址映射等)
mangle:用于对特定数据包的修改
raw:有限级最高,设置raw时一般是为了不再让iptables做数据包的链接跟踪处理,提高性能

5条链分别为PREROUTING,INPUT,FORWARD,OUTPUT,POSTROUTING。

PREROUTING:数据包进入路由表之前
INPUT:通过路由表后目的地为本机
FORWARD:通过路由表后,目的地不为本机
OUTPUT:由本机产生,向外转发
POSTROUTIONG:发送到网卡接口之前。

iptable的常用管理命令

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

首先我们将前面的firewalld关闭在再打开iptable。

systemctl stop firewalld					
systemctl enabled firewalld
systemctl start iptables.service

打开iptable。

iptables -nL

在这里插入图片描述
不解析列出表策略

iptable  -F

刷掉filter表中的所有策略,当没有用-t指定表名称时默认时filter。

iptables -P INPUT DROP

设置网络连接为丢弃,任何接受的网络数据包都被丢弃,没有任何回复。

iptables -P INPUT ACCEPT

设置网络连接状态为允许,允许所有网络连接。

iptables -t filter -A INPUT -p tcp --dport 22 -j REJECT

在这里插入图片描述
禁用22端口,此时使用22端口进行远程连接被拒绝了。

在这里插入图片描述
使用iptables -nL可以查看这条规则。
如果要使22端口对这台主机能使用的话,要添加这一条命令:

iptables -I INPUT 1 -p tcp --dport 22 -s 172.25.254.31 -j ACCEPT

表示允许这台主机使用22端口,并且将这条规则插入到第一条,因为iptable读取规则时是按照顺序的,所以要把规则插入到第一条。如果只是添加的话把-I参数改为-A就可以了,添加规则按照默认顺序排序。

iptables -D INPUT 2

删除规则第二条规则,可以先用查看有那些规则,再根据自己的需求删除。

iptables -N redhat

在这里插入图片描述
增加一条链

iptables -E  redhat linux

在这里插入图片描述
更改链的名字

iptables -X  linux

在这里插入图片描述
删除链

地址转换

1.源地址转换
源地址转换即内网地址向外访问时,发起访问的内网ip地址转换为指定的ip地址,这可以使内网中使用保留ip地址的主机访问外部网络,即内网的多部主机可以通过一个有效的公网ip地址访问外部网络。

iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 172.25.254.231

此时发起访问的内网ip通过这台主机向外传送数据时,ip地址转换为172.25.254.231。
2.目标地址转换
做完源地址转换之后,其他主机去访问172.25.254.231这台主机只能访问到这台真实主机,而访问不到向它发送数据的真实主机,所以172.25.254.231这台主机需要做目标地址转换,让外部主机能找到通过172.25.254.231访问它的真实主机。

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

设置其他主机访问本机22端口时,将目标转为 1.1.1.131主机的22端口。

iptable对端口的控制

iptables -A INPUT -m state --state NEW -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -m state --state NEW  -j REJECT

允许使用使用80端口连接,拒绝使用其他所有端口,注意这里使用的规则也是有顺序的。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux Iptables命令列表: 用iptables -ADC 来指定链的规则,-A添加 -D删除 -C 修改 iptables - [RI] chain rule num rule-specification[option] 用iptables - RI 通过规则的顺序指定 iptables -D chain rule num[option] 删除指定规则 iptables -[LFZ] [chain][option] 用iptables -LFZ 链名 [选项] iptables -[NX] chain 用 -NX 指定链 iptables -P chain target[options] 指定链的默认目标 iptables -E old-chain-name new-chain-name -E 旧的链名 新的链名 用新的链名取代旧的链名 说明 Iptalbes 是用来设置、维护和检查Linux内核的IP包过滤规则的。 可以定义不同的表,每个表都包含几个内部的链,也能包含用户定义的链。每个链都是一个规则列表,对对应的包进行匹配:每条规则指定应当如何处理与之相匹配的包。这被称作'target'(目标),也可以跳向同一个表内的用户定义的链。 TARGETS 防火墙的规则指定所检查包的特征,和目标。如果包不匹配,将送往该链中下一条规则检查;如果匹配,那么下一条规则由目标值确定.该目标值可以是用户定义的链名,或是某个专用值,如ACCEPT[通过], DROP[删除], QUEUE[排队], 或者 RETURN[返回]。 ACCEPT 表示让这个包通过。DROP表示将这个包丢弃。QUEUE表示把这个包传递到用户空间。RETURN表示停止这条链的匹配,到前一个链的规则重新开始。如果到达了一个内建的链(的末端),或者遇到内建链的规则是RETURN,包的命运将由链准则指定的目标决定。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值