背景
防火墙 通过有机结合各类用于安全管理与筛选的软件和硬件设备,帮助计算机网络于其内、外网之间构建一道相对隔绝的保护屏障,以保护用户资料与信息安全性的一种技术。
就计算机而言防火墙分硬件和软件之分,本篇是从软件角度的防火墙出发,针对操作系统自带的防火墙技术展开介绍。
在程序部署阶段防火墙的设置是常见的操作之一。本篇以ansible为载体介绍,传统防火墙设置参考《centos7 防火墙设置》
需求
针对分配的服务器进行防火墙的开关、端口策略和服务的设置操作。
操作
ansible操作防火墙中在本篇中涉及到三部分的内容
- 防火墙的开关
- 防火墙端口策略
- 防火墙服务策略
防火墙的开关
防火墙的开关使用到的是ansible 中的service服务
打开
# 开启firewalld服务
- hosts: middleware
# 远程执行任务用户
remote_user: root
# 任务列表
tasks:
# 获取系统内服务信息
- name: checking service
ansible.builtin.service_facts:
# 声明
- name: 开启firewalld防火墙
service:
name: firewalld
state: started
enabled: yes
when: ansible_facts.services['firewalld.service'] is defined
如果需要关闭防火墙将state状态设置为 stopped
验证
$ ansible middleware -a 'systemctl status firewalld' -i hosts
防火墙端口策略
打开
# 设置firewalld端口策略
- hosts: middleware
# 远程执行任务用户
remote_user: root
# 任务列表
tasks:
# 声明
- name: 设置firewalld端口策略
firewalld:
port: 8848/tcp
state: enabled
permanent: yes
immediate: yes
验证
$ ansible middleware -m shell -a 'firewall-cmd --lists-ports' -i hosts
防火墙服务策略
打开
# 设置firewalld服务策略
- hosts: middleware
# 远程执行任务用户
remote_user: root
# 任务列表
tasks:
# 声明
- name: 设置firewalld服务策略
firewalld:
service: http
state: enabled
permanent: yes
immediate: yes
验证
$ ansible middleware -m shell -a 'firewall-cmd --lists-services' -i hosts