A模块.note
题目:
需要注意的点:
1、ansible部分,需要配置nftables和dns主从,而dns从属服务器需要向dns主服务器同步区域数据库文件(使用TCP 53端口传输的),因此需要在 server1上INPUT链放行 TCP 53端口。
一、防火墙:
1、Router:

2、FW:
·(知识点)防火墙放行多个端口:
1、nftables:
nftables 比较简单,想要匹配多个端口,直接 tcp dport {} 使用大括号括起来即可
# 使用命令添加:
## 例如要放行 tcp 100,200,49000-50000 端口:
nft list rule ip Skill2025 forward ip daddr 172.31.10.0/24 tcp dport { 100,200,49000-50000 } accept
2、iptables:
# 使用命令添加:
## 例如要放行 tcp 100,200,49000-50000 端口:
## iptables不支持同时指定单个端口和多个连续端口,因此要分两条写:
iptables -A FORWARD -d 172.31.10.0/24 -p tcp --dport 49000:50000 -j ACCEPT
iptables -A FORWARD -d 172.31.10.0/24 -p tcp -m multiport --dport 100,200 -j ACCEPT
# 或者:
iptables -A FORWARD -d 172.31.10.0/24 -p tcp --dport 100 -j ACCEPT
iptables -A FORWARD -d 172.31.10.0/24 -p tcp --dport 200 -j ACCEPT
二、Mysql:

#先安装mysql,然后创建roundcube数据库,然后导入 app1上roundcube的数据库文件,让其在数据库中创建表
apt install -y mariadb-serverroot用户默认就是只能本地登陆,不需要修改,只需要修改一下root用户的密码即可
1、修改root用户密码:
设置密码后,mysql就只能通过密码访问,不能直接无密码登陆了
grant all privileges on *.* to 'root'@'localhost' identified by 'Skill@2025';
2、创建数据库和用户:
#先安装mysql,然后创建roundcube数据库,然后导入 app1上roundcube的数据库文件,让其在数据库中创建表
mysql -uroot -pSkill@2025
create database roundcube;
## 仅允许dbadmin从app1和app2上访问:
# app1:
grant all privileges on roundcube.* to 'dbadmin'@'172.16.10.101' identified by 'Skill@2025';
# app2:
grant all privileges on roundcube.* to 'dbadmin'@'172.16.10.101' identified by 'Skill@2025';查看:

评分表:

·删除用户:
mysql
DROP USER IF EXISTS 'roundcube'@'%'; 3、导入数据库表:
# 从安装roundcube的机器上拷贝过来,然后导入到 mysql指定数据库中:
scp root@172.16.10.101:/usr/share/roundcube/SQL/mysql.initial.sql .
# 导入到数据库中:
mysql roundcube < mysql.initial.sql
如果有密码:
mysql -uroot -pSkill@2025 roundcube < mysql.initial.sql
4、设置允许从任何IP访问mysql,修改配置文件:
vim /etc/mysql/mariadb.conf.d/50-server.cnf
systemctl restart mysql
重启生效