Windows系统上,电脑端,微信多开,2024-05-09

前缀、文档修改记录

20240509 初始化编辑此文章,完稿

章节1、需求描述

在Windows系统的电脑上,多开微信,一般个人可能有2个微信,那就开2个,有需要3个,就开3个。

章节2、操作描述

右击微信图标,属性,目标这个参数,就是微信在本机电脑的安装位置,把这个位置的字符串复制。

在桌面,写一个txt文本文件,内容为

start "" "C:\Program Files (x86)\Tencent\WeChat\WeChat.exe"
start "" "C:\Program Files (x86)\Tencent\WeChat\WeChat.exe"

写完如上两行内容后,就可以保存,并修改文件后缀,从 .txt 修改为 .bat

备注:如果需要3开,那就上面写三行,其他数量类似。

运行桌面这个bat批处理文件,就可以轻松打开两个微信窗口了,不用再靠手速了。

附录1、视频操作演示

附录2、@Dasmz

博客内,所有教程为手打原创教程,如果技术教程对您有所帮助,欢迎打赏作者。技术层面,闻道有先后,如有疏漏、错误,欢迎指正。技术博客的内容,一般具有一定的环境依赖,具有一定的年代依赖,酌情参考其中的内容,请勿完全照搬照抄。

对于博客内已提及的专业知识,如果需要技术指导,欢迎联系我,仅需支付工时费

Twitter: Dasmz

Youtube: @DasmzStudio

Telegram: @Dasmz

Donate
云乞讨

X99主板,R730显卡,装机Proxmox VE 8.1-2.iso 2024-4-11

前缀、文档修改记录

20240411 初始化编辑此文章,完稿
20240415 完稿,R730 命令行方式装机测试成功

章节1、需求描述

设备配置如下:

精粤X99-M-PLUS D4 V5.3主板,1 * E5 2683v4处理器,4 * DDR4 @2666MHz内存,4 * 512GB SSD,1 * GT730 1G亮机显卡

在安装最新版本的Proxmox VE (proxmox-ve_8.1-2.iso)的时候,出现如下的报错,画面会一直卡住,无法正常安装继续。

这个报错,问题其实非常清晰,就是加载驱动的时候,加载了nvidiafb这个驱动,导致系统卡住了。

更直白的说,就是,当前这个亮机卡,太旧了,属于 Nvidia Kepler-based GPUs时代的,已属于淘汰产品了。

章节2、问题的解决办法

办法1、钞能力

动用钞能力,既然只是英伟达显卡驱动无法加载,那就不用英伟达的卡作为亮机卡,使用一个AMD亮显卡,或者GTX/RTX等的新一点的英伟达款式,来进行装机过程的显示即可

办法2、转进

先安装7.4版本,再在线升级到8.1版本,无非就是一个 dist-upgrade操作,花费更久的装机时间而已

办法3、特殊版本选择

据说8.0版本的高级里,有一个nomodeset选项的装机,用它安装即可,也算是8.0大版本了,虽然不是最新版本,应该也可以将就用的

办法4、官方建议(2024-04-15 Dasmz测试成功,亮机卡R730)

主板里,关闭参数,Disabling CSM (Compatibility Support Mode)

引导至初始安装程序 grub 菜单,Install Proxmox VE (Terminal UI),按 e 键编辑启动项,使用箭头键导航到以 linux 开头的行,移动到这行的最右侧,增加添加参数 nomodeset ,按CTRL + X 去启动装机

参考 https://pve.proxmox.com/wiki/Installation#nomodeset_kernel_param

附录1、视频操作演示

附录2、@Dasmz

博客内,所有教程为手打原创教程,如果技术教程对您有所帮助,欢迎打赏作者。技术层面,闻道有先后,如有疏漏、错误,欢迎指正。技术博客的内容,一般具有一定的环境依赖,具有一定的年代依赖,酌情参考其中的内容,请勿完全照搬照抄。

对于博客内已提及的专业知识,如果需要技术指导,欢迎联系我,仅需支付工时费

Twitter: Dasmz

Youtube: @DasmzStudio

Telegram: @Dasmz

Donate
云乞讨

从Windows远程登录,CentOS主机GnomeDesktop原生态桌面 2024-04-08

前缀、文档修改记录

20240408 初始化编辑此文章,完稿

章节1、需求描述

项目,有一个需求,CentOS的主机,必须要能远程桌面操作,这么奇怪的要求,我也见的少,因为一般的Linux类服务器主机,都是通过SSH登录的,都是命令行交互,很少用桌面进行操作的。

以前,也有通过VNC方式的远程桌面,不过并不优雅,这次查了一下谷歌,居然发现,真的可以有如下优雅的方式远程桌面到CentOS主机。

章节2、环境、工具

2.1、PVE环境下、CentOS-7-x86_64-DVD-2009.iso 安装的带桌面的系统

2.2、MobaXterm 工具,官网, https://mobaxterm.mobatek.net/

章节3、操作演示过程

3.1、安装演示用途的CentOS系统

安装CentOS系统的过程,不是本页博客的重点,默认大家是会的,这里值得注意的是,安装的时候,确保安装了桌面(GNOME或KDE)的组件。

在安装页面 INSTALLATION SUMMARY / SOFTWARE / SOFTWARE SELECTION 里面,

一般来说,推荐安装对新手比较友好的GNOME Desktop,环境组件,除了邮件聊天、办公文档套件这俩,其他的我全部勾上了。

确保,服务器上SSH已经安装,并开启

root@centos~# yum update
root@centos~# yum install openssh-server   # 安装openssh
root@centos~# systemctl stop firewalld    # 功能演示需要、简单临时关闭防火墙

3.2 远程桌面的客户端软件MobaXterm

普通的SSH设置,需要服务器IP地址,用户名,SSH服务端口号,这个是常规的。

在SSH会话页面,点击高级SSH设置,Remote Env参数选择: Gnome Desktop

连接,就正常输入密码即可

一般来说,直接需要使用Linux远程桌面的场景比较少,这个远程的方式,需要了解一下即可。

附录1、视频操作演示

附录2、@Dasmz

博客内,所有教程为手打原创教程,如果技术教程对您有所帮助,欢迎打赏作者。技术层面,闻道有先后,如有疏漏、错误,欢迎指正。技术博客的内容,一般具有一定的环境依赖,具有一定的年代依赖,酌情参考其中的内容,请勿完全照搬照抄。

对于博客内已提及的专业知识,如果需要技术指导,欢迎联系我,仅需支付工时费

Twitter: Dasmz

Youtube: @DasmzStudio

Telegram: @Dasmz

Donate
云乞讨

开源多平台支持的局域网文件分享工具 Localsend 2024-03-31

前缀、文档修改记录

20240331 初始化编辑此文章,完稿

章节1、需求描述

一般来说,局域网内,分享文件,传输内容,是不需要经过公网的。且通过某一些聊天工具发送内容,都是会经过平台的审核。

在一些特定的场景下,我们需要这样的一款工具,它可以支持纯局域网共享信息内容。

章节2、项目信息

Localsend项目,Github地址 https://github.com/localsend/localsend

章节3、日常使用

该项目,支持完全自主化编译各平台的客户端程序,各位量力而行,本篇博客仅做开箱介绍,不做编译指导。

目前,该软件,已经支持 文件/文件夹/文本/剪贴板,多维度的局域网共享,支持URL链接方式的局域网分享。

  • Windows系统,直接下载对应版本的exe文件,执行即可,如:LocalSend-1.14.0-windows-x86-64.exe
  • 安卓系统,直接下载安装对应版本的apk文件,执行即可,如:LocalSend-1.14.0.apk
  • 苹果MAC系统,直接下载安装对应版本的dmg文件,如:LocalSend-1.14.0.dmg
  • 苹果手机iPhone,直接在苹果商店,下载LocalSend 应用程序

作为一款开箱即用的工具,它的使用几乎是无学习成本的,只需要保证你需要互传文件或信息的两台/多台设备,在同一个局域网下。

如果内网有防火墙设备,记得放行如下端口。放行,入站/TCP&UDP/53317,出/Any/Any。

截止当前日期的版本V1.14.0,已完成支持通过链接分享文件,这样,一些单次分享任务,就可以不必安装客户端软件了,非常棒!这对于我常分享文件到Linux系统,有非常大的用处。

附录1、视频操作演示

附录2、@Dasmz

博客内,所有教程为手打原创教程,如果技术教程对您有所帮助,欢迎打赏作者。技术层面,闻道有先后,如有疏漏、错误,欢迎指正。技术博客的内容,一般具有一定的环境依赖,具有一定的年代依赖,酌情参考其中的内容,请勿完全照搬照抄。

对于博客内已提及的专业知识,如果需要技术指导,欢迎联系我,仅需支付工时费

Twitter: Dasmz

Youtube: @DasmzStudio

Telegram: @Dasmz

Donate
云乞讨

基于netcat/nc命令,检测地址端口是否通 2024-03-11

前缀、文档修改记录

20240311 初始化编辑此文章,完稿
20240311 在录制视频后,修正部分内容及描述

章节1、需求描述

业务侧,经常需要检测业务地址,业务端口是否能通,这样的需求,就需要配套的工具来排查。

章节2、检查主机是否存活

常规来说,检测一个业务,是否可达,先检测其云主机ECS是否存活,处于开机状态。一般基于ping其IP地址的路由是否可通的方式来判断。一般来说,优先使用ICMP的ping 方式进行检测排查问题

ping xxx.xxx.xxx.xxx    # 其中xxx.xxx.xxx.xxx为一个有效IP地址

如果IP地址不通,可能为网络真实不通,或可能存在对端防火墙屏蔽ICMP的包

亦可通过mtr / tracert / traceroute 相关命令,测试路由点,是否为中间某个路由点有误。

章节3、检查端口是否可通

一般来说,如果上一个章节的云主机IP地址都不通,优先检查主机故障/防火墙规则/IP地址的路由问题。或者,如果路由正确且明确知道是对端已关闭ICMP包响应,则可进行TCP/UDP端口检查。

本次推荐使用netcat/nc命令,进行端口TCP/UDP是否可达的检查。

3.1、安装netcat

Debian/Ubuntu 安装netcat/nc的命令,且推荐优先安装的版本为 netcat-openbsd,而非netcat-traditional

// OS: Debian 12
root@server:~# apt update
root@server:~# apt-get install netcat-openbsd     
root@server:~# 

3.2、netcat参数释义

root@server:~# nc -h
OpenBSD netcat (Debian patchlevel 1.206-1ubuntu1)
usage: nc [-46CDdFhklNnrStUuvZz] [-I length] [-i interval] [-M ttl]
	  [-m minttl] [-O length] [-P proxy_username] [-p source_port]
	  [-q seconds] [-s source] [-T keyword] [-V rtable] [-W recvlimit] [-w timeout]
	  [-X proxy_protocol] [-x proxy_address[:port]] 	  [destination] 

参数清单:
-4		Use IPv4/仅使用IPv4

-6		Use IPv6/仅使用IPv6

-b		Allow broadcast/允许广播

-C		Send CRLF as line-ending

-D		Enable the debug socket option/启用对套接字的调试

-d		Detach from stdin/不尝试从stdin进行读取

-F		Pass socket fd

-h		This help text/帮助文档

-I length	TCP receive buffer length

-i interval	Delay interval for lines sent, ports scanned/指定发送和接收的文本行之间的延迟时间interval

-k		Keep inbound sockets open for multiple connects/nc在接收完一个请求后不会立即退出,而是会继续监听其他请求

-l		Listen mode, for inbound connects/监听模式

-M ttl		Outgoing TTL / Hop Limit

-m minttl	Minimum incoming TTL / Hop Limit

-N		Shutdown the network socket after EOF on stdin

-n		Suppress name/port resolutions/不使用域名

-O length	TCP send buffer length

-P proxyuser	Username for proxy authentication

-p port		Specify local port for remote connects/为远程连接定义的本地端口号

-q secs		quit after EOF on stdin and delay of secs

-r		Randomize remote ports

-S		Enable the TCP MD5 signature option

-s source	Local source address/指定用于发送数据包的接口的IP地址

-T keyword	TOS value

-t		Answer TELNET negotiation

-U		Use UNIX domain socket

-u		UDP mode/使用UDP,而不是缺省选项TCP

-V rtable	Specify alternate routing table

-v		Verbose/指定详细输出

-W recvlimit	Terminate after receiving a number of packets

-w timeout	Timeout for connects and final net reads/如果连接和stdin空闲超过了timeout秒,则无提示地关闭连接

-X proto	Proxy protocol: "4", "5" (SOCKS) or "connect"/与代理服务器通信时,使用该指定协议。受支持的协议为4(SOCKSv4)、5(SOCKSv5)和connect(HTTP代理)。如果未指定协议,则使用SOCKSv5

-x addr[:port]	Specify proxy address and port/使用proxy_address和port上的代理请求到addr的连接。如果未指定port,则使用代理协议的已知端口(SOCKS为1080,HTTP为3128)

-Z		DCCP mode

-z		Zero-I/O mode [used for scanning]/执行端口扫描。对于TCP端口(缺省),尝试在不发送数据的情况下执行连接扫描(完整三路信号握手)。对于UDP(–u),缺省情况下会发送空UDP包

Port numbers can be individual or ranges: lo-hi [inclusive]
root@server:~# 

3.3、用netcat检测TCP端口

nc -nvz 93.150.241.210 8000-9999    

3.4、用netcat检测UDP端口

nc -nvzu 93.150.241.210 123

端口如果是通的,会类似如下的显示

root@debian12:~# nc -nvz 10.11.11.200 22
Connection to 10.11.11.200 22 port [tcp/*] succeeded!
root@debian12:~# 

3.5、用netcat临时启动一个服务端TCP/UDP监听

如果是为了验证端口,需要自己在服务器上临时启动一个监听,也可以使用netcat临时启动一个服务端的TCP/UDP端口监听。

nc -n -l -k -u 123    # 监听UDP/123
nc -l -k 3389    # 监听TCP/3389

-l 代表netcat 将以监听模式运行;
-k 表示netcat 在接收完一个请求后不会立即退出,而是会继续监听其他请求
-u 使用UDP,而不是缺省选项TCP

附录1、视频操作演示

附录2、@Dasmz

博客内,所有教程为手打原创教程,如果技术教程对您有所帮助,欢迎打赏作者。技术层面,闻道有先后,如有疏漏、错误,欢迎指正。技术博客的内容,一般具有一定的环境依赖,具有一定的年代依赖,酌情参考其中的内容,请勿完全照搬照抄。

对于博客内已提及的专业知识,如果需要技术指导,欢迎联系我,仅需支付工时费

Twitter: Dasmz

Youtube: @DasmzStudio

Telegram: @Dasmz

Donate
云乞讨

交换机基础命令 2024-03-04

前缀、文档修改记录

20240304 初始化编辑此文章,完稿

章节1、需求描述

罗列常见,常用的华为/新华三交换机的命令,及标记其含义

章节2、命令清单

dis ver   # 查看设备型号,及版本信息
dis cur   # 查看设备当前的全局配置信息
dis cur | inc stp   # 查看全局配置包含stp信息的配置
dis stop brief   # 查看stp摘要信息
dis cur | inc ntp   # 查看全局配置包含ntp信息的配置
dis ntp sessions   # 查看ntp会话
dis ntp status   # 查看ntp状态
dis cur | inc clock   # 查看全局配置包含时区的配置
dis clock   # 查看设备时间
dis cur | inc snmp   # 查看全局配置包含snmp的配置
dis ip interface brief   # 查看三层接口摘要信息
dis interface description   # 查看所有接口的摘要信息
dis cur interface 10GE1/1/0/1   # 查看接口的配置信息
dis stack   # 查看堆叠状态
dis stack configuration   # 查看堆叠端口
dis dual-active   # 查看堆叠检测
dis alarm active   # 查看硬件告警信息
dis cpu   # 查看CPU利用率
dis memory   # 查看内存利用率
dis device power   # 查看电源模块状态
dis device fan   # 查看风扇模块状态
dis device temperature   # 查看温度信息
dis lldp neighbor brief   # 查看lldp邻居信息
dis interface brief   # 查看接口统计信息
dis logbuffer   # 查看日志信息
dis interface 10GE1//3/0/1 transceiver verbose  # 查看端口收发光,看光模块是否原装
dis eth-trunk 1   # 查看聚合组及成员信息

附录1、视频操作演示

附录2、@Dasmz

博客内,所有教程为手打原创教程,如果技术教程对您有所帮助,欢迎打赏作者。技术层面,闻道有先后,如有疏漏、错误,欢迎指正。技术博客的内容,一般具有一定的环境依赖,具有一定的年代依赖,酌情参考其中的内容,请勿完全照搬照抄。

对于博客内已提及的专业知识,如果需要技术指导,欢迎联系我,仅需支付工时费

Twitter: Dasmz

Youtube: @DasmzStudio

Telegram: @Dasmz

Donate
云乞讨

Debian 11/12系统环境上,部署PPTP服务 2024-02-21

前缀、文档修改记录

20240221 初始化编辑此文章,完稿

章节1、需求描述

PPTP(Point-to-Point Tunneling Protocol)作为最简单的组网技术,虽然,安全性不怎么样,但是用来轻量化组网时候,还是挺好用的,本篇博客,介绍一下,在Debian 11/12系统上,部署PPTP服务端的过程。

章节2、部署PPTP服务端

2.1 apt源更新

root@debian:~# apt update

2.2 安装PPTP软件

先确保你的服务器支持PPP

To verify PPP is working, run:

cat /dev/ppp

应该返回如下的信息:

cat: /dev/ppp: No such device or address

root@debian:~# apt install pptpd 
root@debian:~# apt install iptables
root@debian:~# apt install ethtool

root@debian:~# uname -a
Linux debian 5.10.0-28-amd64 #1 SMP Debian 5.10.209-2 (2024-01-31) x86_64 GNU/Linux
root@debian:~# apt list | grep header | grep linux
...
linux-headers-5.10.0-28-amd64/oldstable
...
root@debian:~# apt install linux-headers-5.10.0-28-amd64

2.3 配置文件修改 /etc/pptpd.conf 

/etc/pptpd.conf  中,需要根据你们网络的情况,修改指定一下服务器端的私网IP地址,分发的私网地址段,不要跟现网的地址冲突即可。

增加/修改如下的私网地址(请勿完全照抄,具体请根据你们自身环境实际的来)

#debug    # 可选,排错时候开启
connections 200   # 客户端的数量
localip 192.168.13.254
remoteip 192.168.13.1-200

2.4 修改认证的配置文件 /etc/ppp/chap-secrets

/etc/ppp/chap-secrets 中,指定的是用户名,服务名称,密码,该用户的入站IP等信息

useraaa  pptpd  passB7bFCf  *
userbbb  pptpd  passaE00cf  *

其中 *表示,允许任何来源IP,登录该账号。

2.5 修改指定服务端的DNS服务器IP /etc/ppp/pptpd-options

/etc/ppp/pptpd-options 中,可以指定服务端可自定义DNS服务器

#debug    # 可选,排错时候开启
ms-dns 119.29.29.29
ms-dns 114.114.114.114
ms-dns 8.8.8.8
ms-dns 1.1.1.1

2.6 修改内核模块的加载

root@debian:# cat /etc/modules-load.d/pptpd.conf 
nf_nat_pptp
nf_conntrack_pptp
nf_conntrack_proto_gre   # 这个未找到,奇怪

2.6 修改系统的IPv4转发参数

修改配置文件 /etc/sysctl.conf ,增加一行

net.ipv4.ip_forward = 1

执行如下命令,使其生效

sysctl -p

2.7 创建防火墙iptables的转发规则

# 入站放行端口 47(GRE) / 1723(PPTPD)
iptables -A INPUT -p gre -j ACCEPT
iptables -A INPUT -p tcp --dport 1723 -j ACCEPT
iptables -A INPUT -p tcp --dport 47 -j ACCEPT

# 其中ens3名称,根据你网卡实际的名称来写,常见的名称为ens3,ens3,ens5,enp0s3
iptables -t nat -A POSTROUTING -o ens3 -j MASQUERADE 

# 转发策略放行,可选
# 允许设置的VPN网段的入站转发
iptables -A FORWARD -s 192.168.13.0/24 -j ACCEPT   
# 允许设置的VPN网段的出站转发             
iptables -A FORWARD -d 192.168.13.0/24 -j ACCEPT                

# 可选
iptables --table nat --append POSTROUTING --out-interface ppp0 -j MASQUERADE
iptables -I INPUT -s 192.168.13.0/24 -i ppp0 -j ACCEPT
iptables --append FORWARD --in-interface ens3 -j ACCEPT

# 保存规则
iptables-save

为了安全性,可选的是,增加对1723/47端口的限源访问。

2.8 启动服务

# 重启服务
systemctl restart pptpd 

# 开启服务
systemctl start pptpd 

# 关闭服务
systemctl stop pptpd 

# 开机启动
systemctl enable pptpd

在腾讯云服务器,本篇文档测试通过,局域网测试通过,测试未通过,估计其云池的大网侧有防火墙类的设备,对GRE有限制。

章节3、特别说明

PPTP/L2TP基本已经过时,是因为其主要的密码算法已经被破解,PPTP的MS-CHAP-v1、MS-CHAP-v2、 MPPE勉强用EAP-TLS 撑个场面,
已经明确破解的算法,MD5、3DES、RC4/RC5、SHA1(Google破解)。

为了数据安全的需求,你已经不应该选择PPTP/L2TP这样的协议了。

附录1、视频操作演示

附录2、@Dasmz

博客内,所有教程为手打原创教程,如果技术教程对您有所帮助,欢迎打赏作者。技术层面,闻道有先后,如有疏漏、错误,欢迎指正。技术博客的内容,一般具有一定的环境依赖,具有一定的年代依赖,酌情参考其中的内容,请勿完全照搬照抄。

对于博客内已提及的专业知识,如果需要技术指导,欢迎联系我,仅需支付工时费

Twitter: Dasmz

Youtube: @DasmzStudio

Telegram: @Dasmz

Donate
云乞讨

基于OpenEuler 22.03内网环境,编译安装zabbix agent客户端 2024-01-30

前缀、文档修改记录

20240130 初始化编辑此文章,完稿

章节1、需求描述

客户内网侧,有部分国产化的操作系统OpenEuler 22.03,需要对其进行zabbix agent监控客户端的安装,由于没有公网,只能选择编译安装这个路子。

OpenEuler 22.03相当于套皮的CentOS 8系统,这个编译也就没什么太大的难度,只要处理好依赖就可以。

章节2、Zabbix Agent源码资源下载

在zabbix官网,下载 Zabbix 6.0 LTS 源码包 , 选择Zabbix Sources,选择标签 zabbix 6.0 LTS, 点击右下方的 Download按钮。

https://cdn.zabbix.com/zabbix/sources/stable/6.0/zabbix-6.0.26.tar.gz

时间戳2024-01-30 16:58 ,编写此文章时,下载到的版本是6.0.26,读者你们根据实际最新版本来。

将下载到的 zabbix-6.0.26.tar.gz 上传到需要部署zabbix agent的OpenEuler 22.03虚拟机 /root/目录下。

章节3、安装依赖

如果有公网环境,有一个靠谱的源,那么安装依赖什么的,就非常简单,但是,目前,客户侧的环境是纯内网,在没有内网源的环境下,只能用过挂载ISO文件的方式,来安装依赖包。

还有,顺便说一句,安装OpenEuler 22.03,比较推荐的分辨率是1920 × 1080,推荐安装系统的时候,就安装 Standard / Development Tools这两个包,大约需要安装865个包,常用的依赖包就都安装了,这类系统,如果缺依赖,又是内网环境,会挺麻烦的,机房类的现场实施,最好提前准备好ISO镜像包。

# 如果是公网
root@SERVER:~# dnf install gcc make pcre-devel

# 如果是内网,如果没有更好的办法安装依赖,推荐挂载对应系统的 openEuler-22.03-LTS-everything-x86_64-dvd.iso 带everything标签的,这种满配的镜像。
root@SERVER:~# mkdir /mnt/iso
root@SERVER:~# mount -t iso9660 -o loop /root/openEuler-22.03-LTS-x86_64-dvd.iso /mnt/iso
root@SERVER:~# cat > openeuler.repo << EOF
[OpenEulerBase]
name=OpenEuler 22.03 base
baseurl=file:///mnt/iso/
# gpgkey=file:///mnt/iso/
# gpgcheck=1    # 1表示检查 0表示不检查
gpgcheck=0
enabled=1
EOF
root@SERVER:~# dnf clean all
root@SERVER:~# dnf update

章节4、编译安装zabbix agent

4.1、增加用户和组

# 增加用户和组
root@SERVER:~# groupadd zabbix 
root@SERVER:~# useradd -g zabbix -s /sbin/nologin -c "Zabbix Monitoring System" zabbix 

4.2、检查一下依赖

确认如下的gcc/make/pcre的依赖包,是否安装了,如果没有,参考前一个章节

root@SERVER:~# dnf install  gcc make pcre-devel 

4.3、编译zabbix agent 6.0 LTS

编译安装 6.0.26 LTS版本的过程如下,且假设源码包存放位置为 /root/src/zabbix-6.0.26.tar.gz

root@SERVER:~# cd /root/src/
root@SERVER:~# tar -zxf zabbix-6.0.26.tar.gz 
root@SERVER:~# cd zabbix-6.0.26
root@SERVER:~# mkdir -p /usr/local/zabbix /var/log/zabbix /etc/zabbix
root@SERVER:~# ./configure --prefix=/usr/local/zabbix --sysconfdir=/etc/zabbix --enable-agent 
root@SERVER:~# make 
root@SERVER:~# make install 
root@SERVER:~# chown -R zabbix:zabbix /usr/local/zabbix/ /var/log/zabbix /etc/zabbix

本次编译安装后,

zabbix agent 执行文件路径 /usr/local/zabbix/sbin/zabbix_agentd

zabbix agent 配置文件路径 /etc/zabbix/zabbix_agentd.conf

4.4、修改zabbix agent的执行文件和配置文件

4.4.1、修改配置文件,路径 /etc/zabbix/zabbix_agentd.conf

PidFile=/var/log/zabbix/zabbix_agentd.pid 
LogFile=/var/log/zabbix/zabbix_agentd.log 
Server=192.168.112.170    #Zabbix服务端ip地址 
ServerActive=192.168.112.170    #Zabbix服务端ip地址 
Hostname=someywname    #必须与在Zabbix WEB管理页面创建主机时的hostname一致 

4.4.2、复制并修改执行文件

root@SERVER:~# cp /root/src/zabbix-6.0.26/misc/init.d/tru64/zabbix_agentd /etc/init.d/zabbix_agentd
root@SERVER:~# chmod +x /etc/init.d/zabbix_agentd

修改配置文件 /etc/init.d/zabbix_agentd 修改DAEMON/PIDFILE两行内容

DAEMON=/usr/local/zabbix/sbin/zabbix_agentd
PIDFILE=/var/log/zabbix/zabbix_agentd.pid

可以临时测试一下

/etc/init.d/zabbix_agentd  start    # 开启
/etc/init.d/zabbix_agentd  stop    # 关闭

4.5、配置开机启动服务

配置开机启动的服务项 /etc/systemd/system/zabbix-agent.service

[Unit]
Description=Zabbix Agent
After=syslog.target
After=network.target

[Service]
Type=simple
User=zabbix
Group=zabbix
Restart=on-failure
PIDFile=/var/log/zabbix/zabbix_agentd.pid
ExecStart=/usr/local/zabbix/sbin/zabbix_agentd -c /etc/zabbix/zabbix_agentd.conf 


[Install]
WantedBy=multi-user.target

4.6、开启zabbix-agent服务

root@SERVER:~# systemctl daemon-reload
root@SERVER:~# systemctl restart zabbix-agent
root@SERVER:~# systemctl enable zabbix-agent

附录1、视频操作演示

暂空

附录2、@Dasmz

博客内,所有教程为手打原创教程,如果技术教程对您有所帮助,欢迎打赏作者。技术层面,闻道有先后,如有疏漏、错误,欢迎指正。技术博客的内容,一般具有一定的环境依赖,具有一定的年代依赖,酌情参考其中的内容,请勿完全照搬照抄。

对于博客内已提及的专业知识,如果需要技术指导,欢迎联系我,仅需支付工时费

Twitter: Dasmz

Youtube: @DasmzStudio

Telegram: @Dasmz

Donate
云乞讨

基于Debian/Ubuntu环境,安装部署Zabbix Server 2024-1-17

前缀、文档修改记录

20240117 初始化编辑此文章,完稿

章节1、需求描述

作为在资源监控体系中,比较出名的一名猛将,zabbix当前无疑是比较靠谱的存在,本页博客,将介绍一下,在当前时间”2024-01-17 12:25″部署zabbix-server的操作步骤,当前时间部署的版本为6.0 LTS版本,这样,能满足比较长时间的运行需求。

章节2、环境版本说明

操作系统环境:Ubuntu 22.04 LTS

Zabbix Server:6.0 LTS https://www.zabbix.com/

章节3、部署步骤

3.0、先保证系统的库更新

root@server:~# apt update
root@server:~# apt upgrade
root@server:~# reboot   # 首次更新完,重启一下

3.1、修改主机的名称

root@server:~# echo "ZabbixServer"  > /etc/hostname

3.2、修改时区

root@server:~# dpkg-reconfigure tzdata

选择 Asia/Shanghai ,即东八区,亚洲/上海

3.3、安装中文语言包(比较重要)

root@server:~# dpkg-reconfigure locales

选择语言包,一般,需要把中文的zh_CN.UTF-8勾选上,就可以满足基本的日常需求。

3.4、安装zabbix

3.4.1、选择版本

打开Zabbix官网, https://www.zabbix.com/ ,在下载页面,选择对应你系统的版本,数据库的版本的zabbix,原则上,选最新的LTS版本为佳。

我这里选择的 6.0 LTS / Ubuntu / 22.04 / Server / MySQL / Nginx ,操作的时间戳2024-1-17 09:45

3.4.2、添加zabbix的库到系统

在前面一步中,选择好了各个版本后,在它官网的下面,下载链接会刷新到你选择的版本

确认版本正确的,就执行即可。

root@server:~# apt update
root@server:~# apt install wget
root@server:~# wget --no-check-certificate  https://repo.zabbix.com/zabbix/6.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_6.0-4+ubuntu22.04_all.deb
root@server:~# dpkg -i zabbix-release_6.0-4+ubuntu22.04_all.deb
root@server:~# apt update

3.4.3、安装zabbix-server

因为zabbix-server这台机器,本身也是需要监控到的,所以,命令中包含安装zabbix-agent

root@server:~# apt install zabbix-server-mysql zabbix-frontend-php zabbix-nginx-conf zabbix-sql-scripts zabbix-agent

3.4.4、安装Mariadb数据库

MySQL数据库是比较经典的数据库,用它或者用PostgreSQL都行,zabbix都是支持的,我这里,前面在选版本的时候,选择的是MySQL的deb包,这里就协同安装对应的库。

但是,这里,对于MySQL,更推荐用Mariadb版本,安装mariadb-server,本次安装到的版本是 “Server version: 10.6.12-MariaDB-0ubuntu0.22.04.1 Ubuntu 22.04”

时间戳 2024-01-17 10:44

root@server:~# apt install mariadb-server  
root@server:~# mysql_secure_installation   # 初始化数据库,配置密码等,数据库root密码务必保证复杂度,并记牢固。

3.4.5、为zabbix-server配置专用的数据库实例

这里可以自定义的参数是,zabbix用途的,数据库实例名称,用户名,密码,但是因为业务简单,仅为监控任务,非生产业务数据库,实例名称zabbix,用户名zabbix,我一般不修改,保证密码复杂度,保证数据库本地监听即可。

root@server:~# mysql -uroot -p
password为你上一步设置的数据库root密码
mysql> create database zabbix character set utf8mb4 collate utf8mb4_bin;
mysql> create user zabbix@localhost identified by 'password';   # 修改zabbix数据库用户的密码,这个不跟root的一样,也要保证一定的密码强度。
mysql> grant all privileges on zabbix.* to zabbix@localhost;
mysql> set global log_bin_trust_function_creators = 1;
mysql> quit;

导入zabbix库的表,表结构等模板信息。

root@server:~# zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql –default-character-set=utf8mb4 -uzabbix -p zabbix

导入库表完成后,修改一下 存储函数相关的数据库参数

root@server:~# mysql -uroot -p
password为设置的数据库root密码
mysql> set global log_bin_trust_function_creators = 0;
mysql> quit;

3.4.6、 配置zabbix-server

配置文件路径 /etc/zabbix/zabbix_server.conf

修改配置文件

DBPassword=password    #其中password为前面设置的数据库内zabbix用户的密码

3.4.7、修改Nginx监听的端口,监听的名称

修改配置文件 /etc/zabbix/nginx.conf

# listen 8080;
# server_name example.com;

3.4.8、增加楷体中文字体

下载楷体字体文件,上传到服务器的字体目录下 /usr/share/zabbix/assets/fonts/ ,并给到全部的读写权限。 该操作可以避免在 zabbix 监控图上中文不显示,或者说显示为框框的问题。

将原有的graphfont.ttf软链接指向 刚刚上传的楷体字体。

下载字体 楷体simkai.ttf

root@server:~# cd /usr/share/zabbix/assets/fonts
root@server:~# chmod 777 simkai.ttf 
root@server:~# ls -l
total 11512
lrwxrwxrwx 1 root root       38 Jan 17 10:20 graphfont.ttf -> /etc/alternatives/zabbix-frontend-font
-rwxrwxrwx 1 root root 11787328 Jan 17 11:03 simkai.ttf
root@server:~# mv graphfont.ttf bak.graphfont.ttf.20240117
root@server:~# ln -s simkai.ttf graphfont.ttf
root@server:~# ls -l
total 11512
lrwxrwxrwx 1 root root       38 Jan 17 10:20 bak.graphfont.ttf.20240117 -> /etc/alternatives/zabbix-frontend-font
lrwxrwxrwx 1 root root       10 Jan 17 11:05 graphfont.ttf -> simkai.ttf
-rwxrwxrwx 1 root root 11787328 Jan 17 11:03 simkai.ttf
root@server:~# 

3.4.9、重启一下软件进程

root@server:~# systemctl restart zabbix-server zabbix-agent nginx php8.1-fpm
root@server:~# systemctl enable zabbix-server zabbix-agent nginx php8.1-fpm

3.5、WEB页面上初始化配置Zabbix

使用你电脑的浏览器,登录你服务器的地址 http://yourserverip:port/ 即可进入初始化设置的页面。

默认语言,选择中文(zh_CN),下一步

必要条件检测,页面,看一下,都应该是OK,绿色的状态,即可

数据库页面,一般库和zabbix-server部署在同一台服务器的,写一个zabbix用户的密码就行。如果修改过数据库实例,用户,某些参数的,就必须这里也修改一致。

填写一个主机名称 Zabbix,时区,东8区,亚洲/上海

基本大功告成。

它为Zabbix生成了 conf/zabbix.conf.php

3.6、登录Zabbix-Server了

初始化完成,就可以登录你配置的zabbix-server了,默认的用户名/密码为,默认用户名 Admin , 默认密码 zabbix 。

默认密码是不安全的,修改到一个复杂密码。点页面左侧管理,用户,修改密码

再后面,就是添加你需要监控的资产了,不在此篇章博客表述了。

补充,CVE-2024-22120 基础设施级软件Zabbix漏洞处理 2024-05-21

补充,编译安装,参考 https://www.zabbix.com/documentation/6.0/en/manual/installation/install#installing-zabbix-daemons

附录1、视频操作演示

附录2、@Dasmz

博客内,所有教程为手打原创教程,如果技术教程对您有所帮助,欢迎打赏作者。技术层面,闻道有先后,如有疏漏、错误,欢迎指正。技术博客的内容,一般具有一定的环境依赖,具有一定的年代依赖,酌情参考其中的内容,请勿完全照搬照抄。

对于博客内已提及的专业知识,如果需要技术指导,欢迎联系我,仅需支付工时费

Twitter: Dasmz

Youtube: @DasmzStudio

Telegram: @Dasmz

Donate
云乞讨

基于Ubuntu/Debian系统,安装LNMP 2024-1-6

前缀、文档修改记录

2024-01-06 初始化编辑此文章
2024-02-20 更新一次

此博客未更新完成~~~

章节1、需求描述

LNMP是比较受欢迎的博客架构模式,本次教程,系统环境选择Ubuntu/Debian系列,该系列有比较成熟的软件库,安装Nginx、数据库、PHP都很便捷。Nginx、MySQL/MariaDB这个一般我就用系统自带的版本,PHP编译安装PHP7.4版本,不用最新版本,以便满足兼容性。

Nginx可选自己编译安装最新的版本。

有条件的使用站库分离的架构,数据库放到大厂的云服务器上,会比较靠谱。

章节2、安装步骤

2.1、安装Nginx

root@SERVER:~# apt update
root@SERVER:~# apt install nginx

2.2、安装MySQL/MariaDB

root@SERVER:~# apt install mysql-server

初始化数据库的安全设置,最重要的就是设置数据库用户root的超级密码,务必保存好密码

root@SERVER:~# mysql_secure_installation

设置用户的权限

root@SERVER:~# mysql -u root -p

mysql> SELECT user,authentication_string,plugin,host FROM mysql.user;

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

mysql> FLUSH PRIVILEGES;

mysql> SELECT user,authentication_string,plugin,host FROM mysql.user;

2.3、安装PHP

该源包含了php-fpm这个包,需要补上

root@SERVER:~# add-apt-repository universe
root@SERVER:~# apt install php-fpm php-mysql

章节3、Nginx配置文件

server {
        listen 80;
        root /var/www/html;
        index index.php index.html index.htm index.nginx-debian.html;
        server_name your_domain;

        location / {
                try_files $uri $uri/ =404;
        }

        location ~ \.php$ {
                include snippets/fastcgi-php.conf;
                fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
        }

        location ~ /\.ht {
                deny all;
        }
}

2.4、测试

测试Nginx、PHP,创建文件 /var/www/html/info.php

<?php
phpinfo();
?>

测试连接

http://your_server_domain_or_IP/info.php

附录1、视频操作演示

附录2、@Dasmz

博客内,所有教程为手打原创教程,如果技术教程对您有所帮助,欢迎打赏作者。技术层面,闻道有先后,如有疏漏、错误,欢迎指正。技术博客的内容,一般具有一定的环境依赖,具有一定的年代依赖,酌情参考其中的内容,请勿完全照搬照抄。

对于博客内已提及的专业知识,如果需要技术指导,欢迎联系我,仅需支付工时费

Twitter: Dasmz

Youtube: @DasmzStudio

Telegram: @Dasmz

Donate
云乞讨