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

前缀、文档修改记录

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

章节1、需求描述

PPTP作为最简单的组网技术,虽然,安全性不怎么样,但是用来轻量化组网时候,还是挺好用的,本篇博客,介绍一下,在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

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

附录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 。

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

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

附录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
云乞讨

微软Microsoft Copilot 分流规则 2023-12-31

前缀、文档修改记录

2023-12-31 初始化编辑此文章
2024-01-07 更新,增加规则

章节1、需求描述

微软Microsoft Copilot,发布,可以免费使用其内置的GPT-4模型,需要进行规则的匹配,以满足访问的需求

章节2、需要增加的规则,以Shadowrocket客户端为例

为了简化规则,并且不会影响Windows系统,推荐以DOMAIN规则进行最小化匹配,需要添加如下的域名到 Shadowrocket/配置/default.conf/规则 里面。

位置路径,Shadowrocket /配置 /default.conf /i /规则 /+

类型, DOMAIN

策略,PROXY

域名清单:

th.bing.com
www.bingapis.com
sapphire.api.microsoftapp.net
prod.rewardsplatform.microsoft.com
c.clarity.ms
c.bing.com
sydney.bing.com
www.clarity.ms
p.clarity.ms
dealczars.bing-shopping.microsoft-falcon.io
shopping.bing-shopping.microsoft-falcon.io
cdn.jsdelivr.net
logincdn.msauth.net
account.live.com
acctcdn.msauth.net
odc.officeapps.live.com
substrate.office.com
ssl.bing.com
services.bingapis.com
location.microsoft.com
api.msn.com
gateway.bingviz.microsoftapp.net
in.appcenter.ms
www.bing.com
self.events.data.microsoft.com
login.microsoftonline.com

在规则页面,以上域名,需逐个添加。

章节3、高级添加方式,点击default.conf,选择编辑纯文本方式

高级的批量添加规则方式,点击default.conf,选择编辑纯文本方式,在 [Rule]标签位置下方,新开一行,贴入如下的域名清单内容,即可

# Microsoft Copilot by Dasmz Version 2023-12-31
DOMAIN,th.bing.com,PROXY
DOMAIN,www.bingapis.com,PROXY
DOMAIN,sapphire.api.microsoftapp.net,PROXY
DOMAIN,prod.rewardsplatform.microsoft.com,PROXY
DOMAIN,c.clarity.ms,PROXY
DOMAIN,c.bing.com,PROXY
DOMAIN,sydney.bing.com,PROXY
DOMAIN,www.clarity.ms,PROXY
DOMAIN,p.clarity.ms,PROXY
DOMAIN,dealczars.bing-shopping.microsoft-falcon.io,PROXY
DOMAIN,shopping.bing-shopping.microsoft-falcon.io,PROXY
DOMAIN,cdn.jsdelivr.net,PROXY
DOMAIN,logincdn.msauth.net,PROXY
DOMAIN,account.live.com,PROXY
DOMAIN,acctcdn.msauth.net,PROXY
DOMAIN,odc.officeapps.live.com,PROXY
DOMAIN,substrate.office.com,PROXY
DOMAIN,ssl.bing.com,PROXY
DOMAIN,services.bingapis.com,PROXY
DOMAIN,location.microsoft.com,PROXY
DOMAIN,api.msn.com,PROXY
DOMAIN,gateway.bingviz.microsoftapp.net,PROXY
DOMAIN,in.appcenter.ms,PROXY
DOMAIN,www.bing.com,PROXY
DOMAIN,self.events.data.microsoft.com,PROXY
DOMAIN,login.microsoftonline.com,PROXY

附录1、视频操作演示

附录2、@Dasmz

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

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

Twitter: Dasmz

Youtube: @DasmzStudio

Telegram: @Dasmz

Donate
云乞讨

通过netboot方式,自定义安装VPS的操作系统 2023-12-19

前缀、文档修改记录

2023-12-19 初始化编辑此文章

章节1、需求描述

VPS的商家通常会提供一些模板系统,不过有的提供的版本,相对比较少,或者系统模板相对有点问题,这个时候,我们就需要自定义安装系统,

通过netboot的方式,我们可以轻松的安装到自己想要的操作系统版本,非常编辑

章节2、环境需求

2.1 虚拟机需为KVM虚拟化

2.2 商家支持WEB方式的VNC@HTML5的Console方式

章节3、netboot官方网站

Netboot的官方网站: https://netboot.xyz/

章节4、重装系统

以下为,示例为安装Debian 12的步骤,其他操作系统类似。着重强调一下,要商家能支持HTML5/VNC的Console,不然,更推荐用合适的一键无值守的dd脚本。用netboot这个方式安装的更加贴近ISO自主安装的。

假设原系统为Debian/Ubuntu系列,需要安装为Debian 12版本。

//注释   Debian/Ubuntu
//注释   Install grub-imageboot
root@server:~# apt update
root@server:~# apt install grub-imageboot

//注释   Download netboot.xyz ISO
root@server:~# mkdir /boot/images
root@server:~# cd /boot/images
root@server:~# wget https://boot.netboot.xyz/ipxe/netboot.xyz.iso

//注释   Update GRUB menu to include this ISO
root@server:~# update-grub2
root@server:~# reboot

执行完成后,在你VPS商家的网站上,激活VNC,查看

在开机启动的grub页面,选择netboot方式。

设置网卡的序号,比如,我这里设置为 net0

设置服务器的IP地址,这里,看你的服务器商家提供的信息,实际填写,不然网络不通

配置完IP地址、掩码、网关、DNS服务器,就到了安装选择页面

选择,第一个, Linux Network Installs (64-bit)

选择,你需要安装的Linux系统分支版本,我这里示例选择的是 Debian 12.0

选择安装的方式,服务器资源规格不高的,一般最简单的Text Based Install方式即可

部分内存容量较低的服务器,会进入低内存模式安装,安装Debian系统不在本次教程示例范围,安装好系统,正常启动即可。

附录1、视频操作演示

附录2、@Dasmz

博客内,所有教程为手打原创教程,如果技术教程对您有所帮助,欢迎打赏作者

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

Twitter: Dasmz

Youtube: @DasmzStudio

Telegram: @Dasmz

Donate
云乞讨

公网Windows主机的安全加固,白名单IP方式访问Windows远程桌面 2023-12-06

前缀、文档修改记录

2023-12-06 初始化编辑此文档

章节1、需求描述

买了一台海外的VPS,配置足够安装Windows系统,商家也提供Windows Server 2019的模板,于是就运行了一个WindowsServer系统,但是,会不断面临远程桌面连接的RDP密码爆破,安全加固也就是一个必然的需要。

章节2、措施

提醒一下,即便修改远程桌面的端口,也还是会被扫描及暴力尝试密码的。故而,修改远程桌面的端口,修改默认的用户名,这样的措施,不足以对安全进行补充。

2.1、屏蔽端口入站

查看Windows系统内,用netstat -an 命令,查看有哪些监听的端口,屏蔽它的入站

netstat -an 

常规来说,需要增加端口屏蔽,一个是TCP的,一个是UDP的,我这里是一台美国Windows服务器,不用打印机这样的功能,基本上,初始的监听端口,除了3389远程桌面,都可以屏蔽入站

防火墙 入站 TCP BLOCK 135,137,138,139,445,5357,5985,47001,49664,49665,49666,49667,49668,49669,49683

防火墙 入站 UDP BLOCK 
123,135,137,138,139,445,3702,5353,5355,5985,61476

2.2、屏蔽入站IPv6相关

因为这台服务器仅有IPv4公网地址,无IPv6公网地址,我这里,干脆就把防火墙/入站列表里,涉及到IPv6的,全部禁用了。

2.3、关闭”文件和打印机共享”

网络,网络连接的属性里,关闭文件和打印机共享,关闭IPv6地址,这两个功能。

2.4、增加3389防火墙的访问白名单

通过命令的方式可以批量添加白名单的IP地址,比在防火墙规则里,一个个添加,要方便很多,修改name参数为你的远程桌面连接的名字,修改remoteip的值为一系列白名单的IP地址,这样的设置,将仅允许你通过这些白名单IP访问WindowsServer的远程桌面端口,完成3389端口的加固、安全防护。

netsh advfirewall firewall set rule name="Remote Desktop - User Mode (UDP-In)" new remoteip=103.13.1.204,49.6.210.150,222.5.118.32
netsh advfirewall firewall set rule name="Remote Desktop - User Mode (TCP-In)" new remoteip=103.13.1.204,49.6.210.150,222.5.118.32

章节3、操作演示

附录1、

博客内,所有教程为手打原创教程,如果技术教程对您有所帮助,欢迎打赏作者

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

Twitter: Dasmz

Youtube: @DasmzStudio

Telegram: @Dasmz

Donate
云乞讨

Linux环境下的批量文件重命名 2023-11-06

前缀、文档修改记录

2023-11-06 创建文章

章节1、需求描述

在前期的视频里,给大家介绍过部署Jellyfin媒体服务器,其中有一点问题,是后来发现的,就是视频文件的文件名,过于长,导致Jellyfin媒体服务器,识别的集数排序错乱,那么正确、简短、有效的视频文件命名就非常重要了,本篇文章给大家介绍一下,在Linux系统下,如何批量重命名视频文件。

章节2、情况描述

样例的源文件是,国产漫画,一念永恒,第二季,集数是54。

[GM-Team][国漫][一念永恒 第2季][Yi Nian Yong Heng 2nd Season][2022][01][AVC][GB][1080P].mp4
[GM-Team][国漫][一念永恒 第2季][Yi Nian Yong Heng 2nd Season][2022][02][AVC][GB][1080P].mp4
[GM-Team][国漫][一念永恒 第2季][Yi Nian Yong Heng 2nd Season][2022][03][AVC][GB][1080P].mp4
[GM-Team][国漫][一念永恒 第2季][Yi Nian Yong Heng 2nd Season][2022][04][AVC][GB][1080P].mp4
...
...
...
[GM-Team][国漫][一念永恒 第2季][Yi Nian Yong Heng 2nd Season][2022][54][AVC][GB][1080P].mp4

需要将如上的文件,重命名到简短的格式样式

一念永恒.S02.E01.mp4
一念永恒.S02.E02.mp4
一念永恒.S02.E03.mp4
...

在Linux环境下,自然不会一个个重复的手工去重命名,Do it in a better way。

章节3、本期需使用到的Linux命令

ls
awk
cut
tr / sed

章节4、操作命令

#  切割的字节位置不固定,根据实际的来,还有,集数所在的位置也根据不同的电视剧,命名时候有区别,所在substr的位置,也是根据逐步试出来的。
ls -l *mp4 | cut -b 39- |  awk '{print "mv \""$0"\" \"一念永恒.S03.E"substr($0,77,2)".mp4\""}'

确认拼接好的命名,语法没有问题后,就可以衔接管道到bash执行即可,命令如下:

ls -l *mp4 | cut -b 39- |  awk '{print "mv \""$0"\" \"一念永恒.S03.E"substr($0,77,2)".mp4\""}'  | sh

章节5、操作演示视频@Youtube

附录1、

博客内,所有教程为手打原创教程,如果技术教程对您有所帮助,欢迎打赏作者

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

Twitter: Dasmz

Youtube: @DasmzStudio

Telegram: @Dasmz

Donate
云乞讨

仿微信朋友圈风格,集赞风格,截图生成 2023-10-24

前缀、文档修改记录

2023-10-24 初始化编写此文章

章节1、需求描述

有的时候,在外吃饭,商家营销,让你截图发朋友圈,点赞超过20,就送小礼品,你想想,你吃个麻辣烫还发朋友圈,有点上不了台面,又看中了小礼品,怎么办呢?

这个时候,微信朋友圈集赞图片生成工具,就适合你了。

效果图:

章节2、项目地址

Github: https://github.com/TransparentLC/WechatMomentScreenshot

章节3、项目体验地址(可能会失效

https://akarin.dev/WechatMomentScreenshot/

章节4、私有化部署

#  更新
apt update

#  安装WEB组建Nginx
apt install nginx 

#  安装git工具
apt install git wget unzip

#  到WEB的默认目录下
cd /var/www/html/
rm index.nginx-debian.html     
git clone https://github.com/TransparentLC/WechatMomentScreenshot

# 如果是私有网络,不便git的地方,可以通过下载的压缩包WechatMomentScreenshot-master.zip,导入WEB环境,解压即可

因为它主要都是HTML/JavaScript,一般基础的WEB环境就够用了,访问 http://IP:端口/路径 即可。

http://10.11.11.201/WechatMomentScreenshot-master/

章节5、操作视频

附录1、

博客内,所有教程为手打原创教程,如果技术教程对您有所帮助,欢迎打赏作者

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

Twitter: Dasmz

Youtube: @DasmzStudio

Telegram: @Dasmz

Donate
云乞讨

eNSP 交换机的access/trunk配置 学习笔记 2023-10-6

交换机设备的Access/Trunk配置,不同VLAN内主机,可以互相访问

配置SW1

<Huawei>sys
Enter system view, return user view with Ctrl+Z.
[Huawei]sysname sw1
[sw1]

[sw1]vlan 10 
[sw1-vlan10]desc To_IT_Guys
[sw1-vlan10]quit
[sw1]

[sw1]vlan 20
[sw1-vlan20]desc To_Finance_Guys
[sw1-vlan20]quit
[sw1]

[sw1]int g0/0/2	
[sw1-GigabitEthernet0/0/2]port link-type access 	
[sw1-GigabitEthernet0/0/2]port default vlan 10
[sw1-GigabitEthernet0/0/2]dis this
#
interface GigabitEthernet0/0/2
 port link-type access
 port default vlan 10
#
return
[sw1-GigabitEthernet0/0/2]quit
[sw1]



[sw1]int g0/0/3
[sw1-GigabitEthernet0/0/3]port link-type access 
[sw1-GigabitEthernet0/0/3]port default vlan 20
[sw1-GigabitEthernet0/0/3]q
[sw1]	
[sw1]dis current-configuration int GigabitEthernet 0/0/3
#
interface GigabitEthernet0/0/3
 port link-type access
 port default vlan 20
#
return
[sw1]


[sw1]int g0/0/1
[sw1-GigabitEthernet0/0/1]port link-type trunk 
[sw1-GigabitEthernet0/0/1]port trunk allow-pass vlan 10 20
[sw1-GigabitEthernet0/0/1]dis this
#
interface GigabitEthernet0/0/1
 port link-type trunk
 port trunk allow-pass vlan 10 20
#
return
[sw1-GigabitEthernet0/0/1]quit
[sw1]

配置SW2

<Huawei>sys
Enter system view, return user view with Ctrl+Z.
[Huawei]sysname sw2
[sw2]


[sw2]vlan 10 
[sw2-vlan10]desc To_IT_Guys
[sw2-vlan10]quit
[sw2]

[sw2]vlan 20
[sw2-vlan20]desc To_Finance_Guys
[sw2-vlan20]quit
[sw2]

[sw2]int g0/0/2	
[sw2-GigabitEthernet0/0/2]port link-type access 	
[sw2-GigabitEthernet0/0/2]port default vlan 10
[sw2-GigabitEthernet0/0/2]q
[sw2]


[sw2]
[sw2]int g0/0/3
[sw2-GigabitEthernet0/0/3]port link-type access 
[sw2-GigabitEthernet0/0/3]port default vlan 20
[sw2-GigabitEthernet0/0/3]quit
[sw2]


[sw2]int g0/0/1
[sw2-GigabitEthernet0/0/1]port link-type trunk 	
[sw2-GigabitEthernet0/0/1]port trunk allow-pass vlan 10 20
[sw2-GigabitEthernet0/0/1]quit
[sw2]

配置PC1,VLAN 10

配置PC2 ,VLAN 20

配置PC3,VLAN 10

配置PC4,VLAN 20

验证

1、PC1、PC3之间可以互相ping通

2、PC2、PC4之间可以互相ping通

3、PC1跟 PC2/4 无法ping通