linux防火墙详解firewall,CentOs7防火墙firewall 详解

一、基本命令

### 防火墙 ###

systemctl stop firewalld.service #停止firewall

systemctl disable firewalld.service #禁止firewall开机启动

firewall-cmd --reload #重启防火墙

firewall-cmd --state #查看防火墙状态,是否是running

firewall-cmd --add-port=80/tcp --permanent #永久添加80端口

firewall-cmd --list-all #查看防火墙规则(只显示/etc/firewalld/zones/public.xml中防火墙策略)

### 服务 ###

systemctl is-enabled firewalld.service #查看服务是否开机启动

systemctl list-unit-files|grep enabled #查看已启动的服务列表

### 时间 ###

timedatectl #查看时间设置,一般如果按照的时候选择中文界面,默认时区是上海的

timedatectl list-timezones #列出所有时区

timedatectl set-timezone Asia/Shanghai #修改时区为上海

timedatectl set-ntp 1 #开启时间同步,如果只是设置yes就是ntp,但并不同步

二、防火墙设置原理

使用时的规则是这样的:

第一个目录:/etc/firewalld/

第二个目录:/usr/lib/firewalld/

当需要一个文件时firewalld会首先到第一个目录中去查找,如果可以找到,那么就直接使用,否则会继续到第二个目录中查找

配置文件分两步,这样做就可以做到只需修改对应service的端口,无需去修改上层对应规则,首页找到规则对应的service(service配置文件的命名规则是.xml),模板在(/usr/lib/firewalld/zones),设置是否放行;其次找到service的单独配置文件(/usr/lib/firewalld/service),设置其对应的端口

d1a871cdb8da402e6af8b20ec18d362c.png

默认的/etc/firewalld/zones/public.xml加了ssh,然后ssh的端口是22

通用配置方法,比如http 8080端口需要访问网站,举例说明:

# 复制services/http.xml文件

cp /usr/lib/firewalld/services/http.xml /etc/firewalld/services/

# 修改service配置

vi /etc/firewalld/services/http.xml

# 找到, 其中protocol是协议: tcp | udp,port是端口:80 | 80,81 | 80:100 格式,和iptables一样

# 在加入public.xml加入http的service,复制一个,将name值改成对应的http(service命名规则是.xml)

vi /etc/firewalld/zones/public.xml

#重载防火墙配置

firewalld-cmd --reload

三、命令设置规则

--permanent参数 永久生效,写入xml文件,需要firewall-cmd --reload重加载生效,不加则重启firewall失效systemctl restart firewalld

--zone加入的区域,默认为public

# 某个端口和协议开放/删除

firewall-cmd --add-port=8080/tcp

firewall-cmd --remove-port=80/tcp

# 设置允许某个协议

firewall-cmd --add-service=smtp

# 开启或者删除某个服务,在services文件夹下面的,比如开启mysql服务

firewall-cmd --add-service=mysql

firewall-cmd --remove-service=mysql

# 查看开放的服务

firewall-cmd --list-services

# 端口转发

firewall-cmd --add-forward-port=port=80:proto=tcp:toaddr=192.168.0.1:toport=8080 # 将80端口的流量转发至192.168.0.1的8080端口

# 信任

firewall-cmd --zone=public --add-source=192.168.100.0/24

firewall-cmd --permanent --zone=public --add-port=1-22/tcp #开放端口

firewall-cmd --zone=trusted --add-interface=docker0 # 无条件信任接口,比如docker容器间访问

# 黑名单,和白名单雷同,只是改--zone=drop 区域

firewall-cmd --zone=drop --change-interface=eth0

# 使用--add-rich-rule

firewall-cmd --add-rich-rule="rule family='ipv4' source address='192.168.1.1' reject"

# 封锁ip段

firewall-cmd --add-rich-rule="rule family='ipv4' source address='192.168.1.0/24' reject"

firewall-cmd --reload

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值