5-12 Linux-日本交流赛.note
一、dns:

db.lyon.fr

db.out

二、kea-dhcp4-server(SRVB1、SRVB2):

1、dhcp 分配地址:
# kea-dhcp4-server //IPv4 DHCP
# kea-dhcp6-server //IPv6 DHCP
apt install -y kea-dhcp4-servervim /etc/kea/kea-dhcp4.conf指定监听的网卡接口(一定要加上双引号)

指定dhcp地址池范围:

指定 dns 服务器地址 和 网关地址:
这里也可以使用 code: 6 来指定(option 6 是dns服务器地址,option 3 是网关地址,网关可以直接在 subnet中指定也能够在这里指定)

指定 ntp 服务器地址(使用 code 42 或者 name "ntp-servers"):
注意:该选项只能够写 ip,不能够写域名,这是 DHCP 协议标准(RFC 2132)的规定,无法绕过

或

注释原本 192.0.2.0/24 网段的默认内容,否则启动会报错:

·可选:指定domain和search:
如果不注释掉,不配置,就会分配默认的 example.com

·可选:固定分配地址:

在客户端查看 ntp 服务器地址是否成功获取:
grep "ntp-servers" /var/lib/dhcp/dhclient.leases
2、ddns(未成功):
(1)配置 dhcp 服务器:
apt install -y kea-dhcp-ddns-servervim /etc/kea/kea-dhcp-ddns.conf监听地址默认即是 127.0.0.1,也可以写成 0.0.0.0


这里写的 name指定的是域名,ip-address是写dns 服务器的ip地址
这里dns服务器在本地,要写 127.0.0.1(但是问题不大)
# 添加内容:
"ddns-domains":[
{
"name":"lyon.fr",
"dns-servers":[
{
"ip-address":"127.0.0.1"
}
]
}
](2)配置 dns 服务器:
# 因为db文件在/etc/bind/ 中,所以需要配置:
chmod 777 /etc/bind
vim /etc/apparmor.d/usr.sbin.named
systemctl restart apparmor
vim /etc/bind/named.conf
systemctl restart bind9
三、CA:

1、证书吊销列表:
题目指定root.pem证书是在 http://ca.lyon.fr网站下,并且要所有已经签发的证书都要在该目录下
http://pki.lyon.fr/root.crl站点则需要开启目录浏览
# 创建ca的操作不赘述
openssl ca -gencrl -out root.crl
vim /etc/ssl/openssl.cnf

·ca.lyon.fr站点:
apt install -y nginx
cp /ca/root.pem /var/www/html
# ca.lyon.fr:
vim /etc/nginx/sites-enabled/default
·pki.lyon.fr站点:
# pki.lyon.fr/root.crl
## 开启目录浏览:
vim /etc/nginx/nginx.conf
mkdir /pki
cp root.crl /pki
vim /etc/nginx/sites-enabled/default
2、sign.sh 颁发证书脚本:
# 命令:
openssl req -out /ca/www.req -newkey rsa:2048 -nodes -keyout /ca/www.key -subj "/C=FR/O=WorldSkills 2024/CN=www/" -extensions usr_cert // -extensions usr_cert 调用 openssl.cnf 文件中的 usr_cert 字段
openssl ca -in /ca/www.req -out /ca/www.pem -batch -passin pass:'Pa$$worD'
## 编辑脚本:
vim /ca/sign.sh
chmod +x /ca/sign.sh
# $1 变量是 /ca/sign.sh www.test.com 中的 www.test.com,执行该脚本时后面跟的字段就是 $1 的内容
生成证书后要将 证书复制到 ca站点下,因此要在脚本中添加:
cp /ca/$1.pem /var/www/html
·测试:
/ca/sign.sh testca.com

vim /ca/www.tests.com.pem



3、revoke.sh 吊销证书脚本:
# 命令:
## -revoke 要指定证书路径:
openssl ca -revoke /ca/666.test.com.pem -passin pass:'Pa$$worD'
openssl ca -gencrl -out /pki/root.crl -passin pass:'Pa$$worD' //生成新的crl文件
## 编辑脚本:
vim /ca/revoke.sh
chmod +x /ca/revoke.sh
吊销证书后要将 证书从到 ca站点下移除,因此要在脚本中添加:
rm /var/www/html/$1
·测试:
/ca/revoke.sh testca.com.pem
证书吊销成功:

此时证书已经从网页中删除

·重要:这里有个问题:
因为题目要求在SRVB1、SRVB2两台机器上都配置CA证书颁发机构,而且又要求使用相同的根CA来颁发证书,所以这里配置的时使用 scp -r 将 /ca 直接拷贝给另一台机器,但是这样有一个问题
假设,评分时在 SRVB1上颁发证书,在 SRVB2上吊销证书,这样就会导致,吊销证书时找不到文件,并且SRVB2的 /ca/index.txt 文件也没有任何颁发过该文件的记录
解决方法:在两台机器之间使用nfs 共享 /ca 和 /pki /var/www/html 目录(/pki目录是存放更新的吊销列表的,/var/www/html 是存放证书的目录)nfs配置不赘述,但是要记得在 SRVB2上给脚本执行权限
测试:此时在 SRVB1上颁发证书,SRVB2也会立马同步:
SRVB1颁发证书:

SRVB2查看:

四、ldap:
apt install -y slapd ldapscripts1、添加 ou:
# 编辑 ou.ldif 文件进行添加:
vim ou.ldif

ldapadd -x -D cn=admin,dc=lyon,dc=fr -w Pa$$worD -f ou.ldif
2、编辑 ldapscripts:
vim /etc/ldapscripts/ldapscripts.conf
## ldapscripts需要调用一下usertemp将 uid=改为 cn=
# 创建 IT01-IT10时使用 ou groups
并且创建Mail组:
ldapaddgroup Mail
# 创建 IT11-IT99时使用 ou users
并且创建IT组:(这里需要注意要指定uid,否则会导致所有用户的组都显示为 Mail,因为Mail和IT的gid相同)
ldapaddgroup IT 10001usertemp:

# 使用 for 循环创建用户:
for i in {01..10}; do ldapadduser IT$i Mail ; done
for i in {01..10}; do ldapsetpasswd IT$i 'Pa$$worD' ; done
for i in {11..99}; do ldapadduser IT$i IT ; done
for i in {11..99}; do ldapsetpasswd IT$i 'Pa$$worD' ; done3、仅允许ldaps:// 和 ldapi://
vim /etc/default/slapd
systemctl restart slapd
4、配置 ldap 用户使用 sudo 无需输入密码:
直接配置 sudoers 即可,使用 %+组名1、sudo配置:
chmod 755 /etc/sudoers //有时sudoers可能没给编辑权限
vim /etc/sudoers输入 ldap的组:%+组名
不要输入大写

无需重启,直接生效
·测试:

五、Web:
apt install -y nginx(1)www站点:
mkdir /www
echo Welcome to WorldSkills 2024 Lyon > /www/index.html
vim /etc/nginx/sites-enabled/default
(2)active站点:
mkdir /active
echo Currently active on: SRVB1 > /active/index.html
vim /etc/nginx/sites-enabled/default
六、邮件:
1、postfix:
常规配置不赘述,这里只解决题目中出现的坑点:
postfix 默认是查询ldap ou: users下的用户,但是该题目的ou是 groups,因此发送邮件会报错:550 报错

apt install -y postfix-ldap# 创建一个文件,名称随意定义
vim /etc/postfix/ldap-users.cf
如果这个文件写错了,发送时会提示451:

vim main.cf
# 在末尾添加,调用前面创建的文件:
·测试:
邮件发送成功:
2、dovecot:
题目要求仅 Mail ldap组下的用户能够登陆,我们这里有两种配置方式:1、用 ou=groups ou来限制用户,但是假设有其它用户存在,也会允许到其它用户访问;2、用户cn=Mail 组来限制用户
apt install -y dovecot-ldap方式一:使用 ou=groups进行限制:
cd /etc/dovecot
cp dovecot-ldap.conf.ext dovecot-ldap.conf
vim dovecot-ldap.conf
# 注意,该文件写错了并不会报错



关键参数:


方式二:使用组 cn=Mail进行限制:
七、监控:

第一点和第二点的邮件发送直接写到 sign.sh 和 revoke.sh 脚本中即可
命令参考这个:

因为邮件报错没排完,所以没写
1、sign.sh 脚本:
2、revoke.sh 脚本:
3、关机、开机 脚本:
(1)开机发送邮件:
vim /root/poweron.sh
chmod +x /root/poweron.sh
# 有没有 /usr/bin/ 都不影响
vim /etc/crontab
# 在末尾添加一行:
·测试:
reboot 重启:
(2)关机发送邮件: