月度归档:2022年06月

NFS 文件存储,安装配置使用,为Linux服务器/Docker容器提供持续化的文件存储 2022-6-25

段落1、需求描述

内网中的一些Linux主机,还有一些Docker容器,需要持续化的一些文件共享,这个场景,NFS是非常适合的,下面就来讲解一下,如何配置NFS服务器,为其他内网Linux/Docker容器,提供共享的文件存储分区

NFS 的优点是内核直接支持,部署简单、运行稳定,协议简单、传输效率高。
NFS 的缺点是没有加密授权等功能,仅依靠 IP 地址或主机名来决定用户能否挂载共享目录,对具体目录和文件无法进行 ACL 权限控制(NFSv4 以前)。通常的做法是通过 Kerberos 对 NFS 进行认证及加密,不过部署配置比较麻烦。

Windows对于NFS文件存储支持稍欠缺,缺UTF8编码,可能有文件名乱码问题。

段落2、安装 NFS Server

apt update
apt install nfs-kernel-server

段落3、配置 NFS Server

/media/NFSData 是我这里模拟提供NFS存储的大容量磁盘的挂载点

/dev/sdb1 是我这里模拟提供NFS存储的大容量设备文件分区

相关Dasmz的其他博客

Ubuntu/Debian 的Linux环境,格式化超过2TB的磁盘 2022-4-24

https://dasmz.com/?p=2177

mkdir -p /media/NFSData
chown nobody:nogroup /media/NFSData 
chmod 777 /media/NFSData
mount /dev/sdb1 /media/NFSData

修改基于IP可信的配置文件,我这里,对于整个内网的IP段虚拟机VM都放行这个NFS分区

修改配置文件

# 修改 /etc/exports 文件
/media/NFSData    10.11.11.0/24(rw,sync,no_subtree_check)

参数释义

ro: specifies that the directory may only be mounted as read only
rw: grants both read and write permissions on the directory
no_root_squash: is an extremely dangerous option that allows remote “root” users the same privilege as the “root” user of the host machine
subtree_check: specifies that, in the case of a directory is exported instead of an entire filesystem, the host should verify the location of files and directories on the host filesystem
no_subtree_check: specifies that the host should not check the location of the files being accessed withing the host filesystem
sync: this just ensures that the host keeps any changes uploaded to the shared directory in sync
async: ignores synchronization checks in favor of increased speed

修改完配置文件,重启服务即可

systemctl restart nfs-server
systemctl enable nfs-server

NFS Server监听端口是 TCP/2049

RPC-Bind监听端口 TCP/111

段落4、配置客户端

apt update
apt install nfs-common

mkdir -p /media/NFS
mount -t nfs4 10.11.11.200:/media/NFSData /media/NFS

段落5、设置开机启动的挂载

# 修改文件 /etc/fstab

10.11.11.200:/media/NFSData	/media/NFS	nfs4	defaults,user,exec	0 0

完成

段落6、排查问题,部分版本的,可能需要修改/etc/default/nfs-common

常见报错

mount.nfs: access denied by server while mounting

可能原因

6.1、安全组,防火墙,端口放行

6.2、检查配置文件

exportfs -rav

6.3、用户ID匹配,我这里不区分,即:

# 修改 /etc/default/nfs-common
NEED_IDMAPD=no
NEED_GSSD=no

6.4、客户端显示更多信息

客户端执行mount命令的时候,加上 -v 参数

mount -t nfs -vvvv 1.169.9.27:/media/remote_nfs /media/LNFS

附录1、安全

如果不放心未知的风险,可选用防火墙加固一下 111/ 2049 两个端口,如果是NFSv3,可能还需要增加防护端口 37305/40087/54045/55529

2023-02-23 更新文章

附录2、视频演示

Windows 环境,安装zabbix-agent 2022-6-19

段落1、需求描述

给常开机的windows系统,配置zabbix监控

段落2、系统

Windows 7 服务器 1个

段落3、直接安装

安装简单,直接到官网下载对应系统版本的msi文件,安装

https://www.zabbix.com/documentation/current/en/manual/installation/install_from_packages/win_msi

我这里安装的6.0.5这个版本

https://cdn.zabbix.com/zabbix/binaries/stable/6.0/6.0.5/zabbix_agent-6.0.5-windows-amd64-openssl.msi

安装完,直接添加zabbix-server或者zabbix-proxy的配置即可

Debian 11 环境下,Zabbix-Proxy 安装配置向导 2022-6-19

段落1、需求

将内网的虚机统一用一台zabbix-proxy接入管理

段落2、环境

安装zabbix-proxy的环境是 Debian 11

安装的数据库是 MariaDB

段落3、安装 MariaDB 数据库

我们首先需要安装的是 MariaDB数据库,用来临时存放服务器检测的数据。安装方式,其实比较简单,不需要最新版本的MariaDB,只需要安装apt里面的版本即可。

root@ZabbixProxy:~# apt update
root@ZabbixProxy:~# apt install wget
root@ZabbixProxy:~# apt install mariadb-server mariadb-client
root@ZabbixProxy:~# systemctl status mariadb
root@ZabbixProxy:~# mysql_secure_installation  #安全加固

Switch to unix_socket authentication [Y/n] n
Change the root password? [Y/n] Y
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

root@ZabbixProxy:~# systemctl enable mariadb

特别注意,你自己设置的数据库root的密码,不要转头就忘记了,务必记下来

段落4、创建一个zabbix-proxy用的数据库实例

数据库实例的名称,我这里就用zabbix,对应的数据库普通用户也叫做zabbix,数据库普通用户zabbix的密码最好跟数据库root密码不要写一样的。

root@ZabbixProxy:~# mysql -uroot -p
这里输入是数据库root用户的密码
MariaDB> create database zabbix character set utf8 collate utf8_bin;
MariaDB> create user zabbix@localhost identified by '这里是zabbix用户的密码';
MariaDB> grant all privileges on zabbix.* to zabbix@localhost;
MariaDB> flush privileges;
MariaDB> quit;

段落5、安装zabbix-proxy

zabbix-proxy架构示意,它有点像一个接入网关的作用

安装的zabbix-proxy版本,必须跟zabbix-server版本一致。

检查zabbix-server的版本

root@ZabbixServer:~# zabbix_server -V

确认好版本是 4.0 LTS/5.0 LTS/ 6.0 LTS,到底是哪个之后,去zabbix官网,下载对应版本及OS系统的Zabbix repository的deb文件

我这里生产环境是4.0 LTS的,这个生产环境建设的早,所以版本旧,你们根据你们zabbix-server的实际版本,进行下载

root@ZabbixProxy:~# wget https://repo.zabbix.com/zabbix/4.0/debian/pool/main/z/zabbix-release/zabbix-release_4.0-4+debian11_all.deb
root@ZabbixProxy:~# dpkg -i zabbix-release_4.0-4+debian11_all.deb
root@ZabbixProxy:~# apt update
root@ZabbixProxy:~# apt-get install zabbix-proxy-mysql
root@ZabbixProxy:~# zcat /usr/share/doc/zabbix-proxy-mysql/schema.sql.gz | mysql -uzabbix -p zabbix   # 导入相关数据表结构
// 这里输入的是,刚刚的,数据库 用户zabbix的密码

导入表结构的时候,有一个小报错,如下

ERROR 1118 (42000) at line 1278: Row size too large (> 8126). 
Changing some columns to TEXT or BLOB may help. 
In current row format, BLOB prefix of 0 bytes is stored inline.

主要来自 innodb_strict_mode 参数的影响,这里重新登录数据库,删除zabbix数据库,修改对应的SQL文件,重新导入即可

root@ZabbixProxy:~# mysql -uroot -p
这里输入是数据库root用户的密码
MariaDB> drop database zabbix;
MariaDB> create database zabbix character set utf8 collate utf8_bin;
MariaDB> grant all privileges on zabbix.* to zabbix@localhost;
MariaDB> flush privileges;
MariaDB> quit;

修改数据库的SQL文件

root@ZabbixProxy:~# cd /usr/share/doc/zabbix-proxy-mysql
root@ZabbixProxy:~# gzip -d schema.sql.gz
root@ZabbixProxy:~# vi schema.sql
新增一行到文件开头 SET SESSION innodb_strict_mode=OFF;
root@ZabbixProxy:~# cat schema.sql | mysql -uzabbix -p zabbix
// 这里输入的是,数据库用户zabbix的密码

完美的成功导入全部表结构,无报错。可以登录进zabbix库,查看一下导入的表。

段落6、修改一下zabbix-proxy的配置文件参数

配置文件的路径 /etc/zabbix/zabbix_proxy.conf

Server=127.0.0.1  --> 需要修改到你的Zabbix-Server地址
Hostname=Zabbix proxy  --> 需要指定一个名称zabbixproxy
LogFile=/var/log/zabbix/zabbix_proxy.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_proxy.pid
SocketDir=/var/run/zabbix
DBName=zabbix       --> 需要指定你刚刚配置的数据库实例名称,我这里是zabbix
DBUser=zabbix       --> 需要指定你刚刚配置的数据库普通用户名,我这里是zabbix
DBPassword=passforuserzabbix --> 需要指定你刚刚配置的数据库普通用户对应的密码
ConfigFrequency=300     --> 需要指定时间间隔-获取配置-秒
DataSenderFrequency=30  --> 需要指定时间间隔-上传数据-秒
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
Timeout=4
ExternalScripts=/usr/lib/zabbix/externalscripts
FpingLocation=/usr/bin/fping
Fping6Location=/usr/bin/fping6
LogSlowQueries=3000

修改完成配置文件,重启一下zabbix-proxy

root@ZabbixProxy:~# systemctl restart zabbix-proxy
root@ZabbixProxy:~# systemctl enable zabbix-proxy

段落7、登录zabbix-server的WEB页面,注册刚刚配置的zabbix-proxy

在管理页面,点击创建代理

[闲聊话题] 关于 提示存在通过技术手段使其成为跨境节点等行为 2022-6-18

段落1、法律法规

《互联网信息服务管理办法》

《计算机信息网络国际联网管理暂行规定》

《 互联网跟帖评论服务管理规定》

段落2、网友反馈

网友34995549

网友I3arn

网友mryuyi(说法存疑,仅看到一个人有此经历说法)

网友net909

网友woniu

段落3、处理结果

主要总结:

1、封禁主机

2、无退款

3、无法取回主机内数据

4、人脸识别,身份二次认证

段落4、技术手段分析

参考openstack类的云的整体架构,这次技术侦测,

云厂家审计用户行为,主要是两个方式

1、主机安全 + 日志审计(资产内的扫描)。对进程文件,匹配到库内特征值一致,即可判定

2、互联网边界防火墙 + 日志审计(资产外的流量扫描)。触发特定IP段访问,即可判定

https://cloud.tencent.com/document/product/1132/46928

https://help.aliyun.com/document_detail/107444.html

https://cloud.tencent.com/product/cwp

段落5、新来的法规

《 互联网跟帖评论服务管理规定》,对于携带评论的网站,如一些BBS,博客BLOG,话题贴类的站,对发布评论的人又要实名,可能是一个需要必须对评论模块整改的选项。

附录1、视频

批量下载Twitter图片,高清大图,的重要工具,谷歌浏览器扩展Fatkun Batch Download Image 2022-6-14

章节1、需求描述

批量下载推特上,喜欢的小姐姐账号发布的图片,可以支持在线选择,分辨率选择,一键下载

章节2、环境描述

谷歌浏览器Chrome

谷歌浏览器Chrome的插件Fatkun Batch Download Image

章节3、基本用法描述

在打开的页面,直接使用键盘的[ALT] + [Z]两个快捷键即可召唤出Fatkun,或者点击它的扩展图标,选择下载当前页的。

在它弹出的页面,可以支持过滤图片的分辨率,直接筛选出大图,可以反选,支持批量下载时候按规则重命名图片,支持批量导出图片的链接URL地址

章节4、实际用法示例视频

章节5、感谢

感谢作者aituxiu对这个插件Fatkun,这么多年的维护,付出。

附录1

No.000100 批量下载Twitter高清大图的重要工具,谷歌浏览器扩展Fatkun Batch Download Image 20220614

本期博客地址 https://dasmz.com/?p=2414
本期视频地址 https://youtu.be/iDtt4eTrbBk

孩子上网课,Windows电脑需权限控制,网站拦截 2022-6-4

段落1、需求描述

邻居家的孩子高中了,疫情封控期间,都是在家上网课,孩子上课使用一台笔记本电脑,因担心孩子使用电脑不自觉,玩别的,需要设置一下权限及设置一些网站的拦截。

据其描述,孩子常用的网课软件是 钉钉Windows客户端,腾讯会议windows客户端,QQ电脑版,WPS(国产的Office处理软件),浏览器,日常只要保证如上可以正常用就可以。

必须限制短视频类的网站,在电脑无法访问。

段落2、场景分析

这个场景,就是典型的Windows分权限的场景,同时屏蔽网站的需求,因其未必对电脑懂那么多,故而,先进行本地的DNS解析,将常用的短视频网站限制。

可选高级玩法,担心其使用第三方的DNS,则用管理员身份,定义路由表。

段落3、实施部署

3.1 激活本地的administrator超级管理员账号,设置普通账号

net user administrator /active:yes    #激活本地的administrator超级管理员账号
net user /add user 123456    #增加普通用户账号并设置密码为简单密码123456

如果原系统有一个其他名称的管理员账号,则可以把它修改为普通账号。

3.2 管理员身份,修改本地的hosts文件,强制解析娱乐网站到空地址

本地的hosts文件在目录

C:\Windows\System32\drivers\etc\hosts

将hosts文件拖到桌面上,点击继续,用写字板修改之后在将它拖回C:\Windows\System32\drivers\etc,遇到提示,点击继续。

修改娱乐网站的本地DNS解析

127.0.0.1 weibo.com
127.0.0.1 douyin.com
127.0.0.1 www.youku.com
127.0.0.1 v.qq.com
127.0.0.1 www.iqiyi.com
127.0.0.1 www.kuaishou.com   # 快手
127.0.0.1 www.bilibili.com   # B站
127.0.0.1 www.acfun.cn 
127.0.0.1 www.4399.com  # 小游戏

如上的方式,在孩子会修改第三方DNS时候,失效,但是一般家庭足够用了。

3.3 (可选),高阶设置,防止孩子懂电脑DNS的知识,使用管理员账号直接重定向路由表,让娱乐网站路由置空

本段暂时省略,相关都是Windows路由表设置,对普通的家长也有难度了,暂时不做讲解。

这个方式,可以直接阻断娱乐网站的全部路由,即便DNS解析,孩子知道自定义,也无法访问到对应的网站

段落4、后记

孩子使用普通账号登录,是没有权限自己安装软件的,如果需要安装软件,则需要使用administrator权限或者账号登录安装。

在他孩子眼里,我从此大概就成了,楼下的坏邻居,唉。

附录1、视频