Firewall
防火墙可以保护服务器,禁止未授权的访问,本文记录 CentOS
中 Firewall
防火墙的安装和配置。
安装与开启
安装命令
yum install -y firewalld firewall-config
开启 Firewall
防火墙服务
systemctl start firewalld
默认情况下,Firewall
会以最小化的配置运行,它不允许大多数入站和出站连接。我们需要配置定义规则来放行需要的请求流量。
允许SSH连接
--permanent
代表着永久生效,不使用该参数则重启后失效。
sudo firewall-cmd --zone=public --add-service=ssh --permanent
允许HTTP和HTTPS流量
sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --zone=public --add-service=https --permanent
允许 MySQL 数据库端口
sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent
使配置生效
配置完成后,我们需要重新加载配置,使配置的规则生效并验证规则正确性。
重新加载配置
sudo firewall-cmd --reload
验证 Firewall 配置
使用 list-all
查看当前 Firewall
的配置: 允许的服务、端口和源IP地址信息
sudo firewall-cmd --list-all
使用技巧
firewalld 基本使用操作
- 启动:
systemctl start firewalld
- 查看状态:
systemctl status firewalld
- 禁止开机启动:
systemctl disable firewalld
- 停止运行:
systemctl stop firewalld
firewalld-cmd 命令
- 查看版本:
firewall-cmd --version
- 查看帮助:
firewall-cmd --help
- 显示状态:
firewall-cmd --state
- 查看所有打开的端口:
firewall-cmd --zone=public --list-ports
- 查看规则:
firewall-cmd --zone=public --list-all
- 更新防火墙规则:
firewall-cmd --reload
- 更新防火墙规则,重启服务:
firewall-cmd --completely-reload
- 查看已激活的Zone信息:
firewall-cmd --get-active-zones
- 查看指定接口所属区域:
firewall-cmd --get-zone-of-interface=eth0
- 拒绝所有包:
firewall-cmd --panic-on
- 取消拒绝状态:
firewall-cmd --panic-off
- 查看是否拒绝:
firewall-cmd --query-panic
Zone 信任级别
drop
丢弃所有进入的包,而不给出任何响应block
拒绝所有外部发起的连接,允许内部发起的连接public
允许指定的进入连接external
同上,对伪装的进入连接,一般用于路由转发dmz
允许受限制的进入连接work
允许受信任的计算机被限制的进入连接,类似 workgrouphome
同上,类似 homegroupinternal
同上,范围针对所有互联网用户trusted
信任所有连接
Docker 问题
如果 Docker
使用时碰到 connect() failed (113: No route to host) while connecting to upstream
错误,可能存在 docker
网络问题,只需要重新 docker
即可。
systemctl restart docker
本文自 https://www.codeun.com 发布,相应代码均自主编写并严格审阅和测试,完整代码中包含丰富的学习笔记和使用方式、实用技巧。
· 如若转载,请注明出处:https://www.codeun.com/archives/1238.html ·