linux 防火墙经常使用的命令

# 开启防火墙服务
systemctl start firewalld
# 关闭防火墙服务
systemctl stop firewalld
# 重启防火墙服务
systemctl restart firewalld
# 开发端口
firewall-cmd --zone=public --add-port=8080/tcp  --permanent
# 移除端口
firewall-cmd --zone=public --remove-port=8080/tcp  --permanent
# 开放服务
firewall-cmd --zone=public --add-sevice=http  --permanent
# 移除服务
firewall-cmd  --zone=public --remove-service=http --permanent
=====
# 运行指定的ip访问
# 新建永久规则,开放192.168.1.1单个源IP的访问
firewall-cmd --permanent --add-source=192.168.1.1
# 新建永久规则,开放192.168.1.0/24整个源IP段的访问
firewall-cmd --permanent --add-source=192.168.1.0/24
# 移除上述规则
firewall-cmd --permanent --remove-source=192.168.1.1

# 允许指定IP访问本机8080端口
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.1" port protocol="tcp" port="8080" accept'
# 允许指定IP段访问本机8080-8090端口
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="8080-8090" accept'
# 禁止指定IP访问本机8080端口 
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.1" port protocol="tcp" port="8080" reject'
# 移除以上添加操作,将--add-rich-rule 替换成--remove-rich-rule
==============
# 往往在防火前的配置中,会遇到禁止所有的ip访问,但允许固定的ip 访问
# 配置如下:
1、更改防火墙默认区域为trusted
firewall-cmd --set-default-zone=trusted
2、新建一个zone,将想要访问本机80端口的ip,如:192.168.3.99 ,添加的这个zone中,同时在这个zone中放行80端口。
firewall-cmd --permanent --new-zone=myzone
firewall-cmd --permanent --zone=myzone --add-source=192.168.3.99
firewall-cmd --permanent --zone=myzone --add-port=80/tcp
3、配置除192.168.1.123这个ip以外的地址访问本机时会使用当前默认的trusted这个zone里的规则,即禁止访问本机的80端口。
 firewall-cmd --permanent --zone=trusted --add-rich-rule='rule family="ipv4" port protocol="tcp" port="80" drop'
=============

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


==========启动docker服务导致防火强规则失效的解决方法==========================
# 修改docker的systemd配置文件
vi /lib/systemd/system/docker.service
# 在到ExecStart=/usr/bin/dockerd  配置项  添加配置如下:
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock  --iptables=false

你可能感兴趣的:(网络,服务器,apache)