手机版

Linux防火墙iptables与firewalld基本参数介绍与常用规则配置

2019-10-02 阅读 :

iptable

常用参数

-P     #设置默认策略
-F     #清空规则链
-L     #查看规则链
-I <num>     #在规则链头部插入新规则
-A     #在规则链尾部加入新规则
-D <num>     #删除某一条规则
-s     #匹配来源地址 IP/MASK , 加叹号 “!”表示排除这个ip
-d     #匹配目标地址
-i <网卡名称>     #匹配从这块网卡流入的流量
-o <网卡名称>     #匹配从这块网卡流出的流量
-p     #匹配协议,如TCP,UDP,ICMP
--dport <num>    #匹配目标端口号
--sport <num>    #匹配来源端口号

查看已有规则链

iptables -L
iptable --list

设置默认规则链

iptables -P INPUT DROP #把INPUT规则链默认策略设置为拒绝(其他参数有ACCEPT,REJECT,LOG)
#REJECT和DROP不同的是,REJECT会在拒绝流量后回复拒绝信息,DROP是直接丢弃流量

自定义规则

#向INPUT规则链添加允许icmp流量进入的策略规则
iptables -I INPUT -p icmp -j ACCEPT


#只允许指定网段的主机访问本机22端口,拒绝其他主机的访问
iptables -I INPUT -p tcp -s 10.0.0.1/24 --dport 22 -j ACCEPT #允许指定主机访问
iptables -A INPUT -p tcp --dport 22 -j REJECT #拒绝其他主机访问
#!!!需要注意的是iptables是根据配置的规则从下到上匹配,在头部的规则优先级更高。


#向INPUT链添加拒绝所有主机访问本机1000——2000端口的策略规则
iptables -A INPUT -p tcp --dport 1000:2000 -j REJECT

firewalld

firewall-cmd 命令选项
firewalld引入了区域的概念,类似于window的家庭网络,工作网络,公共网络,不同区域之间可以切换,且有其相应的默认规则。
.--get-zones列出所有可用区域
.--get-default-zone查询默认区域
.--set-default-zone=<ZONE>设置默认区域
.--get-active-zones列出当前正使用的区域
.--add-source=<CIDR>[--zone=<ZONE>]添加源地址的流量到指定区域,如果无--zone= 选项,使用默认区域
.--remove-source=<CIDR> [--zone=<ZONE>]从指定区域中删除源地址的流量,如果无--zone= 选项,使用默认区域
.--add-interface=<INTERFACE>[--zone=<ZONE>]添加来自于指定接口的流量到特定区域,如果无--zone= 选项,使用默认区域
.--change-interface=<INTERFACE>[--zone=<ZONE>]改变指定接口至新的区域,如果无--zone= 选项,使用默认区域
.--list-all [--zone=<ZONE>]列出指定区域的所有配置信息,包括接口,源地址,端口,服务等,如果无--zone= 选项,使用默认区域
.--add-service=<SERVICE>[--zone=<ZONE>]允许服务的流量通过,如果无--zone= 选项,使用默认区域
.--add-port=<PORT/PROTOCOL>[--zone=<ZONE>]允许指定端口和协议的流量,如果无--zone= 选项,使用默认区域,可以用来指定非标准协议
 .--remove-service=<SERVICE>[--zone=<ZONE>]从区域中删除指定服务,禁止该服务流量,如果无--zone= 选项,使用默认区域
.--remove-port=<PORT/PROTOCOL>[--zone=<ZONE>]从区域中删除指定端口和协议,禁止该端口的流量,如果无--zone= 选项,使用默认区域
.--reload删除当前运行时配置,应用加载永久配置

常用参数

查看当前服务所使用的区域

firewall-cmd --get-default-zone

查看指定网卡的区域

firewall-cmd --get-zone-of-interface=ens33 #查看ens33网卡的区域

修改默认区域

firewall-cmd --set-default-zone=public #设置默认区域为public

允许服务通过

firewall-cmd --zone=public --add-service=http #允许http协议的流量
firewall-cmd --zone=public --query-service=http #查询http是否被允许

所有配置不加–permanent参数的话,都是临时生效,重启后恢复。

永久生效并立即生效

firewall-cmd --permanent --zone=public --remove-service=http #永久模式拒绝http流量
firewall-cmd --reloacd #重新加载配置文件

允许端口通过

firewall-cmd --zone=public --add-port=1000-2000/tcp #允许1000到2000的端口通过
firewall-cmd --zone=public --list-ports #查询允许通过的端口

端口转发

firewall-cmd --permanent --zone=public --add-forward-port=port=888:proto=tcp:toport=22:toaddr=172.0.0.5 #将本机888端口转发到172.0.0.5的22端口
本文标题:Linux防火墙iptables与firewalld基本参数介绍与常用规则配置 - 服务器教程_服务器技术_服务器知识_vps教程
本文地址:https://www.helloaliyun.com/tutorial/1082.html

相关文章

你可能感兴趣