5-15-Linux.note
一、初始化:
1、配置 loopback 0 接口:
不是类似 cisco的loopback 接口,而是使用 ip link命令创建一个临时接口,只是名为 lo0 而已
# L-RTR:
vim /etc/network/interfaces
## pre-up ip link add lo0 type dummy //启动该接口前先创建该接口
## down ip link del lo0 //关闭该接口后删除该接口(否则再次启动会报错,因为启动时会之星创建命令,接口已经存在会无法创建,然后报错,启动失败)
二、dns:
1、L-SRV:
apt install -y bind
mkdir /opt/dns
vim /etc/apparmor.d/usr.sbin.named
systemctl restart apparmor
vim named.conf.options
# 配置了根提示、委派等就需要配置 allow-recursion
vim named.conf

db.skill39.wsr

db.172

db.192

db.out

·ddns:dhcp(L-RTR)
注意,dhcp必须配置 option domain-name,否则 ddns不会生效
vim /etc/dhcp/dhcpd.conf


systemctl restart isc-dhcp-server
测试:

2、R-SRV:
vim /etc/bind/named.conf
三、ldap:
1、L-SRV 仅允许Admin组进行登陆:
·方式一:使用 pam 进行限制
# 开启 pam_access.so配置:
vim /etc/pam.d/login
取消注释
# 编辑限制文件:
vim /etc/security/access.conf在末尾定义要限制的组或用户:

·方式二:(未成功)在 nslcd中过滤
apt install -y nslcd
vim /etc/nslcd.conf
# 在末尾添加 filter passwd (memeber=cn=Admin,ou=Groups,dc=skill39,dc=wsr)
systemctl restart nslcd nscd
2、L-CLI 客户端仅允许 Admin 和 Guest组登陆(未成功):
·方式一:使用 pam 进行限制
# 开启 pam_access.so配置:
vim /etc/pam.d/login
取消注释
# 编辑限制文件:
vim /etc/security/access.conf在末尾定义要限制的组或用户(这里拒绝VPN组和webuser组):

·方式二:(未成功)在 nslcd中过滤
四、DRBD 阵列:

先在 L-SRV 和 L-RTR 两台机器上添加1块1G磁盘
1、创建 DRBD阵列:
apt install -y drbd-utils(1)编辑配置文件:
# 复制配置:
vim /usr/share/doc/drbd-utils/examples/drbd.conf
## 搜索:connection-mesh复制

vim /etc/drbd.conf
# 将端口改成默认的 7789
编辑后不要重启 drbd服务
(2)将文件拷贝给对端:
将该文件拷贝给另一端:
scp /etc/drbd.conf root@172.16.50.2:/etc(3)初始化 DRBD:
# 在两台机器上同时执行:
drbdadm create-md test //test是上面文件中设置的名称

(4)启动drbd服务:
# 两台机器同时启动:
systemctl enable drbd //默认不会开机自启动
systemctl restart drbd
也可以使用:
drbdadm up test


·查看状态:
cat /proc/drbd
2、配置主从节点:
(1)主设备配置:
注意,主节点配置重启后就会失效,因此要修改 drbd.service 的配置,启动服务前执行
drbdadm primary --force test·方式一(自动提升为主设备并自动挂载):
vim /lib/systemd/system/drbd.service
# 这条命令直接抄下面,然后加一个 Post即可
## 作用:服务启动成功后再执行命令
## 需要提前配置好 /etc/fstab文件(重要字段:_netdev,nofail):

·方式二(仅自动提升为主设备):
vim /etc/drbd.conf
# 配置自动成为主设备
(2)从设备配置:
drbdadm secondary test·在主设备上格式化并挂载即可:
从设备是只读的,无法格式化挂载(只能够使用nfs之类的办法连接主设备的文件)
# 主设备配置:
mkfs.ext4 /dev/drbd0
·配置主主节点:
注意,主主节点文件格式不能够是ext4
# 两台机器上配置:
drbdadm adjust r0
drbdsetup /dev/drbd0 net-options --allow-two-primaries
# 接下来格式化挂载即可:
apt install ocfs2-tools
mkfs.ocfs2 -L "drbdvol" /dev/drbd03、配置 nfs、autofs:
(1)L-SRV作为nfs服务器:
apt install -y nfs-kernel-server
vim /etc/fstab
mount -a
vim /etc/exports
exportfs -av
(2)L-RTR使用autofs连接nfs:
apt install -y autofs
mkdir -p /opt/homesvim /etc/auto.master
vim /etc/auto.misc
systemctl restart autofs
测试:

4、配置磁盘配额:
只需要在 主节点(L-SRV)上进行配额即可
# L-SRV:
apt install -y quota# 配置配额的磁盘需要修改挂载字段:
vim /etc/fstab
# 创建quota相关的文件:
auotacheck -cugm /opt/homes
edquota -u skills
# 编辑完成后按 Ctrl + x 保存
# 将配额复制给另一个用户:
edquota -p skills root# 启用 quota:
quotaon /opt/homes·查看配额:
repauota -v /opt/homes
五、openvpn:
1、openvpn 仅允许 VPN 组进行登陆:
在 VPN 服务器上配置
# 开启 pam 的 access限制:
vim /etc/pam.d/login取消注释

vim /etc/security/access.conf
# 在末尾添加:输入客户端的网段(这样就不会影响ldap用户本地登陆)

·测试:
输入 非VPN组的ldap用户:
连接失败:

输入 VPN组的ldap用户:
连接成功:

2、脚本连接openvpn:
vim /usr/bin/start_vpn.sh
chmod +x /usr/bin/start_vpn.sh
## 关键参数: --daemon 后台运行 openvpn命令
测试:

如果需要关闭:
使用 ps -aux 查看进程
然后使用 kill -9 [进程号] 关闭
或:
pkill -f "openvpn.*"·关闭vpn脚本:

3、S2S:
(1)L-FW:
openvpn --genkey secret /opt/vpn/ta.key
vim /etc/openvpn/vpn.conf
apt install -y frr
vtysh
conf t
router ospf
int tun1
ip ospf area 0
end
wr
(2)R-FW:
scp root@10.10.10.1:/opt/vpn/ta.key /opt/vpn
apt install -y frr
apt install -y frr
vtysh
conf t
router ospf
int tun1
ip ospf area 0
end
wr
六、ssh:

1、L-FW:
vim /etc/ssh/sshd_config
末尾添加:

2、OUT-CLI:
vim /etc/ssh/ssh_config
# 复制 Host *,然后添加到末尾,并改为 Host 10.10.10.1这里删除了注释的内容

七、LVM:

1、创建 lvm:
apt install -y lvm2
pvcreate /dev/sdb
vgcreate vg1 /dev/sdb
lvcreate -L 1020M -n lv1 vg1
mkfs.ext4 /dev/vg1/lv1
mkdir -p /opt/lvm
vim /etc/fstab
2、创建 lvm快照:
lvmcreate -s -L 4M -n `date "+%Y%m%d.%H%M%S"` /dev/vg1/lv1
# 最小大小为4M(如果写的时候低于4M,会自动提升为4M)
# 这里使用反引号 `` 来将引号内的命令输出来作为外面这条命令的参数
查看快照:

八、DFS:
dfs应该是要配置samba

1、配置 samba:
apt install -y samba
vim /etc/samba/smb.conf

不着急重启smbd,重启会报错的
ldapadd -Q -Y EXTERNAL -H ldapi:/// -f /usr/share/doc/samba/examples/LDAP/samba.ldif# 导入 admin的密码:
smbpasswd -Wcd /etc/smbldap-tools
cp /usr/share/smbldap-tools/examples/smbldap.conf .
net getlocalsid >> smbldap.conf
vim smbldap.conf



cd /etc/smbldap-tools
cp /usr/share/doc/smbldap-tools/examples/smbldap_bind.conf .
vim smbldap_bind.conf
smbldap-populate2、创建 Guest用户:
复制 smbldap-populate 创建的root用户属性,将其配置为模板,使用ldapscripts批量添加(或者使用smbldap-useradd 命令批量添加也可以)
ldapsearch -x -b dc=skill39,dc=wsr > 123复制root属性:

vim usertemp
:%s/root/<user>
# 需要改的属性:uid、gid、dn、home目录、loginShell、最终:

# 创建 Guest用户:
ldapaddgroup Guest
for i in {1..99}; do ldapadduser user$i Guest; done
systemctl restart smbd
然后将usertemp改为默认的usertemp即可(让之后创建的用户不再带有smb属性)(如果之后无需再创建用户可以忽略这个操作)
测试:

此时只有 Guest组能够登陆,因为只有Guest组中的用户带有 smb用户属性
3、L-CLI 上配置自动挂载:
mkdir /opt/share
vim /etc/fstab

九、日志收集:

1、L-SRV:
apt install -y rsyslogvim /etc/rsyslog.conf启用 tcp、udp监听

定义日志存储路径:

systemctl restart rsyslog
配置日志轮转、设置最大大小为10 KB:
cd /etc/logrotate.d/
cp rsyslog logs
vim logs
注意不要书写重启rsyslog的字段,因为当下发脚本快速执行logrotate时,一直重启rsyslog会导致其报错
# 手动轮转测试:
logrotate -vf /etc/logrotate -vf /etc/logrotate.d/logs
or
logrotate -f /etc/logrotate.d/logs·当日志大小超过10kb时自动进行轮转:
vim ~/log.sh
# 这里定义的是10000而不是10240,以这个阈值我们要写低一点
# 不需要写sleep
or

# 运行脚本:
bash log.sh &2、L-FW、L-SRV、R-SRV:
apt install -y rsyslogvim /etc/rsyslog.conf
# @表示udp,@@表示tcp
systemctl restart rsyslog
十、Haproxy:
1、配置 客户端证书身份认证:
与Windows不同,Linux的证书不需要有 服务器身份认证、客户端身份认证字段,只需要CA能够信任即可,可以不需要有DNS字段,CN字段也无需与客户端匹配,只要是张证书就行
(1)haproxy配置:
vim /etc/haproxy/haproxy.cfg
# 参数解释:
ca-file [file] //指定ca根证书文件
verify required //要求客户端必须提供有效证书(否则不允许访问443端口)(2)将Web证书导出为 pkcs12格式文件:
# openssl pkcs12 -export -out [转换后的pkcs12文件名] -in [要被转换的证书文件] -inkey [要被转换证书的私钥] -certfile [ca根证书]
openssl pkcs12 -export -out client.p12 -in skill39.crt -inkey skill39.key -certfile ca.crt将它拷贝给客户端
(3)客户端导入pkcs12格式证书:
cp client.p12 /home/user
chmod 755 /home/user/client.p12打开火狐浏览器导入证书:



输入前面生成时输入的密码:


·客户端测试访问:
可以看到弹出了证书选择页面,点击OK

访问成功:

如果没有证书,或者取消选择证书就会报错:
