图形化,安卓投屏工具Escrcpy 2024-06-02

前缀、文档修改记录

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

章节1、需求描述

对于很多普通人而言,安卓的投屏工具,需要图形化的,简单易用的。

https://dasmz.com/?p=823 我这篇博客中,介绍了scrcpy这款高效稳定的开源安卓投屏工具,但是,它是运行于命令行的,对很多普通用户而言,有一定的上手难度。

今天介绍的就是基于scrcpy的一款图形工具,名字叫 Escrcpy,其中E表示 Electron 驱动。

项目地址:https://github.com/viarotel-org/escrcpy

官方中文说明:https://github.com/viarotel-org/escrcpy/blob/main/README-CN.md

章节2、使用

此工具属于开箱即用的工具,没有什么上手的难度,不过安卓的投屏和一些功能需要开启adb调试,这样才能最大发挥它的功能。

目前,因为版本更迭,需要在 Windows系统 >= 10的环境上运行。

Windows系统下,推荐下载 Escrcpy-1.19.1-win-x64.zip 这下载解压即可使用的版本(时间戳 2024-06-02的最新稳定版本)

支持USB 或WIFI两种安卓投屏的工作模式,我这里比较推荐大家使用USB线连接的模式,会比较稳定

USB连接

注意:如果手机上提示调试授权请点击允许

安卓手机需开启开发者模式并打开 USB 调试
打开 Escrcpy 并将安卓手机连接到你的电脑
这时 Escrcpy 设备列表应该已经检测到你的手机,点击开始镜像

WIFI连接

注意:如果首次无线连接失败,你可能需要无线配对请参阅 常见问题
注意:需同时开启无线调试功能,并在无线调试页面中获取你的当前设备的无线地址(通常为你连接 WIFI 时分配的 IP 地址)及端口号(默认为 5555)

同 USB 连接中的 1-2 步骤
将获取到的设备 IP 地址及端口号填写到 Escrcpy 中,然后点击连接设备
这时 Escrcpy 设备列表应该已经检测到你的手机,点击开始镜像
开始享受吧

可以为不同安卓手机,设备不同的别名,点击开始镜像,即可电脑上操作安卓手机,可以同时投屏多个安卓手机。

让旧安卓手机又可以发挥余热了。

附录1、视频操作演示

https://youtu.be/uaBusKknl78

附录2、@Dasmz

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

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

Twitter: Dasmz

Youtube: @DasmzStudio

Telegram: @Dasmz

Donate
云乞讨

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

前缀、文档修改记录

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

章节1、需求描述

说真的zabbix作为基础设施级的资源监控系统,目前普及度已经非常的高了,它支持在服务端执行对客户端的检测操作,检查脚本在命令执行后,会将审计记录数据入库。由于audit.c代码中的“clientip”字段未经过有效的真实值过滤,就存在本应该是一个IP字段的数值,可被精心构造为一段SQL,填入到“clientip”中,形成SQL注入,并利用时间盲注攻击,进行数据库提权的操作。

官方的漏洞说明链接 https://www.zabbix.com/cn/security_advisories

https://www.zabbix.com/cn/security_advisories#ZBV-2024-05-17

https://support.zabbix.com/browse/ZBX-24505

https://github.com/W01fh4cker/CVE-2024-22120-RCE?tab=readme-ov-file 这里有将zabbix普通用户提权为admin用户的python脚本。

因为确实形成了SQL注入,且普通账号可以提权为admin账号,此次漏洞,标记为9.1的高危漏洞,影响的版本,我看官方贴的

6.0.0-6.0.27
6.4.0-6.4.12
7.0.0alpha1-7.0.0beta1

不包含旧的4.0/5.0版本,也是惊奇,可能是6.0版本之后代码功能带进来的漏洞吧,影响范围是有数据库的zabbix-server环境。

章节2、处理方式,版本升级

根据官方的建议,还是优先升级到zabbix最新的已修Bug漏洞的版本为妙

Fixed in
6.0.28rc1 c8ac414ff44
6.4.13rc1 78899da0e1b
7.0.0beta2 9013ff74985

打个快照,升级安装一下zabbix-server,完成版本升级就行。

参照官方:https://www.zabbix.com/documentation/6.0/en/manual/installation/upgrade/packages/debian_ubuntu

我在上次部署的是6.0 LTS的一个小版本, https://dasmz.com/?p=3654 ,因为这次的漏洞,都在同一个6系列的版本下,只要对zabbix-server组件进行小规模升级即可。

root@ZabbixServer:~# systemctl stop zabbix-server
root@ZabbixServer:~# apt update
root@ZabbixServer:~# apt install --only-upgrade zabbix-server-mysql zabbix-sql-scripts
root@ZabbixServer:~# systemctl start zabbix-server 

截至本文书写的2024-05-21,能更新到的zabbix-server版本是6.0.30,就OKAY了

附录1、视频操作演示

附录2、@Dasmz

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

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

Twitter: Dasmz

Youtube: @DasmzStudio

Telegram: @Dasmz

Donate
云乞讨

编译安装python3 2024-05-13

前缀、文档修改记录

20240513 初始化编辑此文章,完稿
20250514 编译测试通过

章节1、需求描述

时至今日2024-05-13,python3的稳定版本已经是3.12了,在部分环境上,可能有旧的版本,为了一个系统内兼容多个版本,可能需要进行venv方式进行多版本协同。

这里写编译安装到最新的版本python3的3.12版本

章节2、Ubuntu系统下可apt源方式安装python3的3.12版本

root@server:~# add-apt-repository ppa:deadsnakes/ppa -y
root@server:~# apt update
root@server:~# apt install python3.12 -y
root@server:~# python3.12 --version

章节3、Debian11&12环境下编译安装python3的3.12.3版本

// 2024-05-14 编译测试通过

root@server:~# apt update
root@server:~# apt install gcc make
root@server:~# apt install build-essential libbz2-dev libffi-dev liblzma-dev libncurses5-dev libreadline-dev libsqlite3-dev libssl-dev tk-dev zlib1g-dev
root@server:~# apt install wget
root@server:~# wget https://www.python.org/ftp/python/3.12.3/Python-3.12.3.tar.xz
root@server:~# tar xvf Python-3.12.3.tar.xz
root@server:~# cd Python-3.12.3
root@server:~# mkdir -p /usr/local/python3.12.3
root@server:~# ./configure --prefix=/usr/local/python3.12.3 --enable-optimizations --with-lto --enable-shared --with-dbmliborder=gdbm --without-ensurepip

//参数释义,配置选项的含义:
--enable-optimizations --with-lto
性能选项,推荐用此选项配置python3,启用以配置文件主导的优化(PGO)

--enable-shared
该选项防止安装静态库。

--without-ensurepip
该选项禁止构建 Python 软件包安装器,它在当前阶段没有必要。

--with-dbmliborder
覆盖 dbm 模块的 db 后端检查顺序。合法值是用冒号(:)分隔的字符串,包含后端名称。

root@server:~# make -j4
root@server:~# make install
root@server:~# echo "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/python3.12.3/lib"  >> /root/.bashrc  //增加到环境变量
root@server:~# source .bashrc
root@server:~# /usr/local/python3.12.3/bin/python3.12            // 检查版本
root@server:~# mv  /usr/bin/python3   /usr/bin/bak.python3.old
root@server:~# ln -s /usr/local/python3.12.3/bin/python3.12  /usr/bin/python3
root@server:~# ln -s /usr/local/python3.12.3/bin/python3.12  /usr/bin/python

pip软件的安装,最好搭配venv来,这样可以做到隔离,版本管理。

附录1、视频操作演示

附录2、@Dasmz

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

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

Twitter: Dasmz

Youtube: @DasmzStudio

Telegram: @Dasmz

Donate
云乞讨

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