首页
公共接口
每周Music
友链
更多
Armour
微软太空望远镜
国际空间站实时位置
Search
1
RouterOS配置OpenVPN客户端以及服务端
147 阅读
2
使用Nginx搭建一个远程打印机服务器
91 阅读
3
记一次抓取PPPoE抓取账号密码
78 阅读
4
RB2011升级固件,RB2011刷机
69 阅读
5
MikroTik封禁某个特定软件或者特定网站的服务并重定向到禁止的页面
62 阅读
NAS
服务器
笔记记录
网络
全光网络
视频监控
Armour
EVE-NG
Space
Nginx
登录
Search
draknightm
累计撰写
108
篇文章
累计收到
0
条评论
首页
栏目
NAS
服务器
笔记记录
网络
全光网络
视频监控
Armour
EVE-NG
Space
Nginx
页面
公共接口
每周Music
友链
Armour
微软太空望远镜
国际空间站实时位置
搜索到
108
篇与
draknightm
的结果
2022-12-11
Nginx配置SSL并设置强制HTTPS
HTTPS(超文本安全传输协议)是现代网站常用的访问加密手段,使用范围非常广泛,各大银行网站,购物网站以及绝大部分涉及到核心商业利益的网站都使用了HTTPS协议;本文详细解释基于CentOS下使用Nginx搭建HTTPS网站。首先需要的软件 KeyManager (亚洲诚信) >>>下载软件<<< CentOS7 + Nginx首先签发一个SSL证书,打开KeyManager,然后点击创建证书,证书类型为服务器证书,名称填写localhost(因为没有实际的域名,不太好指定证书),其他的默认,点击创建证书 导出证书,导出类型为Nginx(pem) 导出之后上传到服务器里面,找到Nginx的网站配置文件 #在网站配置文件下面添加一条server参数 server{ #监听443端口(HTTPS监听的是443端口HTTP监听的是80端口) listen 80; listen 443 ssl; #服务器主机名 server_name localhost; #证书文件位置,以你上传的位置为准 ssl_certificate /crt/localhost/localhost_chain.crt; #证书密钥文件位置,以你上传的位置为准 ssl_certificate_key /crt/localhost/localhost_key.key; #设置超时5分钟 ssl_session_timeout 5m; #配置ssl_session缓存 ssl_session_cache shared:SSL:5m; #配置SSL协议 ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3; #配置加密套件(这里给个通用写法,因为加密类型比较多)OpenSSL标准 ssl_ciphers ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4; ssl_prefer_server_ciphers on; #配置强制HTTPS if ($scheme = http) { #这一行的括号需要有空格,不然重启会报错 return 301 https://$host$request_uri; } location / { root /www/html; index index.html index.htm; } }编辑完毕之后重启Nginx服务,如果遇到报错就使用 systemctl status nginx #查看文件哪里报错了配置完重启不报错了那就测试功能是否正常 #使用curl命令请求本地页面,正确配置是301 curl http://localhost #使用curl -k因为证书是自己签名的,所以一般情况下不受信用的 curl -k https://localhost 现在可以看见HTTPS curl之后的网页
2022年12月11日
6 阅读
0 评论
0 点赞
2022-12-10
Nginx做重定向
重定向分为301重定向和302重定向301重定向是永久重定向,例如某论坛更换了域名,但是原来搜索引擎SEO优化只有原来的域名才有,新的域名没有SEO优化,重新更新优化需要时间,所以需要在原来的域名上做301永久重定向;在重定向之后原来的域名和URL都会被重定向到新的域名和URL上,这种操作在SEO优化里面是可以被允许的,或者301被用来强制HTTPS,在很多有重要服务的网站,没有SSL加密是很危险的事情,可能会导致信息泄露,所以可以在用户请求的时候判断是不是http协议请求的网站,如果条件成立就强制301到HTTPS的网站上。302是临时重定向,浏览器会认为请求的域名是临时的,所以不会直接回显重定向的域名和URL,所以一般用于临时的重定向,一般情况下浏览器认为的302重定向是不安全的;302重定向可能会被挟持URL,攻击者会修改302重定向的参数,将网站重定向到色情网站以及钓鱼网站或者诈骗网站,通常情况下在SEO权重里面,用到302重定向的网站会被搜索引擎认为是非法引用用来干扰搜索结果,通常情况下会被降权处罚。Nginx配置301重定向下面修改配置文件 server { #监听80端口 listen 80; #网站虚拟主机名 server_name www.123test.com; #location为访问的目录代理,/为域名后面不需要携带目录名 #假设是/test,那下面的curl测试就需要改成http://www.123test.com/test才可以访问到 location / { #这里使用return 301方式跳转到baidu #301的方式共有三种,这种是比较常用的一种方式 return 301 https://baidu.com; #默认文档,这里可要可不要 index index.html index.htm; } } #测试使用命令 curl http://www.123test.com本次使用域名来自前面文章做实验使用的域名,需要改hosts文件测试截图 Nginx设置302重定向修改配置文件 server { listen 80; server_name www.123test.com; location / { return 302 https://baidu.com; index index.html index.htm; } } #因为302和301的配置文件差不多,配置文件不做解释,直接跳过到下面测试环节使用curl http://www.123test.com测试是否能正常跳转
2022年12月10日
8 阅读
0 评论
0 点赞
2022-12-10
Nginx设置第一个网站
Windows还是Linux下的Nginx配置文件均相同,后期的学习与探究都在CentOS7上完成为方便配置以及增加可阅读性,CentOS安装GNOME桌面,使用桌面版配置Linux下默认的主配置文件在/etc/nginx/nginx.conf网站的配置文件在/etc/nginx/conf.d/*.conf如果是自己编译安装的Nginx,默认的主配置文件目录是根据自己编译安装的位置有关我前面教程编译安装位置/usr/local/nginx/conf/nginx.conf网站配置文件在程序安装目录下面的conf文件夹内为了方便起见,本文使用软件源安装的默认主配置文件位置和默认网站配置文件位置。Linux主配置文件添加索引引用网站配置文件(网站配置文件可以写在Nginx主配置文件下)(如果出现文件写在conf.d文件夹下的配置文件不生效的情况就把网站配置文件写在主配置文件下)user nginx; worker_processes auto; error_log /var/log/nginx/error.log; pid /run/nginx.pid; include /usr/share/nginx/modules/*.conf; events { worker_connections 1024; } http { #include 为引用conf.d目录下的所有.conf类型引用到Nginx主配置文件下 #如果不知道填写在哪,那就把主配置文件下的所有http参数,仅输入下面参数 include /etc/nginx/conf.d/*.conf; }网站配置文件格式详解server { #监听ipv4的80端口和ipv6的80端口 listen 80; listen [::]:80; #下面一行设置域名,为访问该网站的域名,如果需要本地IP地址访问此网站可以不设置server_name参数 server_name www.123test.com; #root为网站文件存放的位置,需要设置成网站默认文件所在目录的绝对路径 root /www/html/; #设置访问网站默认文件,如果不填那就无法显示网页 index index.html; } #因为默认不存在/www/html目录,所以需要自己手动创建这个目录 cd / && mkdir www && cd /www && mkdir html && chmod 777 html && \ chmod 777 /www && cd /www/html nano index.html #在index.html下面输入 <html> <body> <h1>NO.1</h1> <h2>NO.2</h2> <h3>NO.3</h3> </body> </html> #输入完成index.html文件之后Ctrl+O保存,Ctrl+X退出 #重启Nginx服务器 systemctl restart nginx #需要关闭SELIUX,不然访问会报403错误 nano /etc/selinux/config #将SELINUX=enforcing改成SELINUX=disabled reboot #需要重启生效SELINUX 修改HOSTS文件,以生效server_name参数 nano /etc/hosts #添加下面条目 本机IP domain #我的配置文件 192.168.197.141 www.123test.com #打开终端输入 curl http://www.123test.com 接上代码参数,输入后得出结果
2022年12月10日
6 阅读
0 评论
0 点赞
2022-12-10
安装Nginx
CentOS7 带桌面安装Nginx使用包管理器直接安装Nginx#安装第三方软件源(可以用官方源) yum -y install epel-release #安装Nginx yum -y install nginx #启动Nginx systemctl start nginx编译安装Nginx cd / #下载官网的安装包(当前最新版) wget https://nginx.org/download/nginx-1.23.2.tar.gz #解压 tar -xvf nginx-1.23.2.tar.gz #进入目录 cd nginx-1.23.2 #安装编译需要的软件包 yum -y install gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel nano #创建Nginx需要的用户和组,等会需要用到 groupadd www useradd -g www www #配置编译参数 ./configure --user=www --group=www \ --prefix=/usr/local/nginx \ --with-http_ssl_module \ --with-http_stub_status_module \ --with-http_realip_module \ --with-threads #编译并安装 make && make install #查看安装版本 /usr/local/nginx/sbin/nginx -V #添加连接,并设置systemctl启动 ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx #设置关键文件 nano /etc/init.d/nginx #填入下方内容 #!/bin/sh # # nginx - this script starts and stops the nginx daemon # # chkconfig: - 85 15 # description: NGINX is an HTTP(S) server, HTTP(S) reverse \ # proxy and IMAP/POP3 proxy server # processname: nginx # config: /usr/local/nginx/conf/nginx.conf # config: /etc/sysconfig/nginx # pidfile: /usr/local/nginx/logs/nginx.pid # Source function library. . /etc/rc.d/init.d/functions # Source networking configuration. . /etc/sysconfig/network # Check that networking is up. [ "$NETWORKING" = "no" ] && exit 0 nginx="/usr/local/nginx/sbin/nginx" prog=$(basename $nginx) NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf" [ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx lockfile=/var/lock/subsys/nginx make_dirs() { # make required directories user=`$nginx -V 2>&1 | grep "configure arguments:" | sed 's/[^*]*--user=\([^ ]*\).*/\1/g' -` if [ -z "`grep $user /etc/passwd`" ]; then useradd -M -s /bin/nologin $user fi options=`$nginx -V 2>&1 | grep 'configure arguments:'` for opt in $options; do if [ `echo $opt | grep '.*-temp-path'` ]; then value=`echo $opt | cut -d "=" -f 2` if [ ! -d "$value" ]; then # echo "creating" $value mkdir -p $value && chown -R $user $value fi fi done } start() { [ -x $nginx ] || exit 5 [ -f $NGINX_CONF_FILE ] || exit 6 make_dirs echo -n $"Starting $prog: " daemon $nginx -c $NGINX_CONF_FILE retval=$? echo [ $retval -eq 0 ] && touch $lockfile return $retval } stop() { echo -n $"Stopping $prog: " killproc $prog -QUIT retval=$? echo [ $retval -eq 0 ] && rm -f $lockfile return $retval } restart() { configtest || return $? stop sleep 1 start } reload() { configtest || return $? echo -n $"Reloading $prog: " killproc $nginx -HUP RETVAL=$? echo } force_reload() { restart } configtest() { $nginx -t -c $NGINX_CONF_FILE } rh_status() { status $prog } rh_status_q() { rh_status >/dev/null 2>&1 } case "$1" in start) rh_status_q && exit 0 $1 ;; stop) rh_status_q || exit 0 $1 ;; restart|configtest) $1 ;; reload) rh_status_q || exit 7 $1 ;; force-reload) force_reload ;; status) rh_status ;; condrestart|try-restart) rh_status_q || exit 0 ;; *) echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}" exit 2 esac #输完之后给这个文件上执行权限 chmod a+x /etc/init.d/nginx #把Nginx加入到chkconfig管理列表里面 chkconfig --add /etc/init.d/nginx chkconfig nginx on #启动服务 systemctl start nginx #设置开机自启 systemctl enable nginx #查看服务状态 systemctl status nginx #打开浏览器查看能不能访问Nginx的默认页 #浏览器输入localhost:80 Windows 下安装Nginx下载Nginx For Windows 下载后解压安装包,启动Nginx打开浏览器输入localhost查看默认页
2022年12月10日
15 阅读
0 评论
0 点赞
2022-12-10
Nginx概述
Nginx是一个HTTP和反向代理服务器,邮件代理服务器以及第四层流量(TCP/UDP)代理服务器。Nginx的优点 可以高并发连接;官方测试Nginx可以单服务端支撑5万多连接,在实际的生产环境中可以支撑2-4万并发连接数。 Nginx是个高性能的Web服务器,反向代理服务器,Nginx足够轻量,对比Apache来说,Nginx使用的硬件资源足够低,配合FastCGI(Nginx+PHP)的情况下,当前3万个并发连接下,Nginx消耗的内存不足300MB,加上64个进程的PHP-CGI(每个CGI消耗20MB的内存)消耗1280MB,整个Web服务消耗1.5GB左右的内存; 使用Nginx的国际大厂 Netfix网站服务器截图 Bilibili网站服务器截图(Tengine是阿里巴巴自己基于Nginx二次编译给淘宝和天猫应对双十一的优化版) Nginx的架构 nginx工作(worker)码包括核心和功能模块。 nginx的核心是负责维护严格的运行循环,并在请求处理的每个阶段执行模块代码的适当部分。 模块构成了大部分的演示和应用层功能。 模块读取和写入网络和存储,转换内容,执行出站过滤,应用服务器端包含操作,并在代理启动时将请求传递给上游服务器。nginx的模块化架构通常允许开发人员扩展一组Web服务器功能,而无需修改nginx内核。 nginx模块略有不同,即核心模块,事件模块,阶段处理程序,协议,可变处理程序,过滤器,上游和负载平衡器。nginx不支持动态加载的模块; 即在构建阶段将模块与核心一起编译。在处理与接受,处理和管理网络连接和内容检索相关的各种操作时,nginx在基于Linux,Solaris和BSD的操作系统中使用事件通知机制和一些磁盘I/O性能增强,如:kqueue,epoll, 和事件端口。 目标是为操作系统提供尽可能多的提示,以便及时获取入站和出站流量,磁盘操作,读取或写入套接字,超时等异步反馈。 对于每个基于Unix的nginx运行的操作系统,大量优化了复用和高级I/O操作的不同方法的使用。nginx架构的概述如下图所示 (来自网络)
2022年12月10日
5 阅读
0 评论
0 点赞
2022-12-01
RIP动态路由协议
以思科Packet Tracer为例下图制造了一个拓补图, 这个拓补图的地址表是设备均为三层交换机SW1 vlan 1 192.168.22.1/24G0/1 172.16.1.1/24G0/2 172.16.3.2/24SW2vlan 1 192.168.23.1/24G0/1 172.16.2.1/24G0/2 172.16.1.2/24SW3vlan 1 192.168.24.1/24G0/1 172.16.3.1/24G0/2 172.16.2.2/24上图所有交换机需要全部开启路由模式ip routing然后使用rip命令开启RIP动态路由router rip network IP段 #这里的IP地址段是路由器接口上IP所在的IP地址段,其他路由器的不需要开完之后查看路由表是否收敛 图片得知,头部显示R的为RIP动态收敛的路由表,解析RIP的收敛原理启用RIP路由协议的路由器或者三层交换机会对邻居三层开启RIP的设备发送广播报文,携带本机对外开放网段,lRIP动态路由协议最大支持设备数量为15个,超过就无法使用
2022年12月01日
10 阅读
0 评论
0 点赞
2022-11-30
NTFS分区三个重要参数的计算过程
分区总扇区数的计算进入分区0号扇区(WinHex点击一下分区自动跳转到0扇区)当前位置偏移到6291456(十进制偏移)扇区(大约是3GB大小的位置)*截图一张找到偏移之后的右侧ASCII字符串的$MFT(对应的Hex是24 00 4D 00 46 00 54),左侧24 00 4D 00 46 00 54下一行的开头为MFT的80属性,80属性向下第四行为簇流运行,下截图为例 如图所示 31 40 00 00 0C 分解第一个数字 31 后面的1代表 31 数字后1个字节 (这里指的是40)前面的3代表40后面三个字节(00 00 0C);这里读取的时候直接跳过一个字节读取连续三个字节的参数; 上图示范2:假设80属性下的簇流运行的参数为33 40 21 30 00 00 51 则这里直接跳过33后面三个字节之后读取连续三个字节参数;读取参数的方法,打开数据解释器,点击后面需要连续读取参数的第一个字节,查看数据解释器的32bit参数 此处的参数得知为786432然后从此处向下偏移12个扇区(十进制12)到$Bitmap文件位置,使用模板读取Bitmap文件大小 从上图得知,Bitmap的大小为491424字节计算簇大小,使用公式:簇大小 = $MFT文件位置 / 上图得到簇流运行参数 分区总扇区数 = Bitmap大小 8 簇大小 -1上图参数可直接计算簇大小的数值为:6291456 / 786432 = 8分区总扇区数 = 491424 8 8 - 1 = 31451135
2022年11月30日
6 阅读
0 评论
0 点赞
2022-11-26
硬盘SMART表参数详解
01(001)底层数据读取错误率 Raw Read Error Rate数据为0或任意值,当前值应远大于与临界值。 底层数据读取错误率是磁头从磁盘表面读取数据时出现的错误,对某些硬盘来说,大于0的数据表明磁盘表面或者读写磁头发生问题,如介质损伤、磁头污染、磁头共振等等。不过对希捷硬盘来说,许多硬盘的这一项会有很大的数据量,这不代表有任何问题,主要是看当前值下降的程度。 在固态硬盘中,此项的数据值包含了可校正的错误与不可校正的RAISE错误(UECC+URAISE)。注:RAISE(Redundant Array of Independent Silicon Elements)意为独立硅元素冗余阵列,是固态硬盘特有的一种冗余恢复技术,保证内部有类似RAID阵列的数据安全性。02(002)磁盘读写通量性能 Throughput Performance此参数表示硬盘的读写通量性能,数据值越大越好。当前值如果偏低或趋近临界值,表示硬盘存在严重的问题,但现在的硬盘通常显示数据值为0或根本不显示此项,一般在进行了人工脱机SMART测试后才会有数据量。03(003)主轴起旋时间 Spin Up Time主轴起旋时间就是主轴电机从启动至达到额定转速所用的时间,数据值直接显示时间,单位为毫秒或者秒,因此数据值越小越好。不过对于正常硬盘来说,这一项仅仅是一个参考值,硬盘每次的启动时间都不相同,某次启动的稍慢些也不表示就有问题。硬盘的主轴电机从启动至达到额定转速大致需要4秒~15秒左右,过长的启动时间说明电机驱动电路或者轴承机构有问题。旦这一参数的数据值在某些型号的硬盘上总是为0,这就要看当前值和最差值来判断了。 对于固态硬盘来说,所有的数据都是保存在半导体集成电路中,没有主轴电机,所以这项没有意义,数据固定为0,当前值固定为100。04(004)启停计数 Start/Stop Count这一参数的数据是累计值,表示硬盘主轴电机启动/停止的次数,新硬盘通常只有几次,以后会逐渐增加。系统的某些功能如空闲时关闭硬盘等会使硬盘启动/停止的次数大为增加,在排除定时功能的影响下,过高的启动/停止次数(远大于通电次数0C)暗示硬盘电机及其驱动电路可能有问题。 这个参数的当前值是依据某种公式计算的结果,例如对希捷某硬盘来说临界值为20,当前值是通过公式“100-(启停计数/1024)”计算得出的。若新硬盘的启停计数为0,当前值为100-(0/1024)=100,随着启停次数的增加,该值不断下降,当启停次数达到81920次时,当前值为100-(81920/1024)=20,已达到临界值,表示从启停次数来看,该硬盘已达设计寿命,当然这只是个寿命参考值,并不具有确定的指标性。 这一项对于固态硬盘同样没有意义,数据固定为0,当前值固定为100。05(005)重映射扇区计数 Reallocated Sectors Count/ 退役块计数 Retired Block Count数据应为0,当前值应远大于临界值。当硬盘的某扇区持续出现读/写/校验错误时,硬盘固件程序会将这个扇区的物理地址加入缺陷表(G-list),将该地址重新定向到预先保留的备用扇区并将其中的数据一并转移,这就称为重映射。执行重映射操作后的硬盘在Windows常规检测中是无法发现不良扇区的,因其地址已被指向备用扇区,这等于屏蔽了不良扇区。 这项参数的数据值直接表示已经被重映射扇区的数量,当前值则随着数据值的增加而持续下降。当发现此项的数据值不为零时,要密切注意其发展趋势,若能长期保持稳定,则硬盘还可以正常运行;若数据值不断上升,说明不良扇区不断增加,硬盘已处于不稳定状态,应当考虑更换了。如果当前值接近或已到达临界值(此时的数据值并不一定很大,因为不同硬盘保留的备用扇区数并不相同),表示缺陷表已满或备用扇区已用尽,已经失去了重映射功能,再出现不良扇区就会显现出来并直接导致数据丢失。 这一项不仅是硬盘的寿命关键参数,而且重映射扇区的数量也直接影响硬盘的性能,例如某些硬盘会出现数据量很大,但当前值下降不明显的情况,这种硬盘尽管还可正常运行,但也不宜继续使用。因为备用扇区都是位于磁盘尾部(靠近盘片轴心处),大量的使用备用扇区会使寻道时间增加,硬盘性能明显下降。 这个参数在机械硬盘上是非常敏感的,而对于固态硬盘来说同样具有重要意义。闪存的寿命是正态分布的,例如说MLC能写入一万次以上,实际上说的是写入一万次之前不会发生“批量损坏”,但某些单元可能写入几十次就损坏了。换言之,机械硬盘的盘片不会因读写而损坏,出现不良扇区大多与工艺质量相关,而闪存的读写次数则是有限的,因而损坏是正常的。所以固态硬盘在制造时也保留了一定的空间,当某个存储单元出现问题后即把损坏的部分隔离,用好的部分来顶替。这一替换方法和机械硬盘的扇区重映射是一个道理,只不过机械硬盘正常时极少有重映射操作,而对于固态硬盘是经常性的。 在固态硬盘中这一项的数据会随着使用而不断增长,只要增长的速度保持稳定就可以。通常情况下,数据值=100-(100×被替换块/必需块总数),因此也可以估算出硬盘的剩余寿命。 Intel固态硬盘型号的第十二个字母表示了两种规格,该字母为1表示第一代的50纳米技术的SSD,为2表示第二代的34纳米技术的SSD,如SSDSA2M160G2GN就表示是34nm的SSD。所以参数的查看也有两种情况: 50nm的SSD(一代)要看当前值。这个值初始是100,当出现替换块的时候这个值并不会立即变化,一直到已替换四个块时这个值变为1,之后每增加四个块当前值就+1。也就是100对应0~3个块,1对应4~7个块,2对应8~11个块…… 34nm的SSD(二代)直接查看数据值,数据值直接表示有多少个被替换的块。06(006)读取通道余量 Read Channel Margin这一项功能不明,现在的硬盘也不显示这一项。07(007)寻道错误率 Seek Error Rate数据应为0,当前值应远大于与临界值。 这一项表示磁头寻道时的错误率,有众多因素可导致寻道错误率上升,如磁头组件的机械系统、伺服电路有局部问题,盘片表面介质不良,硬盘温度过高等等。 通常此项的数据应为0,但对希捷硬盘来说,即使是新硬盘,这一项也可能有很大的数据量,这不代表有任何问题,还是要看当前值是否下降。08(008)寻道性能 Seek Time Performance此项表示硬盘寻道操作的平均性能(寻道速度),通常与前一项(寻道错误率)相关联。当前值持续下降标志着磁头组件、寻道电机或伺服电路出现问题,但现在许多硬盘并不显示这一项。09(009)通电时间累计 Power-On Time Count (POH)这个参数的含义一目了然,表示硬盘通电的时间,数据值直接累计了设备通电的时长,新硬盘当然应该接近0,但不同硬盘的计数单位有所不同,有以小时计数的,也有以分、秒甚至30秒为单位的,这由磁盘制造商来定义。 这一参数的临界值通常为0,当前值随着硬盘通电时间增加会逐渐下降,接近临界值表明硬盘已接近预计的设计寿命,当然这并不表明硬盘将出现故障或立即报废。参考磁盘制造商给出的该型号硬盘的MTBF(平均无故障时间)值,可以大致估计剩余寿命或故障概率。 对于固态硬盘,要注意“设备优先电源管理功能(device initiated power management,DIPM)”会影响这个统计:如果启用了DIPM,持续通电计数里就不包括睡眠时间;如果关闭了DIPM功能,那么活动、空闲和睡眠三种状态的时间都会被统计在内。0A(010)主轴起旋重试次数 Spin up Retry Count数据应为0,当前值应大于临界值。 主轴起旋重试次数的数据值就是主轴电机尝试重新启动的计数,即主轴电机启动后在规定的时间里未能成功达到额定转速而尝试再次启动的次数。数据量的增加表示电机驱动电路或是机械子系统出现问题,整机供电不足也会导致这一问题。0B(011)磁头校准重试计数 Calibration Retry Count数据应为0,当前值应远大于与临界值。硬盘在温度发生变化时,机械部件(特别是盘片)会因热胀冷缩出现形变,因此需要执行磁头校准操作消除误差,有的硬盘还内置了磁头定时校准功能。这一项记录了需要再次校准(通常因上次校准失败)的次数。 这一项的数据量增加,表示电机驱动电路或是机械子系统出现问题,但有些型号的新硬盘也有一定的数据量,并不表示有问题,还要看当前值和最差值。0C(012)通电周期计数 Power Cycle Count通电周期计数的数据值表示了硬盘通电/断电的次数,即电源开关次数的累计,新硬盘通常只有几次。 这一项与启停计数(04)是有区别的,一般来说,硬盘通电/断电意味着计算机的开机与关机,所以经历一次开关机数据才会加1;而启停计数(04)表示硬盘主轴电机的启动/停止(硬盘在运行时可能多次启停,如系统进入休眠或被设置为空闲多少时间而关闭)。所以大多情况下这个通电/断电的次数会小于启停计数(04)的次数。通常,硬盘设计的通电次数都很高,如至少5000次,因此这一计数只是寿命参考值,本身不具指标性。0D(013)软件读取错误率 Soft Read Error Rate软件读取错误率也称为可校正的读取误码率,就是报告给操作系统的未经校正的读取错误。数据值越低越好,过高则可能暗示盘片磁介质有问题。AA(170)坏块增长计数 Grown Failing Block Count(Micron 镁光)读写失败的块增长的总数。AB(171)编程失败块计数 Program Fail Block CountFlash编程失败块的数量。AC(172)擦写失败块计数 Erase Fail Block Count擦写失败块的数量。AD(173)磨损平衡操作次数(平均擦写次数) / Wear Leveling Count(Micron 镁光)所有好块的平均擦写次数。 Flash芯片有写入次数限制,当使用FAT文件系统时,需要频繁地更新文件分配表。如果闪存的某些区域读写过于频繁,就会比其它区域磨损的更快,这将明显缩短整个硬盘的寿命(即便其它区域的擦写次数还远小于最大限制)。所以,如果让整个区域具有均匀的写入量,就可明显延长芯片寿命,这称为磨损均衡措施。AE(174)意外失电计数 Unexpected Power Loss Count硬盘自启用后发生意外断电事件的次数。B1(177)磨损范围对比值 Wear Range Delta磨损最重的块与磨损最轻的块的磨损百分比之差。B4(180)未用的备用块计数 Unused Reserved Block Count Total(惠普)固态硬盘会保留一些容量来准备替换损坏的存储单元,所以可用的预留空间数非常重要。这个参数的当前值表示的是尚未使用的预留的存储单元数量。B5(181)编程失败计数 Program Fail Count用4个字节显示已编程失败的次数,与(AB)参数相似。B5(181)非4KB对齐访问数 Non-4k Aligned Access(Micron 镁光)B6(182)擦写失败计数 Erase Fail Count用4个字节显示硬盘自启用后块擦写失败的次数,与(AC)参数相似。B7(183)串口降速错误计数 SATA Downshift Error Count这一项表示了SATA接口速率错误下降的次数。通常硬盘与主板之间的兼容问题会导致SATA传输级别降级运行。B8(184)I/O错误检测与校正 I/O Error Detection and Correction(IOEDC)“I/O错误检测与校正”是惠普公司专有的SMART IV技术的一部分,与其他制造商的I/O错误检测和校正架构一样,它记录了数据通过驱动器内部高速缓存RAM传输到主机时的奇偶校验错误数量。 B8(184)点到点错误检测计数 End to End Error Detection CountIntel第二代的34nm固态硬盘有点到点错误检测计数这一项。固态硬盘里有一个LBA(logical block addressing,逻辑块地址)记录,这一项显示了SSD内部逻辑块地址与真实物理地址间映射的出错次数。 B8(184)原始坏块数 Init Bad Block Count(Indilinx芯片)硬盘出厂时已有的坏块数量。B9(185)磁头稳定性 Head Stability(西部数据)意义不明。BA(186)感应运算振动检测 nduced Op-Vibration Detection(西部数据)意义不明。BB(187)无法校正的错误 Reported Uncorrectable Errors(希捷)报告给操作系统的无法通过硬件ECC校正的错误。如果数据值不为零,就应该备份硬盘上的数据了。 报告给操作系统的在所有存取命令中出现的无法校正的RAISE(URAISE)错误。BC(188)命令超时 Command Timeout由于硬盘超时导致操作终止的次数。通常数据值应为0,如果远大于零,最有可能出现的是电源供电问题或者数据线氧化致使接触不良,也可能是硬盘出现严重问题。BD(189)高飞写入 High Fly Writes磁头飞行高度监视装置可以提高读写的可靠性,这一装置时刻监测磁头的飞行高度是否在正常范围来保证可靠的写入数据。如果磁头的飞行高度出现偏差,写入操作就会停止,然后尝试重新写入或者换一个位置写入。这种持续的监测过程提高了写入数据的可靠性,同时也降低了读取错误率。这一项的数据值就统计了写入时磁头飞行高度出现偏差的次数。BD(189)出厂坏块计数 Factory Bad Block Count(Micron 镁光芯片)BE(190)气流温度 Airflow Temperature这一项表示的是硬盘内部盘片表面的气流温度。在希捷公司的某些硬盘中,当前值=(100-当前温度),因此气流温度越高,当前值就越低,最差值则是当前值曾经到达过的最低点,临界值由制造商定义的最高允许温度来确定,而数据值不具实际意义。许多硬盘也没有这一项参数。BF(191)冲击错误率 G-sense error rate这一项的数据值记录了硬盘受到机械冲击导致出错的频度。C0(192)断电返回计数 Power-Off Retract Count当计算机关机或意外断电时,硬盘的磁头都要返回停靠区,不能停留在盘片的数据区里。正常关机时电源会给硬盘一个通知,即Standby Immediate,就是说主机要求将缓存数据写入硬盘,然后就准备关机断电了(休眠、待机也是如此);意外断电则表示硬盘在未收到关机通知时就失电,此时磁头会自动复位,迅速离开盘片。 这个参数的数据值累计了磁头返回的次数。但要注意这个参数对某些硬盘来说仅记录意外断电时磁头的返回动作;而某些硬盘记录了所有(包括休眠、待机,但不包括关机时)的磁头返回动作;还有些硬盘这一项没有记录。因此这一参数的数据值在某些硬盘上持续为0或稍大于0,但在另外的硬盘上则会大于通电周期计数(0C)或启停计数(04)的数据。在一些新型节能硬盘中,这一参数的数据量还与硬盘的节能设计相关,可能会远大于通电周期计数(0C)或启停计数(04)的数据,但又远小于磁头加载/卸载计数(C1)的数据量。 对于固态硬盘来说,虽然没有磁头的加载/卸载操作,但这一项的数据量仍然代表了不安全关机,即发生意外断电的次数。C1(193)磁头加载/卸载计数 Load/Unload Cycle Count对于过去的硬盘来说,盘片停止旋转时磁头臂停靠于盘片中心轴处的停泊区,磁头与盘片接触,只有当盘片旋转到一定转速时,磁头才开始漂浮于盘片之上并开始向外侧移动至数据区。这使得磁头在硬盘启停时都与盘片发生摩擦,虽然盘片的停泊区不存储数据,但无疑启停一个循环,就使磁头经历两次磨损。所以对以前的硬盘来说,磁头起降(加载/卸载)次数是一项重要的寿命关键参数。而在现代硬盘中,平时磁头臂是停靠于盘片之外的一个专门设计的停靠架上,远离盘片。只有当盘片旋转达到额定转速后,磁头臂才开始向内(盘片轴心)转动使磁头移至盘片区域(加载),磁头臂向外转动返回至停靠架即卸载。这样就彻底杜绝了硬盘启停时磁头与盘片接触的现象,西部数据公司将其称为“斜坡加载技术”。由于磁头在加载/卸载过程中始终不与盘片接触,不存在磁头的磨损,使得这一参数的重要性已经大大下降。这个参数的数据值就是磁头执行加载/卸载操作的累计次数。从原理上讲,这个加载/卸载次数应当与硬盘的启停次数相当,但对于笔记本内置硬盘以及台式机新型节能硬盘来说,这一项的数据量会很大。这是因为磁头臂组件设计有一个固定的返回力矩,保证在意外断电时磁头能靠弹簧力自动离开盘片半径范围,迅速返回停靠架。所以要让硬盘运行时磁头保持在盘片的半径之内,就要使磁头臂驱动电机(寻道电机)持续通以电流。而让磁头臂在硬盘空闲几分钟后就立即执行卸载动作,返回到停靠架上,既有利于节能,又降低了硬盘受外力冲击导致磁头与盘片接触的概率。虽然再次加载会增加一点寻道时间,但毕竟弊大于利,所以在这类硬盘中磁头的加载/卸载次数会远远大于通电周期计数(0C)或启停计数(04)的数据量。不过这种加载/卸载方式已经没有了磁头与盘片的接触,所以设计值也已大大增加,通常笔记本内置硬盘的磁头加载/卸载额定值在30~60万次,而台式机新型节能硬盘的磁头加载/卸载设计值可达一百万次。C2(194)温度 Temperature温度的数据值直接表示了硬盘内部的当前温度。硬盘运行时最好不要超过45℃,温度过高虽不会导致数据丢失,但引起的机械变形会导致寻道与读写错误率上升,降低硬盘性能。硬盘的最高允许运行温度可查看硬盘厂商给出的数据,一般不会超过60℃。 不同厂家对温度参数的当前值、最差值和临界值有不同的表示方法:希捷公司某些硬盘的当前值就是实际温度(摄氏)值,最差值则是曾经达到过的最高温度,临界值不具意义;而西部数据公司一些硬盘的最差值是温度上升到某值后的时间函数,每次升温后的持续时间都将导致最差值逐渐下降,当前值则与当前温度成反比,即当前温度越高,当前值越低,随实际温度波动。C3(195)硬件ECC校正 Hardware ECC RecoveredECC(Error Correcting Code)的意思是“错误检查和纠正”,这个技术能够容许错误,并可以将错误更正,使读写操作得以持续进行,不致因错误而中断。这一项的数据值记录了磁头在盘片上读写时通过ECC技术校正错误的次数,不过许多硬盘有其制造商特定的数据结构,因此数据量的大小并不能直接说明问题。 C3(195)实时无法校正错误计数 On the fly ECC Uncorrectable Error Count这一参数记录了无法校正(UECC)的错误数量。 C3(195)编程错误块计数 Program Failure block Count(Indilinx芯片)C4(196)重映射事件计数 Reallocetion Events Count数据应为0,当前值应远大于临界值。 这个参数的数据值记录了将重映射扇区的数据转移到备用扇区的尝试次数,是重映射操作的累计值,成功的转移和不成功的转移都会被计数。因此这一参数与重映射扇区计数(05)相似,都是反映硬盘已经存在不良扇区。 C4(196)擦除错误块计数 Erase Failure block Count(Indilinx芯片)在固态硬盘中,这一参数记录了被重映射的块编程失败的数量。C5(197)当前待映射扇区计数 Current Pending Sector Count数据应为0,当前值应远大于临界值。这个参数的数据表示了“不稳定的”扇区数,即等待被映射的扇区(也称“被挂起的扇区”)数量。如果不稳定的扇区随后被读写成功,该扇区就不再列入等待范围,数据值就会下降。 仅仅读取时出错的扇区并不会导致重映射,只是被列入“等待”,也许以后读取就没有问题,所以只有在写入失败时才会发生重映射。下次对该扇区写入时如果继续出错,就会产生一次重映射操作,此时重映射扇区计数(05)与重映射事件计数(C4)的数据值增加,此参数的数据值下降。C5(197)读取错误块计数(不可修复错误)Read Failure block Count(Indilinx芯片)C6(198)脱机无法校正的扇区计数 Offline Uncorrectable Sector Count数据应为0,当前值应远大于临界值。这个参数的数据累计了读写扇区时发生的无法校正的错误总数。数据值上升表明盘片表面介质或机械子系统出现问题,有些扇区肯定已经不能读取,如果有文件正在使用这些扇区,操作系统会返回读盘错误的信息。下一次写操作时会对该扇区执行重映射。 C6(198)总读取页数 Total Count of Read Sectors(Indilinx芯片)C7(199)Ultra ATA访问校验错误率 Ultra ATA CRC Error Rate这个参数的数据值累计了通过接口循环冗余校验(Interface Cyclic Redundancy Check,ICRC)发现的数据线传输错误的次数。如果数据值不为0且持续增长,表示硬盘控制器→数据线→硬盘接口出现错误,劣质的数据线、接口接触不良都可能导致此现象。由于这一项的数据值不会复零,所以某些新硬盘也会出现一定的数据量,只要更换数据线后数据值不再继续增长,即表示问题已得到解决。 C7(199)总写入页数 Total Count of Write Sectors(Indilinx芯片)C8(200)写入错误率 Write Error Rate / 多区域错误率 Multi-Zone Error Rate(西部数据)数据应为0,当前值应远大于临界值。 这个参数的数据累计了向扇区写入数据时出现错误的总数。有的新硬盘也会有一定的数据量,若数据值持续快速升高(当前值偏低),表示盘片、磁头组件可能有问题。 C8(200)总读取指令数 Total Count of Read Command(Indilinx芯片)C9(201)脱道错误率 Off Track Error Rate / 逻辑读取错误率 Soft Read Error Rate数据值累积了读取时脱轨的错误数量,如果数据值不为0,最好备份硬盘上的资料。 C9(201)TA Counter Detected(意义不明)C9(201)写入指令总数 Total Count of Write Command(Indilinx芯片)CA(202)数据地址标记错误 Data Address Mark errors此项的数据值越低越好(或者由制造商定义)。 CA(202)TA Counter Increased(意义不明)CA(202)剩余寿命 Percentage Of The Rated Lifetime Used(Micron 镁光芯片)当前值从100开始下降至0,表示所有块的擦写余量统计。计算方法是以MLC擦写次数除以50,SLC擦写次数除以1000,结果取整数,将其与100的差值作为当前值(MLC预计擦写次数为5000,SLC预计擦写次数为100000)。 CA(202)闪存总错误bit数 Total Count of error bits from flash(Indilinx芯片)CB(203)软件ECC错误数 Run Out Cancel错误检查和纠正(ECC)出错的频度。 CB(203)校正bit错误的总读取页数 Total Count of Read Sectors with correct bits error(Indilinx芯片)CC(204)软件ECC校正 Soft ECC Correction通过软件ECC纠正错误的计数。 CC(204)坏块满标志 Bad Block Full Flag(Indilinx芯片)CD(205)热骚动错误率 Thermal Asperity Rate (TAR)由超温导致的错误。数据值应为0。 CD(205)最大可编程/擦除次数 Max P/E Count(Indilinx芯片)CE(206)磁头飞行高度 Flying Height磁头距离盘片表面的垂直距离。高度过低则增加了磁头与盘片接触导致损坏的可能性;高度偏高则增大了读写错误率。不过准确地说,硬盘中并没有任何装置可以直接测出磁头的飞行高度,制造商也只是根据磁头读取的信号强度来推算磁头飞行高度。 CE(206)底层数据写入出错率 Write Error RateCE(206)最小擦写次数 Erase Count Min(Indilinx芯片)CF(207)主轴过电流 Spin High Current数据值记录了主轴电机运行时出现浪涌电流的次数,数据量的增加意味着轴承或电机可能有问题。 CF(207)最大擦写次数 Erase Count Max(Indilinx芯片)D0(208)主轴电机重启次数 Spin Buzz数据值记录了主轴电机反复尝试启动的次数,这通常是由于电源供电不足引起的。 D0(208)平均擦写次数Erase Count Average(Indilinx芯片)D1(209)脱机寻道性能 Offline Seek Performance这一项表示驱动器在脱机状态下的寻道性能,通常用于工厂内部测试。 D1(209)剩余寿命百分比 Remaining Life %(Indilinx芯片)D2(210)斜坡加载值 Ramp Load Value这一项仅见于几年前迈拓制造的部分硬盘。通常数据值为0,意义不明。 D2(210)坏块管理错误日志 BBM Error Log(Indilinx芯片)D3(211)写入时振动 Vibration During Write写入数据时受到受到外部振动的记录。 D3(211)SATA主机接口CRC写入错误计数 SATA Error Count CRC (Write)(Indilinx芯片)D4(212)写入时冲击 Shock During Write写入数据时受到受到外部机械冲击的记录。 D4(212)SATA主机接口读取错误计数 SATA Error Count Count CRC (Read)(Indilinx芯片)DC(220)盘片偏移量 Disk Shift硬盘中的盘片相对主轴的偏移量(通常是受外力冲击或温度变化所致),单位未知,数据值越小越好。DD(221)冲击错误率 G-sense error rate与(BF)相同,数据值记录了硬盘受到外部机械冲击或振动导致出错的频度。DE(222)磁头寻道时间累计 Loaded Hours磁头臂组件运行的小时数,即寻道电机运行时间累计。DF(223)磁头加载/卸载重试计数 Load/Unload Retry Count这一项与(C1)项类似,数据值累积了磁头尝试重新加载/卸载的次数。E0(224)磁头阻力 Load Friction磁头工作时受到的机械部件的阻力。E1(225)主机写入数据量 Host Writes由于闪存的擦写次数是有限的,所以这项是固态硬盘特有的统计。Intel的SSD是每当向硬盘写入了65536个扇区,这一项的数据就+1。如果用HDTune等软件查看SMART时可以自己计算,Intel SSD Toolbox已经为你算好了,直接就显示了曾向SSD中写入过的数据量。E2(226)磁头加载时间累计 Load 'In'-time磁头组件运行时间的累积数,即磁头臂不在停靠区的时间,与(DE)项相似。E3(227)扭矩放大计数 Torque Amplification Count主轴电机试图提高扭矩来补偿盘片转速变化的次数。当主轴轴承存在问题时,主轴电机会尝试增加驱动力使盘片稳定旋转。这个参数的当前值下降,说明硬盘的机械子系统出现了严重的问题。E4(228)断电返回计数 Power-Off Retract Cycle数据值累计了磁头因设备意外断电而自动返回的次数,与(C0)项相似。E6(230)GMR磁头振幅 GMR Head Amplitude磁头“抖动”,即正向/反向往复运动的距离。E7(231)温度 Temperature温度的数据值直接表示了硬盘内部的当前温度,与(C2)项相同。 E7(231)剩余寿命 SSD Life Left剩余寿命是基于P/E周期与可用的备用块作出的预测。新硬盘为100;10表示PE周期已到设计值,但尚有足够的保留块;0表示保留块不足,硬盘将处于只读方式以便备份数据。E8(232)寿命余量 Endurance Remaining寿命余量是指硬盘已擦写次数与设计最大可擦写次数的百分比,与(CA)项相似。 E8(232)预留空间剩余量 Available Reserved Space(Intel芯片)对于Intel的SSD来说,前边05项提到会保留一些容量来准备替换损坏的存储单元,所以可用的预留空间数非常重要。当保留的空间用尽,再出现损坏的单元就将出现数据丢失,这个SSD的寿命就结束了。所以仅看05项意义并不大,这一项才最重要。这项参数可以看当前值,新的SSD里所有的预留空间都在,所以是100。随着预留空间的消耗,当前值将不断下降,减小到接近临界值(一般是10)时,就说明只剩下10%的预留空间了,SSD的寿命将要结束。这个与(B4)项相似。E9(233)通电时间累计 Power-On Hours对于普通硬盘来说,这一项与(09)相同。 E9(233)介质磨耗指数 Media Wareout Indicator(Intel芯片)由于固态硬盘的擦写次数是有限的,当到达一定次数的时候,就会出现大量的单元同时损坏,这时候预留空间也顶不住了,所以这项参数实际上表示的是硬盘设计寿命。Intel的SSD要看当前值,随着NAND的平均擦写次数从0增长到最大的设计值,这一参数的当前值从开始的100逐渐下降至1为止。这表示SSD的设计寿命已经终结。当然到达设计寿命也不一定意味着SSD就立即报废,这与闪存芯片的品质有着很大的关系。注:Total Erase Count全擦写计数是指固态硬盘中所有块的擦写次数的总和,不同规格的NAND芯片以及不同容量的SSD,其最大全擦写次数均有所不同。F0(240)磁头飞行时间 Head Flying Hours / 传输错误率 Transfer Error Rate(富士通)磁头位于工作位置的时间。 富士通硬盘表示在数据传输时连接被重置的次数。F1(241)LBA写入总数 Total LBAs WrittenLBA写入数的累计。 F1(241)写入剩余寿命 Lifetime Writes from Host自硬盘启用后主机向硬盘写入的数据总量,以4个字节表示,每写入64GB字节作为一个单位。F2(242)LBA读取总数 Total LBAs ReadLBA读取数的累计。某些SMART读取工具会显示负的数据值,是因为采用了48位LBA,而不是32位LBA。 F2(242)读取剩余寿命 Lifetime Reads from Host自硬盘启用后主机从硬盘读取的数据总量,以4个字节表示,每读取64GB字节作为一个单位。FA(250)读取错误重试率 Read Error Retry Rate从磁盘上读取时出错的次数。FE(254)自由坠落保护 Free Fall Protection现在有些笔记本硬盘具有自由坠落保护功能,当硬盘内置的加速度探测装置检测到硬盘位移时,会立即停止读写操作,将磁头臂复位。这个措施防止了磁头与盘片之间发生摩擦撞击,提高了硬盘的抗震性能。这个参数的数据里记录了这一保护装置动作的次数。本文选自 >>>>https://www.cnblogs.com/xqzt/p/5512075.html>>> 镁光 >>>https://www.micron.com/-/media/client/global/documents/products/technical-note/solid-state-storage/tnfd22_client_ssd_smart_attributes.pdf>>>
2022年11月26日
13 阅读
0 评论
0 点赞
2022-11-19
A62完整复制品
德累斯顿艺术馆A62藏品完整复制品德语介绍翻译:使用真实性水平延伸到使用热处理的“弹簧”钢和23克拉镀金配件和装饰复制基于奥格斯堡的洛伦茨·赫尔姆施米德于 1485 年为蒂罗尔州西吉斯蒙德大公制作的原件,代表了15世纪后期德国盔甲师技能的巅峰之作 原网站已经无法正常访问,这里提供一个互联网档案馆的存档(需要科学上网)传送到历史页面 网站快照:
2022年11月19日
6 阅读
0 评论
0 点赞
2022-11-19
C#读写txt文件
C#下读写txt文本文件,库文件之类的在开发工具包里面都帮你自动集成了,不需要再去自己制作库Windows 10系统下面支持五种编码方式:ANSI,UTF-8,UTF-16LE,UTF-16BE,UTF-8 BON一般情况下,Windows默认的编码保存方式为ANSI,UTF8需要手动另存为编码方式。ANSI编码代表GB2312编码,储存中文字符串可以使用这个C#一次性读取一个txt文件的所有内容,并使用messagebox输出 string Read_Text=File.ReadAllText("xxx.txt"); /*带编码方式读取文本文件*/ string Read_Text=File.ReadAllText("xxx.txt", Encoding.ASCII); string Read_Text=File.ReadAllText("xxx.txt", Encoding.UTF-8); MessageBox.Show(Read_text);读取文件内容里面所有行,返回数组 string[] Read_All_Lines=File.ReadAllLines("xxx.txt"); //带编码方式读取文件 string[] Read_All_Lines=File.ReadAllLines("xxx.txt", Encoding.ASCII); 写入文本文件 string Write_Text="Test_Write_Text"; File.WriteAllText("xxx.txt", Write_Text); //此方法重复写入会覆盖之前的文件,下方使用代码与上方一样,WriteAllText的方式会覆盖文件 //设置写入编码方式 File.WriteAllText("xxx.txt", Write_Text, Encoding.UTF-8);删除一个txt文件 File.Delete("xxx.txt");数组的方式写入txt文件string[] Write_Text={"Line1","Line2","Line3","Line4"}; File.WriteAllLines("xxx.txt", Write_Text, Encoding.ASCII); 本网站参考博文 https://www.cnblogs.com/eniac12/p/4398310.html
2022年11月19日
9 阅读
0 评论
0 点赞
2022-11-17
詹姆斯韦伯照片集
暂无简介
2022年11月17日
8 阅读
0 评论
0 点赞
2022-11-16
vsftpd设置虚拟用户登录
安装vsftpd 和ftp以及需要用到的环境yum -y install vsftpd ftp nano创建用户文件cd /etc/vsftpd/ nano vuser.txt #输入下面的内容 ftpuser1 123456 ftpuser2 123456 Guest Guest #转换此文件为数据库文件 db_load -T -t hash -f vuser.txt vuser.db #编辑vsftpd的认证文件 nano /etc/pam.d/vsftpd #因为是配置的虚拟用户登录,需要加入下面两行 auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser #设置本地用户并设置主用户目录权限 useradd -d /home/vftproot -s /sbin/nologin vuser chmod 755 /home/vftproot贴出我的配置文件(vsftpd.conf)是我这个方式做的就跟我的配置文件走# Example config file /etc/vsftpd/vsftpd.conf # # The default compiled in settings are fairly paranoid. This sample file # loosens things up a bit, to make the ftp daemon more usable. # Please see vsftpd.conf.5 for all compiled in defaults. # # READ THIS: This example file is NOT an exhaustive list of vsftpd options. # Please read the vsftpd.conf.5 manual page to get a full idea of vsftpd's # capabilities. # # Allow anonymous FTP? (Beware - allowed by default if you comment this out). anonymous_enable=NO # # Uncomment this to allow local users to log in. # When SELinux is enforcing check for SE bool ftp_home_dir local_enable=YES # # Uncomment this to enable any form of FTP write command. write_enable=YES # # Default umask for local users is 077. You may wish to change this to 022, # if your users expect that (022 is used by most other ftpd's) local_umask=022 # # Uncomment this to allow the anonymous FTP user to upload files. This only # has an effect if the above global write enable is activated. Also, you will # obviously need to create a directory writable by the FTP user. # When SELinux is enforcing check for SE bool allow_ftpd_anon_write, allow_ftpd_full_access #anon_upload_enable=YES # # Uncomment this if you want the anonymous FTP user to be able to create # new directories. #anon_mkdir_write_enable=YES # # Activate directory messages - messages given to remote users when they # go into a certain directory. dirmessage_enable=YES # # Activate logging of uploads/downloads. xferlog_enable=YES # # Make sure PORT transfer connections originate from port 20 (ftp-data). connect_from_port_20=YES # # If you want, you can arrange for uploaded anonymous files to be owned by # a different user. Note! Using "root" for uploaded files is not # recommended! #chown_uploads=YES #chown_username=whoever # # You may override where the log file goes if you like. The default is shown # below. #xferlog_file=/var/log/xferlog # # If you want, you can have your log file in standard ftpd xferlog format. # Note that the default log file location is /var/log/xferlog in this case. xferlog_std_format=YES # # You may change the default value for timing out an idle session. #idle_session_timeout=600 # # You may change the default value for timing out a data connection. #data_connection_timeout=120 # # It is recommended that you define on your system a unique user which the # ftp server can use as a totally isolated and unprivileged user. #nopriv_user=ftpsecure # # Enable this and the server will recognise asynchronous ABOR requests. Not # recommended for security (the code is non-trivial). Not enabling it, # however, may confuse older FTP clients. #async_abor_enable=YES # # By default the server will pretend to allow ASCII mode but in fact ignore # the request. Turn on the below options to have the server actually do ASCII # mangling on files when in ASCII mode. The vsftpd.conf(5) man page explains # the behaviour when these options are disabled. # Beware that on some FTP servers, ASCII support allows a denial of service # attack (DoS) via the command "SIZE /big/file" in ASCII mode. vsftpd # predicted this attack and has always been safe, reporting the size of the # raw file. # ASCII mangling is a horrible feature of the protocol. #ascii_upload_enable=YES #ascii_download_enable=YES # # You may fully customise the login banner string: #ftpd_banner=Welcome to blah FTP service. # # You may specify a file of disallowed anonymous e-mail addresses. Apparently # useful for combatting certain DoS attacks. #deny_email_enable=YES # (default follows) #banned_email_file=/etc/vsftpd/banned_emails # # You may specify an explicit list of local users to chroot() to their home # directory. If chroot_local_user is YES, then this list becomes a list of # users to NOT chroot(). # (Warning! chroot'ing can be very dangerous. If using chroot, make sure that # the user does not have write access to the top level directory within the # chroot) chroot_local_user=YES #chroot_list_enable=YES # (default follows) guest_enable=YES guest_username=vuser #chroot_list_file=/etc/vsftpd/chroot_list # # You may activate the "-R" option to the builtin ls. This is disabled by # default to avoid remote users being able to cause excessive I/O on large # sites. However, some broken FTP clients such as "ncftp" and "mirror" assume # the presence of the "-R" option, so there is a strong case for enabling it. #ls_recurse_enable=YES # # When "listen" directive is enabled, vsftpd runs in standalone mode and # listens on IPv4 sockets. This directive cannot be used in conjunction # with the listen_ipv6 directive. listen=YES # # This directive enables listening on IPv6 sockets. By default, listening # on the IPv6 "any" address (::) will accept connections from both IPv6 # and IPv4 clients. It is not necessary to listen on *both* IPv4 and IPv6 # sockets. If you want that (perhaps because you want to listen on specific # addresses) then you must run two copies of vsftpd with two configuration # files. # Make sure, that one of the listen options is commented !! listen_ipv6=NO pam_service_name=vsftpd userlist_enable=YES tcp_wrappers=YES allow_writeable_chroot=YES 注意:如果你的/etc/vsftpd/user_list文件不存在,那你需要注释vsftpd文件倒数几行中间的userlist_enable=YES 改成userlist_enable=NO(黑白名单),或者在/etc/vsftpd/下面创建user_list文件并写上黑名单用户,(报错代码:530)重启vsftpd服务systemctl restart vsftpd
2022年11月16日
40 阅读
0 评论
2 点赞
2022-11-14
分享一个EVE-NG镜像库
我的新网盘是基于的Aliyun盘,内置了EVE-NG文件库,需要的可以下载,我个人收集的 >>跳转地址>>>>> 密码是
[email protected]
2022年11月14日
10 阅读
0 评论
0 点赞
2022-11-11
微软太空望远镜web版
暂无简介
2022年11月11日
24 阅读
0 评论
0 点赞
2022-11-10
哥特式装甲部位分解-网页快照
暂无简介
2022年11月10日
9 阅读
0 评论
0 点赞
2022-11-10
马克西米利安装甲-维基百科快照
暂无简介
2022年11月10日
4 阅读
0 评论
0 点赞
2022-11-10
格林威治装甲-维基百科快照
暂无简介
2022年11月10日
5 阅读
0 评论
0 点赞
2022-11-08
记录一次网络无缝修改
接前几次从海鲜市场收购的一台路由器开始传送门 >穿越>>>>> 网络还需要挂CDN业务(CDN业务是一条20M的电信专线和一条1000M的电信家宽),所以需要一台iKuai软路由开NAT1(假如MikroTik有NAT1,我根本不会用iKuai这种烂路由)安装过程设置上网省略,MikroTik部分的基本操作 PPPoE接口-Firewall设置snat+masquerade-设置DHCP服务器-设置ip-pool范围RouterOS的设置方法教程跳转 >>穿越过去>>>> 设置iKuai上网(过程省略)直接跳到接口部分iKuai使用两个LAN接口,一个LAN接口和MikroTik一个段,另外一个LAN接口是iKuai的内网接口(用于PCDN服务和VPN服务) RouterOS的LAN接口地址为10.0.0.1(没什么可以截图的,就不截图了) RouterOS设置一条去iKuai CDN段和VPN段的静态路由/ip route add distance=1 dst-address=192.168.27.0/24 gateway=10.0.0.9iKuai返回就不需要设置静态路由了,因为iKuai自动添加了一条默认路由安装一台CentOS7的容器并设置192.168.27.20 的IP地址,安装SoftEther VPN(VPN功能)安装SoftEthercd / && yum -y install epel-release wget gcc zlib-devel openssl-devel readline-devel ncurses-devel \ && wget https://github.com/SoftEtherVPN/SoftEtherVPN_Stable/releases/download/v4.39-9772-beta/softether-vpnserver-v4.39-9772-beta-2022.04.26-linux-x64-64bit.tar.gz \ && tar -xvf softether-vpnserver-v4.39-9772-beta-2022.04.26-linux-x64-64bit.tar.gz \ && rm -rf softether-vpnserver-v4.39-9772-beta-2022.04.26-linux-x64-64bit.tar.gz \ && cd vpnserver/ && make && make install && ./vpnserver startWindows SoftEther Server Download {dotted startColor="#ff6c6c" endColor="#1989fa"/}安装完之后使用SoftEther Server Manager管理服务器Windows x86 Download MacOS x86 Download {dotted startColor="#ff6c6c" endColor="#1989fa"/}配置ZeroTier(SD-WAN)CentOS7curl -s https://install.zerotier.com | sudo bash #开启GPG curl -s 'https://raw.githubusercontent.com/zerotier/ZeroTierOne/master/doc/contact%40zerotier.com.gpg' | gpg --import && \ if z=$(curl -s 'https://install.zerotier.com/' | gpg); then echo "$z" | sudo bash; fi #启动ZeroTier并设置开机自启 systemctl enable zerotier-one.service && systemctl start zerotier-one.service #加入NetWork zerotier-cli join [你的Network ID] && systemctl restart zerotier-one.serviceiKuai配置端口映射,映射SoftEther服务器的4500 500 UDP到公网(如果是启用L2TP/IPSec),如果是单纯的用TCP端口那就用常用的TCP端口连接到Softether;SoftEther用桥接到服务器网络的方式进行互联(OpenVPN就开启UDP 1194,L2TP开启UDP 1701)域名解析什么的就自己处理,这个我觉得没必要教;RouterOS再设置一条静态路由到ZeroTier上/ip route add distance=2 dst-address=192.168.192.0/24 gateway=10.0.0.9iKuai再设置一条静态路由目标网络是192.168.192.0/24 网关是192.168.27.20 解释:192.168.192.0是我的ZeroTier网段,你的ZeroTier网段以你的为准 ZeroTier配置好之后开启Linux的路由功能systemctl enable firewalld && systemctl start firewalld touch /usr/lib/sysctl.d/sysctl.conf && echo "net.ipv4.ip_forward=1">> /usr/lib/sysctl.d/sysctl.conf && sysctl -p firewall-cmd --permanent --zone=public --add-port=4500/udp firewall-cmd --permanent --zone=public --add-port=500/udp firewall-cmd --permanent --zone=public --add-port=5555/tcp firewall-cmd --permanent --zone=public --add-port=22/tcp route add -net 0.0.0.0/0 gw ZeroTier网络地址(下面假设是192.168.2.1) firewall-cmd --reload #在ZeroTier网络出口设置一个路由出口 firewall-cmd --permanent --zone=public --add-masquerade firewall-cmd --direct --permanent\ --add-rule ipv4 filter INPUT 0 \ --in-interface [Zerotier接口名称] --protocol vrrp -j ACCEPT firewall-cmd --reload
2022年11月08日
11 阅读
0 评论
0 点赞
2022-11-08
Linux服务器下安装x11并设置x11转发
实验环境CentOS7.9 LXC(LXC速度快)安装x11命令yum -y install epel-release && yum -y install xorg-x11-xauth nano /etc/ssh/sshd_config #删除下面几行前面的#号 AllowTcpForwarding yes X11Forwarding yes X11DisplayOffset 10 X11UserLocalhost yes #然后重启sshd systemctl restart sshd 然后在SSH工具中间开启X11,在MobaXterm中间,是默认开启X11的 连接SSH之后启动需要用到x11的软件即可
2022年11月08日
4 阅读
0 评论
0 点赞
2022-11-08
测试文章
测试文章
2022年11月08日
8 阅读
0 评论
0 点赞
2022-11-08
Gothic 15th century helmet and sabatons
暂无简介
2022年11月08日
8 阅读
0 评论
0 点赞
2022-10-31
测试
暂无简介
2022年10月31日
15 阅读
0 评论
0 点赞
2022-10-29
MikroTik路由器开启WLAN功能
前阵子收了个MikroTik路由器,删除密码啥的用了很长时间;在开启Wieless的时候查资料发现很多人说RB2011的Wireless基本上开不起来,原因是官方的固件有bug(据称6.x系列的固件有bug)开不起来Wireless功能我的观点,Wireless功能是可以正常开启的,只是开启的方式并不对,我实验的固件是6.48.7,开启Wireless是正常开启状态;开启过程导航栏选择Wireless(和Quick Set的设置方法一致,此处可以代替Quick Set)Mode选择 AP Bridge(其他的是没有办法启动Wireless的,必须启动桥接AP)Band 选择2GHz-B/G/N (这个看情况而定,我这个是老款,仅支持2.4GHz,尽量选协议多的,Only会造成不支持的设备无法连接Wireless)Channel Width是信道宽度,当然这里有eC和Ce还有XX,等会我详解一下,我选择的是20/40MHz eCFrequency 是选择的信道,我选择2472MHzSSID 是你的Wireless的名称或者说是你的WiFi名称,默认的名称是MikroTik,你可以改你自己的(注意,这个不能改中文名称)下面除了Country选择China以外,其他的则选择默认参数在Quick Set下面设置Wireless的密码设置好之后没有结束,因为这个Wireless是不能正常获取到IP地址的,必须要手动加入到你当前的网络内(RB2011需要自己手动开启交换机模式,不然的话还是要自己手动设置一个DHCP池,单独的DHCP服务器对应Wireless设备)我是把除了PPPoE接口以外,其他的接口都放进了一个Bridge里面,命名Bridge1(其实就是做了个交换机功能)把Wireless 1加入到这个Bridge1接口,等于把无线功能划分到了同一个交换机下现在可以直接做测试,看看能不能通过Wireless获取到IP地址获取到了地址,在一开始的时候刚加入到Bridge1里面,这个WLAN1接口是被禁用的(因为是没有设备来连接,所以默认这个接口是被disable,所以需要一个设备连接上这个WLAN1,连接之后disable port状态就变成了 designated port,当断开连接之后接口名称又变成了disable port(没有影响)下面解释一下什么叫eC Ce,这个设置一般情况下,家用路由器不需要设置这个,因为家用路由器会自动选择eC和Ce模式,根据用户选择的信道会自动选择模式,MikroTik是要用户选择信道模式,eC比如用户设置最高的频道是2450MHz,那么这个信道的范围最高是2450MHz,信道宽度是20MHz,那么这个信道范围是2430MHz-2450MHz;如果选择Ce模式那么就是指信道范围的最低点是2450MHz,信道的范围就是2450MHz-2470MHz上面解答的官方论坛参考文献:点击跳转官方没有解答XXX是什么意思,此设置是在6.48.1 RC版出现,官方没有给明确解答
2022年10月29日
16 阅读
0 评论
0 点赞
2022-10-18
RB2011升级固件,RB2011刷机
在某鱼买了一台RB2011的路由器回来,(200¥),到手上发现有密码,没有办法直接用;问卖家得到的回答是帮朋友出的,不知道密码是多少,也不知道接口哪些有用哪些没用的;一直进不去,网上说要按resert按键重新刷入固件,然后RB2011的resert按键我找不到(机器上也没有标明resert按键);百度半天也没找到RB2011的resert按键在哪,直到有个文章说RB2011的按键要拆机才能看见,我就拆了个机,然后神奇的事情发生了resert按钮是有的,只是这个按钮没有标,主板上标注了按钮的位置(乐坏了)刷固件之前需要下载一些东西:下载固件,netinstall工具;Netinstall下载 固件看你自己的设备类型,我的RB2011是MIPSBE,用6.48.8固件(不知道看你的设备类型是什么,就上RouterOS的产品库搜索你的设备型号,知道你的系统类型)RB2011固件下载然后打开Netinstall,设置你的监听地址为同网段下的地址(不能和本机IP相同,网上很多方法都是说相同没有问题,这个就扯淡,官方文档里面写的很清楚,不可以相同),开启监听RB2011的恢复方法和网上的大有出入,并不是什么开机前就按住不动,也不是什么按住的瞬间开机(扯淡),真正的方法是网线插在ETH1上,通电之后亮屏一秒内按住resert按键,路由器的显示器会(自带的LCD)弹出恢复模式;在电脑上用MikroTik的netinstall工具里面就会显示你的MikroTik设备;选择你固件的路径,选中固件,然后点击install,紧接着就跑条跑完条之后路由器会自动重启,重启之后显示屏会提示你没有密码,让你自己设置一个密码不必理会,直接用WinBox登录进去,然后再设置密码,设置完密码你的RB2011就搞定了
2022年10月18日
69 阅读
0 评论
0 点赞
2022-10-12
Excel动态计算含有某个字符串的数量,统计某个字符串数量的百分比
由标题的需求可得前半部分的需求需要使用一个函数,后半部分需要使用两个函数前半段需要使用的函数=COUNTIF(C2:F2,"√")(计算C2-F2的范围内含有的“√”的数量)演示:后半段需要配合COUNTA函数(计算某个范围有多少个框)比如接上面的方法,中间加一个X,计算√的百分比=COUNTIF(C2:F2,"√")/COUNTA(C2:F2)需要设计计算的单元格模式为百分比,如果不设置需要用下面的公式=((COUNTIF(C2:F2,"√")/COUNTA(C2:F2))*100)&"%"(而且需要保留两位小数,不然会有一串小数)
2022年10月12日
8 阅读
0 评论
0 点赞
2022-10-11
Typecho更换数据库类型
Typecho从SQL Lite迁移到MariaDB(MySQL)网上大多数教程都没有用,本人网站今天数据库从SQL Lite3无损迁移到MariaDB(因为网站架构升级了一下,四台Web服务器一台SQL服务器负载集群),这里需要用到的工具有Navicat 15(破解版还是正版都可以,软件我不提供)第一步先创建一个空数据库,网站本体上传到服务器上(宝塔面板,AppNode,还是手动都适用此方法);删除config.inc.php(觉得自己行的话可以选择不删除);复制网站/usr目录下的SQL Lite文件,使用Nvicat连接SQL Lite数据库;使用面板创建一个数据库(或者自己手动创建一个数据库),宝塔需要开启允许所有人访问此数据库,AppNode将允许的IP地址填上%,手动创建的自己体会吧;第二步,接上一步操作,浏览器直接打开Typecho的安装界面,配置MySQL/MariaDB数据库参数,并且安装网站(安装完之后什么都不要操作,也不要登录);打开Nvicat,连接网站的MySQL/MariaDB数据库(如果你一开始没设置所有IP连接会连接不上);迁移前需要确认两件事情:1、两个数据库的表前缀是不是一样的 2、需要一个清醒的脑子和一双眼睛分析Typecho的数据数据库结构,数据库的主要存储的文章,页面保存在Typecho_contents(前缀是Typecho_)用户表是Typecho_users;网站信息配置文件所在的位置是Typecho_options;栏目分类在Typecho_metas;网站的留言信息在Typecho_typecho_messages;如果你的网站启用了SMMS,那么你的SMMS插件的数据内容就在Typecho_smms_image_list;文章的静态生成id储存在Typecho_relationships;其他的基本上不重要,这些迁移就可以了;第三步,迁移文章和页面信息,SQL Lite数据库和MySQL PostgerSQL数据库的文章页面信息不一样,有字段上的区别,SQL Lite 的typecho_contents里面有个views字段,这个字段在MySQL MariaDB里面是不存在的,这里直接导出SQL Lite的typecho_contents数据表,导出向导选择csv导出成csv,下一步检查是不是导出的contents表(一般都都contents表),下一步取消views(补充一个agree也需要删除)导出全部取消勾选,在倒数第二行取消views字段,其他默认就好,最后一页点击开始导出成csv第四步,导出成csv之后呢在MySQL数据库导入新建的数据库;其他的导入方法均一致,没有需要删除的字段,只需要导出成csv再导入到MySQL MariaDB;第五步,安全问题,AppNode直接在防火墙面板关闭公网的3306端口,宝塔面板停用3306,使用手动方法的用firewalld,ufw,iptables等防火墙软件关闭公网地址的3306端口即可(也可以重新建一个没公网访问的数据库)
2022年10月11日
6 阅读
0 评论
0 点赞
2022-04-13
Linux做路由器(篇四)静态路由配置
本篇是Linux做路由器主线的最后一篇,配置静态路由(包括默认路由)。-----------静态路由命令: route add -net 192.168.0.0/24 gw 10.0.0.1 [dev eth0]语法:route add -net 网段/掩码位 gw 下一条网关 [设备]静态路由命令2: route add -net 192.168.0.0 netmask 255.255.255.0 gw 10.0.0.1 [dev eth0]语法:route add -net 网段 netmask 子网掩码 gw 下一条网关 [设备]PS:设备名可以不加;实机演示:查看路由表: route----------默认路由命令: route add -net 0.0.0.0 netmask 0.0.0.0 gw 10.0.0.1语法其实就是把上面的网段和子网掩码换成0.0.0.0 其他不变默认路由命令2: route add default gw 10.0.0.1语法同上,这里就不讲了关于route add命令共有两种:-host -net-host 是路由单个主机,不需要指定掩码-net 是路由一个网段,需要指定一个掩码删除路由:就是将route add -xxx xxxx改成route del -xxx xxxx
2022年04月13日
14 阅读
0 评论
0 点赞
2022-04-06
用Linux做路由器(篇三)端口NAT+ACL
因为xxx原因吧,这里断更了接近半个月,现在做篇三,静态NAT和防火墙的功能;静态NAT可以用两种办法实现,一个是firewalld的方式,一个用的是DNAT的方式(两个方法使用场景一致,firewalld的方法只适用于静态IP的场景,DNAT的方式也只能适用于静态IP的方式;至于公网地址的方法我会在扩展中间讲到)使用iptables的端口转发做一个操作(需要用到DNAT)现在写个DNAT的方式iptables -t nat -A PREROUTING -p tcp -m tcp --dport 60000 -j DNAT --to-destination 192.168.199.22:22 /etc/init.d/iptables save service iptables restart这个是通过公网的方式访问内网的测试机,内网的测试机提前开好了SSH(安装了SSH并且启动了)安装了SSH,下面我在我的笔记本上ssh测试路由器上的60000端口是不是我这台manjaro可以看见路由器的IP+60000端口就使用ssh连接上了这个内网的测试机上面的iptables命令解析iptables -t nat -A PREROUTING -p tcp -m tcp --dport 路由器端口 -j DNAT --to-destination 内网设备IP:内网端口ACL的实现方法这里不讲扩展ACL和ACL,因为运营商路由不归我们管,只能用路由禁止出站流量下面我屏蔽一个114.114.114.114 DNS(至于114DNS的成分不用我多说吧?)内网设备测试114能不能DNS请求 nslookup baidu.com 114.114.114.114可以DNS请求到下面使用这个命令对114.114.114.114封禁DNS功能 iptables -A FORWARD -s 192.168.199.0/24 -p udp --dport 53 -m state --state NEW -j DROP iptables -A FORWARD -s 192.168.199.0/24 -p tcp --dport 53 -m state --state NEW -j DROP /etc/init.d/iptables save service iptables restartDNS请求是53端口(53UDP 53TCP)所以这里直接封禁TCP53和UDP53PS:需要在iptables的NAT表内使用FORWARD禁用,不能使用FITTER表(因为fitter表封禁的是本机地址,如果是NAT转换的地址段需要在NAT表内封禁)测试我自己的站和baidu.com能不能被nslookup到图片可以看到,114DNS无法解析,封禁了114DNS的53 TCP和UDP端口下面放一些资料文章,感兴趣的可以看看:端口转发iptables资料1iptables资料2iptables资料3iptables管理NAT表Manjaro切换国内源
2022年04月06日
22 阅读
0 评论
0 点赞
2022-03-22
用Linux做路由器(篇二)设置路由模式+动态NAT
路由器最基本的要求就是NAT和路由这两个功能。首先就是把网关地址配置好(DHCP服务器和网关可以是同一个也可以是不同的)vim /etc/sysctl.conf首先配置路由转发,把 net.ipv4.ip_forward = 0改成 net.ipv4.ip_forward = 1允许路由之后就更新sysctl并重启网络服务 sysctl -p && service network restart设置完了之后直接就可以设置内部的IP段转发到PPP0接口(用防火墙命令转发)首先初始化防火墙的一些命令 iptables -P INPUT ACCEPT iptables -P FORWARD ACCEPT iptables -P OUTPUT ACCEPT iptables -F iptables -t nat -A POSTROUTING -s 192.168.199.0/24 -j MASQUERADE #动态伪装,适合PPPoE的宽带 /etc/init.d/iptables save之后直接重启防火墙 service iptables restart因为我设置的DHCP网卡是ETH2,对应的主机网卡是VMNet2,也就是说我需要新建一个虚拟机使用VMNet2网卡我这里用Manjaro新建一个Live光盘启动的虚拟机。然后设置成VMNet2直接开机进入系统(不需要安装)然后打开控制台输入ip add,查看本机的IP地址是多少地址是192.168.199.22,现在试着ping一下8.8.8.8 Google DNS看看,能不能正常ping通可以ping通,但是TTL应该是被挟持了,看延迟就能知道这个确定是通的地址,下面我直接访问在在上面的一台路由器,这台路由器的IP地址是10.0.0.21,手动敲的Linux路由器的地址是10.0.0.85,和模拟的客户机不在一个网段(但是解释不清楚,我用实验说明一下结果)下面直接验证一下是不是用NAT访问的访问上了,并且我添加了一条防火墙规则,我等会在我笔记本上登录路由器的后台,来查看是不是10.0.0.85访问了这台路由器并且添加了规则看到了路由器日志,确实是10.0.0.85访问了这台路由器为了增加可信度,我贴出路由器ping客户机的截图实验结果:路由动态NAT成功
2022年03月22日
15 阅读
0 评论
0 点赞
2022-03-20
讲解机械硬盘的工作原理以及一些你不知道的东西(下篇)
上篇是一个月前写的,后面因为一直在做实验,所以就一直没做下篇下篇就讲很浅关于数据恢复的东西。常用的数据恢复软件,ACELab的PC3000(以下称为C3K);国产MRTLab的MRT大概就这两种比较常见的数据恢复软件99%的配图我都没有,因为我没有MRT或者C3K这些数据恢复的硬件还有授权,(半套房的东西);首先讲机械硬盘的工作状态,很多人都知道是在内部高速旋转的(确实),然后几个浮动在表面的磁头在盘片上读取数据,其实这个磁盘的表面全部都是磁粉,通过磁头这个电磁铁磁化表面的磁粉;众所周知,磁铁拥有N级和S级,可以代表二进制数0 1,通过电磁铁的通电方向来改变磁盘表面的小磁铁的方向,来确定0 1。但是0 1怎么表示的我这里做个实验;我先创建一个记事本,左边写中文,右边写上英文。用WinHex打开,查看Hex这是保存在硬盘的Hex解析成的16进制数据E6B58BE8AF950D0A6365736869 这里用Windows的计算器计算出二进制数因为长度问题,只能写一半不到的Hex,这个是Hex值转换为二进制。我直接删除后面几个英文字母的Hex,然后再新建一个文件,大小为20字节(两个中文字最多4个字节)然后把E6B58BE8AF95再复制进去,保存到桌面,用Notepad++打开这个文件,能看到之前手动输入的E6B58BE8AF95变成了两个中文字:后面的NULL是因为之前创建的文件大小是20字节,也就是说有16字节是空的,空的怎么表示呢?就用NULL来表示空的字节数(因为这个文件就占用20个字节)这个就先丢这吧,差不多就是这样存储的。下面讲解一下机械在什么情况下能恢复数据:主控完好,固件完好,MFT文件完好(其中还要包括盘片完好,如果盘片损坏了基本上无望)因为很多东西都在上篇里面讲完了,下面真的没什么可以讲了,后面我在云盘里面放入一些关于分区表的资料。参考资料1:NTFS分区表记录
2022年03月20日
9 阅读
0 评论
0 点赞
2022-03-19
用Linux做路由器(篇一)PPPoE篇+DHCP
我相信很多人不知道路由器其实是基于的Linux内核(大多数都是,有部分是基于的BSD);Linux原生就可以做路由器用,这个其实不稀奇,这里讲Linux做路由器的篇一文章,PPPoE+DHCP配置。(然后还有群友说vxworks,那我就把vxworks也加上去吧)p:三次筛查Linux版本不限,我就用CentOS6做路由器吧。CentOS6还是CentOS7都可以做,只是看个人喜好,我认为路由器用CentOS6完全够了用首先我创建一个PPPoE账号,用于等会的PPPoE的实验然后在CentOS6的界面配置一下网卡,这个很容易; cd /etc/sysconfig/network-scripts/ vi ifcfg-eth1 vi ifcfg-eth0onboot=no改成yes,等会要用ssh配置的,所以先开一下内网的接口(新的路由器不也是在内网配置的)然后重启,获取到地址之后在ssh配置剩下的操作。如果CentOS6需要的软件没有的话还需要换成CentOS-Valut源才可以正常安装软件。配置完Valut源后安装pppoe和ppp软件 yum -y install rp-pppoe ppp我安装的是PPPoE 3.10查看版本: pppoe -V [root@localhost ~]# pppoe -V Roaring Penguin PPPoE Version 3.10紧接着设置接口0,就是PPPoE的那个接口 pppoe-setup第一是用户,输入你的PPPoE账号第二是网卡接口,默认是eth0,我设置的也是eth0接口为PPPoE接口第三不知道是什么东西,就默认第四和第五分别是主DNS和备DNS,主DNS设置223.5.5.5,备DNS设置223.6.6.6(如果是宽带的话需要查看DNS服务器,江苏电信的DNS是主:218.4.4.4备用218.6.6.6)注意:真实情况下不需要手动设置DNS,如果手动设置DNS后无法拨号的话就删除ppp0接口的配置信息;删除pppoe配置命令 rm -rf /etc/sysconfig/network-scripts/ppp0第六是输入密码,输入你的PPPoE密码第七是确认你之前输入的密码第八普通人能不能断开DSL的连接,选yes第九是介绍两种模式,0是不设置任何东西,需要自己保证安全性。1是独立机的意思,适用于独立工作站,一般是只有一台机器需要拨号上网的时候使用。2是充当连接上网的网关模式,但是这里建议按0(初学者建议0,因为2的话会出现别的问题,比如重启后无法连接服务器)第十是设置下一次启动的时候使用这个配置文件,这里填写yes第十一是保存当前的配置文件,还有下面是保存配置文件的位置下面是配置的全过程,总共十步。因为重新启用了防火墙,所以需要到服务器上放行22端口(不放行也不能开启SSH)PS:如果之前是设置的0,此步骤可以忽略 iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT service iptables save service iptables restart放行了22之后再用SSH连接服务器然后输入pppoe-start启动PPPoE服务器查看服务器获取的IP ifconfig下面会出现一个ppp0的虚拟接口,并且已经获取到了一个IP地址;注意:这里的255.255.255.255是点对点传输的意思,不代表是子网掩码的意思。PPPoE到这里就结束了,下面配置DHCP服务器因为虚拟机在创建的时候是设置了三张网卡,所以这里用第三张网卡来设置DHCP服务器,当然你也可以用第二张网卡设置DHCP服务器的,没有限制。首先 vim /etc/sysconfig/network-scripts/ifcfg-eth2查看网卡的MAC地址,记录下来,等会需要用到DEVICE=eth2 HWADDR=00:0C:29:92:C0:7F TYPE=Ethernet UUID=fb488b7f-6258-4795-bfd4-f75ad091da28 ONBOOT=yes NM_CONTROLLED=yes BOOTPROTO=dhcp记得把ONBOOT改成yes,不然开机网卡的down的状态,那就不能分配地址了。然后我贴出我的DHCP配置文件,顺带解释一下DHCP文件是怎么回事 ddns-update-style interim; ignore client-updates; subnet 192.168.199.0 netmask 255.255.255.0 { #子网掩码和网段 range 192.168.199.1 192.168.199.200; #设置分发的范#围1-200(和起始地址是网关) option domain-name-servers 223.5.5.5,223.6.6.6; #设置DNS服务器,可以设置多台 option domain-name "local.dkm.cn"; #设置域名(这一栏可以不要) option routers 192.168.199.1; #指定设备的网关地址是多少,网关地址可以自定义 option broadcast-address 192.168.199.255; #这个是广播地址 default-lease-time 600; #地址默认租期 max-lease-time 7200; #地址最大租期 } #后面需要设置dhcpd配置文件的用户所有者 vim /etc/init.d/dhcpd #设置里面的 user=dhcpd group=dhcpd #改为 user=root group=root #上面的不改,root用户无法启动dhcpd服务; #设置eth2接口的IP地址 ifconfig eth2 192.168.199.20 netmask 255.255.255.0 #设置完IP地址后重启网络服务 service network restart #然后就设置eth2接口为启用dhcp服务的接口 dhcpd -cf /etc/dhcp/dhcpd.conf eth2 #下面就重启DHCP服务器; service dhcpd restart现在重启完成了,下面查看本机和这个虚拟机网卡同一层下的IP是不是获取到了。很显然,已经获取到了地址;DHCP服务器配置成功。下期预告,设置外网访问内网的设备,有两种方式:一是NAT,二是iptables转发,顺便再把动态NAT配置一下。
2022年03月19日
31 阅读
0 评论
1 点赞
2022-02-26
这期就写个把系统装进iSCSI的教程吧
首先这里给几个常用的iSCSI的软件,FreeNAS(TureNAS Core),OMV(OpenMediaValut),群晖如果是有机架式机器的同志建议用FreeNAS(TureNAS Core)其他的两个版本可能缺少部分驱动(比如HBA卡驱动);在教程里面也是使用的TureNAS Core。TureNAS Core目前最新版本点我下载安装过程省略,这里直接进入设置的方法创建一个iSCSI的存储块添加认证方式为NONE将启动器设置为允许所有启动器创建一个用户等会会用到添加一个iSCSI磁盘,等会就会用到设置物理块将iSCSI和物理块绑定下面新建一个虚拟机,用于安装到iSCSI(部分过程省略)直接点击添加磁盘(注意网络有没有开启,没开启是无法连接的)然后点击下面的添加iSCSI对象输入IP地址,然后点击搜索(下面的认证方式需要改成CHAP,然后用户名和密码就是之前设置的)然后列表会显示这个磁盘,勾选并点击完成即可添加iSCSI磁盘然后勾选自动分区,并点击完成以安装操作系统因为无盘需要硬件支持,对于虚拟机这种不支持iSCSI的网卡可能会出现问题,例如:须知:做无盘系统需要网卡支持iSCSI启动才可以使用无盘启动;
2022年02月26日
8 阅读
0 评论
0 点赞
2022-02-16
讲解机械硬盘的工作原理以及一些你不知道的东西(上篇)
机械硬盘对于我们说是再平常不过的一个计算机硬件,工作原理不为我们所知;首先知道机械硬盘几个需要知道的东西,磁头、盘片、硬盘电机、主控、ROM磁头:磁头是硬盘工作时候最重要的一个部件,承载硬盘的读写数据功能,同时是最容易损坏的一个部件。盘片:盘片是存储数据的东西,硬盘磁头是对盘片进行读写操作。硬盘电机:这个我就不说了,这个都知道是干什么的。主控:字面意思(一种操作硬盘的芯片)ROM:存放硬盘序列号和型号的东西(不要说固件在ROM里面,想要刚的建议买个MRT或者PC3000回来玩玩)柱面、簇、扇区、磁道柱面:硬盘通常由重叠的一组盘片构成,每个盘面都被划分为数目相等的磁道,并从外缘的“0”开始编号,具有相同编号的磁道形成一个圆柱,称之为磁盘的柱面。簇:“簇”是 DOS 进行分配的最小单位。当创建一个很小的文件时,如是一个字节,则它在磁盘上并不是只占一个字节的空间,而是占有整个一簇。DOS 视不同的存储介质(如软盘,硬盘),不同容量的硬盘,簇的大小也不一样。簇的大小可在称为磁盘参数块(BPB)中获取。簇的概念仅适用于数据区。扇区:磁盘上的每个磁道被等分为若干个弧段,这些弧段便是磁盘的扇区。磁道:当磁盘旋转时,磁头若保持在一个位置上,则每个磁头都会在磁盘表面划出一个圆形轨迹,这些圆形轨迹就叫做磁道。这些磁道用肉眼是根本看不到的,因为它们仅是盘面上以特殊方式磁化了的一些磁化区,磁盘上的信息便是沿着这样的轨道存放的。相邻磁道之间并不是紧挨着的,这是因为磁化单元相隔太近时磁性会相互产生影响,同时也为磁头的读写带来困难。最后说的东西:固件固件存储在硬盘最内圈,内圈称为硬盘固件区,内圈损坏需要找一块同批次的硬盘来读取固件,并且用MRT和PC3000导入固件然后才可以读取这块硬盘的数据。至于SMR和CMR(PMR)这种硬盘的区别,请不要用缓存来辨别,或者用盘的厚度来辨别,用这种方式辨别的都是扯淡;辨别需要去查询对应的固件,是什么类型的硬盘是固件决定的,而不是缓存决定的(说缓存的都是谬论,完全是扯淡);首先,希捷ST4000VX007的CV13固件盘是CMR盘,但是缓存却是256M(请不要说企业盘的原因),希捷ST1000LMD035-1RK172 DM2固件是SMR磁盘,物理缓存芯片是16M,标称的128M缓存(确实是128M缓存),至于为什么是16M的芯片因为剩下的112M是借用的RAM空间,不信自己整个DM2固件版本的1RK172过来试试看,是不是借用的RAM当缓存。说句不好听的,现在的三家硬盘都是CMR和SMR混着卖的,SMR和CMR的区别就是固件,刷SMR就是SMR固件,CMR就是CMR固件,当然别想着能自己刷固件解决(首先是可以的)因为西数很多型号的盘都是混开的,基本上就是固件解决的,比如WDC 4000PURX-78AKYY0 这个固件版本是80.00B80,这个固件就是红盘改紫,根本查不到这块盘。当然正常的用户根本刷不了固件(别说PC3000可以刷)改是可以改的,但是只能到工厂改,没有对应的硬盘工具是改不了固件的(专修模式了解一下,是改不了的),至于清零盘是改的SMART信息,刷的SMART信息;新硬盘基本上都是做了串口锁,不返厂是刷不了固件的,不要尝试自己刷固件。读写磁盘:写入数据:先写入MFT再把数据写入盘片(MFT自己百度查)读取数据:先读取MFT再读取盘片MFT是一块硬盘最重要的地方,也是最容易损坏的,无时无刻都在读取MFT上篇结束
2022年02月16日
32 阅读
0 评论
0 点赞
2022-02-05
CentOS使用浮动IP让业务不停机--篇一
我相信很多人搞不清楚浮动IP这种东西是干什么的,浮动IP和正常的IP有什么区别?普通的IP就是一个单纯的IP地址,一机对一IP;浮动IP是可以多设备使用一个IP,这个IP不能是某一台机器的静态地址,必须是没有设备使用的IP地址。操作某台服务器,添加浮动IP:ip addr add 10.0.0.254/8 dev ens33:1 这个ens33是虚拟机网卡名称,ens33:1是设置的子接口IP(或者说这个是这个网卡的另外地址)格式:ip addr add [ip地址]/[掩码位] dev [网卡名称]:[子接口] 以此类推,其他服务器也是配置这个IP地址(这个IP地址不能是某个设备的地址)因为是昨晚做的测试,这里就放一些昨晚上的截图然后部署服务的时候就是在路由器上输入浮动IP地址端口,映射到出口IP地址(NAT还是用DMZ还是用端口映射都可以)这里需要用到Nginx搭建几个web服务器做测试(方便分辨是哪台服务器,这里就给每个服务器标好编号[一共八台])为了方便起见,这里用宝塔面板快速部署,通过web来编号,一台服务器一个编号,这里就展示一台服务器。配置完毕之后可以直接使用10.0.0.254访问到网页。网页随机分配,但是一台机器在一个时间段内只有一台服务器给他服务,超过时间段之后再次访问就是另外一台服务器服务;当然在一个服务器down之后,业务还是正常运行,比如我手动让一号服务器down,第一台服务器已经down了,但是服务依然正常,没有问题。这个一号是肯定访问不到了,如果需要数据库,那就是单独一台数据库服务器,不能数据库和网站在一起,每个网站服务器都使用同一个数据库服务器,静态资源用vSAN(SMB也可以)挂载到资源存放的目录,保证静态文件的同步;网站的文件每个服务器都同步,图片文件通过SMB或者vSAN服务器挂载,保证空间不会造成多少浪费。篇一就到这,篇二会在虚拟机里面挂Typecho,静态图片资源的挂载,以及多网站共数据库的操作。
2022年02月05日
5 阅读
0 评论
0 点赞
2022-01-20
Nginx负载均衡设置(我相信这样网站扛揍)
首先知道一下Nginx的功能有哪些反向代理,流量转发,伪静态流量转发支持转发TCP和UDP两种协议(默认转发TCP,UDP转发需要标识流量的类型是UDP)需要用到的软件(基于的SQL Lite,MySQL或者PostgerSQL也可以设置)WebDAV服务端软件(任意即可,看你想用什么)某WebDAV软件(Windows)Nginx(1.9.0版本以上)PHP(如果你网站不是PHP写的,这个可以不要)任意数据库引擎(看你用的是什么数据库)AppNode 或者宝塔面板(你也可以不用,这个不是强制的)一个图床(随便哪个)需要用到的服务器数量最低用四台服务器,建议全部挂上CloudFlare,并且安装Nginx(宝塔和AppNode也可以)整个过程中不需要用到反向代理,请悉知,任何网上的Nginx反向代理负载均衡均没有用,主站死掉其他跟着一起死。一台主控机不搭建网站,在两台从机上搭建网站,第四台机器用于存放数据库(数据库类型不限,只需要搭配软件使用罢了)此方法国内也可以用,当然没有数据库服务器也可以,购买xxx云的云数据库也无所谓(反正都是数据库)数据库连接的方式不建议使用域名,直接用IP连接;端口不使用常用端口,更改非标准端口。(防止被抓到服务器IP)文件放后台配置文件,不放前端(这个是对开发网站的开发者说的)实现的原理图IPS是CloudFlare,因为我没找到合适的图标表示CloudFlare,最后面的服务器是数据库服务器,不需要走CloudFlare或者解析DNS上去(防止DNS记录查到数据库的IP地址)实现过程首先先建第一个站点,配置好服务器的数据库连接,然后整站文件复制,丢进其他服务器配置网站,和域名(不要一个一个配置,可能连接不上数据库);设置每个节点的名称和服务器主机名:我这里假设是我网站服务器的主机名(确实是我现在用的主机名)hostnamectl set-hostname dkm.lswjs.us hostnamectl set-hostname dkm.ny.us hostnamectl set-hostname dkm.mam.us hostnamectl set-hostname dkm.xyt.us 数据库服务器设置转发端口(这样不需要更改数据库的端口号)firewall-cmd --add-port=3456/tcp --zone=public --permanent firewall-cmd --add-port=3456/udp --zone=public --permanent firewall-cmd --add-forward-port=port=3456:proto=tcp:toport=3306 --permanent firewall-cmd --add-forward-port=port=3456:proto=udp:toport=3306 --permanent firewall-cmd --reload 要开启端口才可以转发,不开端口是没有办法转发的,转发到3306端口(这是一个保护数据库的方法,至于为什么应该都知道的吧)。所有的网站都连接这个数据库服务器(如果有附件就需要用到WebDAV,挂载到上传附件的目录,实现多个服务器附件同步,都可以提取到附件)至于空间啥的,还是建议去用OneDrive做,然后用Cloudreve做WebDAV,这样的成本最低;国内可以用天翼云盘或者各大云厂商的对象存储(价格自己斟酌吧,那么贵);Nginx的负载均衡设置方法:下面是配置文件内容
2022年01月20日
5 阅读
0 评论
0 点赞
2022-01-18
游戏加速器的原理
游戏加速器的原理就不用我说了,也就转一下骨干网络直接的转线时间差(不是什么专线宽带的延迟低一点,这种就属于强词夺理);也不要试图反驳我说专线宽带延迟低,就这么说吧,专线宽带出国速度和普通宽带差不了多少。本人用过一段时间的AS4134(163Backbone Network)电信10M专线,出国延迟和普通家庭宽带差不了多少。亚服游戏大多数的服务器都在香港,新加坡,日本,韩国这些地方,我这里就有某个游戏的路由表,可以看看实际出去需要转多少线路:这是一个游戏服务器的其中一个IP地址(因为一个游戏的服务器不可能就一个,这里我用这个例举)从图中可以得知,这个游戏服务器在正常连接的时候会从163骨干网出去,再次转两个别的骨干网络,最终到达目标服务器;但是在香港就不会这么走;香港可能会走别的路由到目标,因为我们默认的路由都是从上海的163骨干网出口到美国的西雅图;直接玩美服游戏其实这样看不出什么区别,但是对于港服来说,默认不直接走国内到香港,会从上海出去走美国或者日本绕一圈,再到香港;区别就在这里,专线也一样,会走美国或者日本绕一圈到香港:看吧,走日本NTT绕了一圈到香港,还是香港的中国移动。所以游戏加速器能降低延迟的办法就是用CN2线路直达香港(CN2是什么自己百度),CN2线路直达香港,仅有出公网一点点延迟;除外还有IPLC,IEPL出国,这两种不过防火墙(目前来说,CN2的价格比IPLC和IEPL要贵不少)大多数游戏加速器还是用的CN2;(IEPL深港专线直达香港6ms)这上面是网络,下面讲怎么代理游戏游戏的数据包是第四层的UDP数据包,一般的SS SS5 vmess都是第五层会话层数据包,不能直接代理游戏,想要代理需要转换到比第四层低的层级才可以被代理。比如在本机创建一个虚拟网卡,像UU加速器和雷神加速器就是在电脑用软件创建一个虚拟网卡,通过Socket5代理转发数据包(SS5支持UDP和TCP)在国内的节点代表的就是在国内的中转香港CN2的服务器,一般都在BGP机房;中转呢就有Nginx转发TCP或者UDP数据包到香港CN2的服务器上;不使用虚拟网卡,使用软件代理;游戏代理的方式有很多种,也有用代理xx游戏的应用程序,通过应用程序代理,NN加速器和海豚加速器用的是这种方式代理的游戏;数据转发同上;加速盒子,UU加速器出过一款加速盒子,这个加速盒子呢,其实就是和OpenWrt差不多,只不过是第三层的代理,也就是路由代理;当然你自己也可以在家里弄个这种类型的代理,数据转发的方式和上面一样。至于模式,这个得问加速器厂商,因为这个模式代表加速器使用什么应用协议去加速游戏(比如L2TP,Open VPN);
2022年01月18日
7 阅读
0 评论
0 点赞
2022-01-10
如何给你的邮件签名
给自己的邮件签名,是为了增加邮件在传输过程中的安全性,这里需要一个工具,KeyManager(亚洲诚信官网上就有)KeyManager下载链接直达(Windows) ?KeyManager下载链接直达(MacOS) ?KeyManager下载链接直达(Linux) ?下载完了打开这个软件(不用我说了)这个软件建议留在电脑上,因为这个软件可以签名SSL证书勾选成邮件证书,通用名称就是你的邮箱地址(填错无法导入证书)然后导出的时候选择IIS(pfx),outlook只支持pfx证书。添加导出私钥,这个私钥可加可不加,加了只是要在Outlook中间输入密钥解密才可以使用pfx证书。打开Outlook文件-选项-信任中心-信任中心设置-电子邮件安全性浏览-输入密码信任中心,电子邮件安全记得勾上给待发邮件签名;[hide]测试:新建邮件发送给我自己,然后会提示然后发送,在已发送这里面看看邮件[endhide]
2022年01月10日
7 阅读
0 评论
0 点赞
2022-01-10
HTTP中间的不安全端口ERR_UNSAFE_PORT
问一下各位有没有遇到HTTP访问的时候出现报错,显示不安全端口。 :@(吐血倒地) 这个不安全端口是因为1-5000范围内的某个通用服务的端口,然后HTTP使用了这个端口,就会造成提示不安全端口。ERR_UNSAFE_PORT常用的服务端口:1 =>> tcpmux 7 =>> echo 9 =>> discard 11 =>> systat 13 =>> daytime 15 =>> netstat 17 =>> qotd 19 =>> chargen 20 =>> ftp data 21 =>> ftp access 22 =>> ssh 23 =>> telnet 25 =>> smtp 37 =>> time 42 =>> name 43 =>> nicname 53 =>> domain 77 =>> priv-rjs 79 =>> finger 87 =>> ttylink 95 =>> supdup 101 =>> hostriame 102 =>> iso-tsap 103 =>> gppitnp 104 =>> acr-nema 109 =>> pop2 110 =>> pop3 111 =>> sunrpc 113 =>> auth 115 =>> sftp 117 =>> uucp-path 119 =>> nntp 123 =>> NTP 135 =>> loc-srv139 =>> netbios 143 =>> imap2 179 =>> BGP 389 =>> ldap 465 =>> smtp+ssl 512 =>> print513 =>> login 514 =>> shell 515 =>> printer 526 =>> tempo 530 =>> courier 531 =>> chat 532 =>> netnews 540 =>> uucp 556 =>> remotefs 563 =>> nntp+ssl 636 =>> ldap+ssl 993 =>> ldap+ssl 995 =>> pop3+ssl 2049 =>> nfs 3659 =>> apple-sasl / PasswordServer 4045 =>> lockd 6000 =>> X11 常用的服务是无法被正常使用,在测试网站的时候应该极力避免这类端口号。
2022年01月10日
3 阅读
0 评论
0 点赞
2022-01-08
ROS设置多个设备不同IP教程
至于这个多个设备不同IP的办法很简单,搞清楚IP哪里来就行;专线的话假设你有足够多的IP地址就可以通过路由模式一个设备一个IP。第一步先连接上路由器:方便就WinBox,不方便就浏览器,新版的都支持用浏览器打开管理界面这里就用WinBox,首先第一步是给一个网卡设置成WAN口。Interface选项,点击加号,然后L2TP Client选项。当然如果是别的类型就选择别的,比如PPTP,SSTP这种。这里讲的是L2TP类型。上图的设置方法是第一行输入L2TP的服务器地址,第二行输入用户名,第三行输入密码,第四行是规则模式,默认就行;第六行是密钥,需要使用到密钥时勾上就行,第七行输入密钥用;其他的不需要动。国内可以通过使用xxx 动态IP平台的L2TP方式可以设置一个L2TP来弄多IP,设备接入自动分配IP地址。如果不用IP平台只能通过设置多条L2TP来配置一设备一IP。
2022年01月08日
15 阅读
0 评论
0 点赞
2022-01-06
仿佛发现一个新大陆AlmaLinux
最近在网上冲浪发现一个Linux发行版(AlmaLinux);这是继RockyLinux我发现的第二个基于CentOS的发行版。官网地址:AlmaLinux官网地址直达软件仓库国内一共有三个mirrors.aliyun.commirrors.nju.edu.cnmirror.sjtu.edu.cn
2022年01月06日
2 阅读
0 评论
0 点赞
2022-01-05
静态路由和动态路由
路由器是三层设备,这个不用说了吧,如果你不知道路由器是三层设备那么你就还是去看看这篇文章吧下面就讲一下静态路由。静态路由分两种,一个是静态路由一个是默认路由。静态路由的命令大概是这样的:iproute 目标网段 子网掩码 下一个路由器的地址 列举:iproute 192.168.2.0 255.255.255.0 192.168.1.2 子网掩码可变,但是在另外一个路由器上也需要给一个回送的静态路由条目(我就不写了,很简单,上面怎么来的就怎么回去)默认路由(默认路由只能在两个路由器的情况下才可以用iproute 0.0.0.0 0.0.0.0 下一个路由器地址 这个默认路由是这样用的,默认把所有的转发请求丢到下一个路由器上,一般的家用路由就这么转发的,所以一般看不到路由表;当然除了某些可以设置静态路由的路由器除外。下面就讲什么是动态路由,动态路由就很简单了,路由表都是路由器自己学习的,不需要手动去一个一个输入IP地址。动态路由分为两种(大多数情况下):RIP OSPF(还有一种叫BGP,这个用在骨干网络上的比较多,很少会用在局域网)RIP动态路由协议分为两个版本,一个RIPv1一个RIPv2;版本的区别暂且不说,先说说这个路由可以学习的范围;RIP是矢量的动态路由协议,只能收录0-15共计16个路由器的路由表。超过的路由器则不收录,一般的中小型局域网会使用RIP。下面说说RIP的协议区别,v1版本是无类协议,仅能收录:/8 /16 /24 识别到是A类的自动收录成/8,以此类推。v2是有类路由协议,可根据子网掩码收录,子网掩码可自定义。rip操作命令(v1)router rip #进入rip配置 network xxx.xxx.xxx.xxx SubMask network xxx.xxx.xxx.xxx SubMask rip v2router rip version 2 network xxx.xxx.xxx.xxx SubMask network xxx.xxx.xxx.xxx SubMask 两种就放出来了,下面配置OSPF;OSPF一般也就运营商或者大型局域网会用;运营商的城域网基本上都是OSPF;OSPF没什么好说的,重要的就是使用反掩码标识网段;反掩码我在文章结尾写一下。现在就放出OSPF的配置命令。router ospf 1 #设置一个OSPF进程号network IP 反掩码 area id #设置是什么区域network IP 反掩码 area id #同上反掩码是什么东西:正掩码必须是连续的,而反掩码可以不连续,例如:C类地址子网掩码中不可以出现255.253.255.0(二进制为11111111 11111101 11111111 00000000)这样的掩码;而反掩码可以出现0.0.0.2(二进制为00000000 00000000 00000000 00000010)。正掩码表示的路由条目,而反掩码表示的范围。反掩码就是通配符掩码,通过标记0和1告诉设备应该匹配到哪位。在反掩码中,相应位为1的地址在比较中忽略,为0的必须被检查. IP地址与反掩码都是32位的数 例如掩码是255.255.255.0wildcard-mask 就是0.0.0.255255.255.255.248反掩就是0.0.0.7通配符掩码(wildcard-mask)路由器使用的通配符掩码(或反掩码)与源或目标地址一起来分辨匹配的地址范围,它跟子网掩码刚好相反。它像子网掩码告诉路由器 IP地址 的哪一位属于 网络号 一样,通配符掩码告诉路由器为了判断出匹配,它需要检查IP地址中的多少位。这个地址掩码对使我们可以只使用两个32位的号码来确定IP地址的范围。这是十分方便的,因为如果没有掩码的话,你不得不对每个匹配的IP客户地址加入一个单独的访问列表语句。这将造成很多额外的输入和路由器大量额外的处理过程。所以地址掩码对相当有用。 在子网掩码中,将掩码的一位设成1表示IP地址对应的位属于网络地址部分。相反,在访问列表中将通配符掩码中的一位设成1表示I P地址中对应的位既可以是1又可以是0。有时,可将其称作“无关”位,因为路由器在判断是否匹配时并不关心它们。掩码位设成0则表示IP地址中相对应的位必须精确匹配。 如果看不懂的话是真没办法,因为这个不太好解释,最简单的办法是这样的假设一个局域网的子网掩码是255.255.255.0/24反掩码计算255.255.255.255-255.255.255.0=0.0.0.255如果是255.255.255.250的子网掩码,那么反掩码是255.255.255.255-255.255.255.250=0.0.0.5四个255-需要转换成反掩码的子网掩码=反掩码简单的希望能看懂,看不懂的话那就有点
2022年01月05日
12 阅读
0 评论
0 点赞
2022-01-05
ROS路由器配置PPPOE并设置DHCP服务器+上网
RouterOS路由器只能使用NAT4 即Symetric NAT所以只需要在防火墙设置一个src 就行,并设置伪装masquerade后面设置DHCP Server,先到IP设置里面设置IP pools下面设置DHCP Server,租期自己定义下面设置DHCP分发的网段,子网掩码和网关地址(这个是下发的网关,如果有旁设备就填旁设备的IP地址,如果没有就填你的RouterOS的管理地址)、PS:并没有旁设备这个概念,我在这划清界限,别跟我扯旁设备咋咋咋的设置PPPoE接口设置PPPoE账号和密码,设置完之后PPPoE接口前面显示R就代表正常工作
2022年01月05日
21 阅读
0 评论
0 点赞
2022-01-04
老房子网络三期改造
为什么说三期呢,以前一期的时候和我没有关系,因为这个网络不是我弄的,和我没有任何关系。二期是我弄的,光顾着添加设备,不做面子工程,所以家里是一团糟。三期呢是注重面子工程,毕竟在家里的老房子里面发现了新大陆。至于这个新大陆呢,我可以表示一下是什么东西:就是客厅发现一个远古时期的弱电盒,为什么说是弱电盒呢,因为这个东西就一个86盒的大小,所以我叫他弱电盒。一开始是接水晶头测试一下链路通哪里,现在干脆就换成了86信息面板,模块用免压的。面子工程1,更换四口86面板,房间里面增加86单口86面板;路由器从原来的电源主板手动改装换成DELL R210 II,方便后期上机柜;服务器硬盘全部更换成2TB,一共10块,500GB的硬盘要么卖掉,要么装别的机器上(目前准备增加的是DELL R410/R420,这台机器打算挂PT+做种+解码推流;存储服务器还是DELL C2100,后期肯定要换的,换也是换成R510这种,R510做存储柜还是可以的,或者直接增加一台R510);新房子里面是有一个机柜,全套H3C再加上一个1.2m 1000深度机柜;;老房子肯定是要上机柜了,因为发现了新大陆所以必定会上机柜。然后这是机房里面的路由器和主交换机:因为老房子里面的线确实是太老了,所以一个G口的交换机基本上就能搞定了。后面更新一这个文章,机柜改出来的照片。
2022年01月04日
12 阅读
0 评论
0 点赞
2021-12-29
浅谈网络到底是怎么通讯的
我相信很多人都可能搞不清楚网络是怎么传输的,网上很多文章写的也不是很清楚。首先网络这里默认是在OSI最下面的二层,三层这一部分。--------认识一下设备(设备肯定见过,一般的我就不放出来了)路由器 ---》三层设备交换机 ---》默认是二层设备(三层交换机可以实现部分三层的功能)计算机 ---》三层设备(不要问为什么,计算机是三层设备)网卡 ---》物理层设备(不要疑问,看下面) :@(小怒) 首先,路由器是连接多个网络的一种设备(家里用的话应该是内网连接外网的设备)。三层交换机是带路由功能,但是不能替代路由器用;三层交换机在局域网可以用,如果直接对公网的话也不是不可以(前提是你得有足够的公网IP地址)二层交换机呢就只有接口和MAC的概念,没有IP这玩意。不要试图反驳,因为事实就是这样的 :@(汗) 为什么说计算机是三层设备呢;因为计算机可以设置IP地址,所以是三层设备(IP地址只有三层上才有,故计算机属于三层设备);最简单的通讯方法就是两个计算机通过双绞线连接在一起,配置同一个子网下面的IP地址之后,这两台计算机就可以相互通讯。在二层交换机下也是同理,只需要在网卡对应的配置上IP地址就可以实现通讯(数据包会走三层,因为这个是基于的IP地址通讯)。物理层设备一般指插网线的东西,比如网卡;计算机的网卡属于物理层设备,但是计算机是三层设备,不要把计算机当成物理层设备就行。 :@(无语) 二层使用ARP广播包绑定每个接口的MAC地址,绑定接口。计算机发送ARP广播包是因为计算机的ARP表并没有对端主机的MAC地址,故发送ARP广播报文,目标主机发送ARP回应至源地址,计算机获取MAC地址,发送数据包默认发送到ARP表里面存在的设备,在交换机上会自动寻找到绑定接口的IP地址,不需要再次发送广播报文。广播包:IP地址的广播地址为掩码后全1,例如/24的192.168.1.0网段的广播地址为192.168.1.255,假设当前掩码位为16,那么广播地址为192.168.255.255.MAC地址的ARP广播包为全F,FF-FF-FF-FF-FF-FF网关(Getway)网关是用于连接两个局域网的一个设备,可以理解为路由,因为网关属于三层设备,用于检测两个或者多个网络的地址。注意,单个网关不需要指定静态路由。路由(Router)路由是需要两个网关或者多个网关在网络中间,如果需要多个网关下面的网络互联,就需要手动指定一个路由条目,这个路由条目储存在一张表里面,我们称为路由表。不指定网关默认无法找到另外一个网关下面的设备,因为不知道目标网段的路由。故,指定静态路由到目标网段 :@(亲亲) 这里以思科命令为例:iproute 目标网段 子网掩码 下一个网关的IP地址默认路由(思科命令)iproute 0.0.0.0 0.0.0.0 下一个网关的地址默认路由只能在两台路由器之间使用,无法在三个或者三个以上的路由器存在的网络使用(不妨可以试试看有什么问题)
2021年12月29日
9 阅读
0 评论
0 点赞
2021-12-28
关于Steam被GFW给Q了的事情,以及准备的后事
十二月底的时候很多人都发现Steam客户端的商店页面是报错-118,但是游戏更新啥的都正常(包括玩游戏也正常)。web端的Steam商店有时候是Timed Out或者是正常访问。目前看样子是80 443端口被干扰,和之前GitHub差不多,不过GitHub是采取的DNS污染的方式屏蔽,而Steam没有被DNS污染,是使用的阻断80 443端口。日本的aka节点是基本上全无了,没有办法正常访问(当然你施展魔法还是可以访问的)。因为GitHub使用的是DNS污染,要用HTTP代理才可以打开;Steam现在用PAC模式也可以打开。包括往Steam钱包里面充钱也是有问题的,时不时的会报502错误,要重新充值几次。从这个工信部网站上查到的,Steam被工信部拉黑,大概一段时间之后就不能访问了。Steam被Q了其实问题不大,不让访问其实问题是真的不大,最大的问题就是支付宝微信付款能不能保留。还有一个问题就是,Steam的国内CDN会不会陆陆续续无法使用,从而像Origin一样,下载游戏直接下载不动的情况,真到那种情况,那么就真的要去世了(就国内这网络环境,全世界最贵,全世界排名倒数第二);VPS的带宽都是按照Mbps卖的,国内专线也是按Mbps卖的;还死贵,就差点当场去世。如果真的要没了,最佳的方法就是买深港IEPL线路(因为便宜,并且不过墙)。至于为什么便宜,我这里就不说了,因为这个利益牵扯的问题,所以我这里不继续阐述。我现在准备的后事就利用网关下载游戏(或者用某工具直接到aka节点上拉文件,就类似Origin下载工具那种,就看Steam能不能放出API)。网关插件我这里分享一个,至于用途你们自己斟酌,出任何事情与本人无关。本人声明:本文仅供参考,所有操作以及资源仅供学习使用,所有资源下载后请在24小时内删除,谢谢配合。附件
2021年12月28日
26 阅读
0 评论
0 点赞
2021-11-13
硬盘遇到文件或文件目录已损坏且不可读取的解决办法
关于这个问题,最好不要去网上乱找教程,因为这个对于数据来说是比较严重的一个问题,如果文件目录是可读的情况下。看吧文件还是可读的这么说吧,其实这个硬盘的MFT文件并没有损坏,如果损坏了根本读不到这里面的文件目录(MFT是什么?去百度)这里直接打开WinHex查看OS目录能不能打开:看到这个问题不大了,因为根本没有问题,只是Windows的一个缓存机制问题(具体什么问题我也不知道),反正,能打开,就是约等于没有问题;直接在这导出数据到存储的地方算了导出文件,等会验证一下文件还是不是完整的(肯定完整)文件确认是完整的,没有任何问题;WinHex需要专业版才能导出大于200K的文件;
2021年11月13日
9 阅读
0 评论
0 点赞
2021-11-06
CentOS7升级到CentOS8(RockyLinux8)
今天闲着没事,就出一个CentOS7命令升级到CentOS8(RockyLinux8)的方法吧(非重装)先连接上服务器,依然是MobaXterm 然后安装epel源和相关组件yum -y install epel-release yum-utils && yum -y install rpmconf && yum -y install dnf 然后就是移除yum和删除yum目录rpmconf -a && dnf -y remove yum yum-metadata-parser && rm -rf /etc/yum 接下来就是安装RockyLinux8的源,并更新缓存已经卸载CentOS7内核rpm -e --nodeps `rpm -qa | grep centos-release` && rpm -ivh --nodeps --force https://mirrors.cqu.edu.cn/rockylinux/8.4/BaseOS/x86_64/os/Packages/rocky-release-8.4-32.el8.noarch.rpm && rpm -ivh --nodeps --force https://mirrors.cqu.edu.cn/rockylinux/8.4/BaseOS/x86_64/os/Packages/rocky-repos-8.4-32.el8.noarch.rpm && rpm -ivh --nodeps --force https://mirrors.cqu.edu.cn/rockylinux/8.4/BaseOS/x86_64/os/Packages/rocky-gpg-keys-8.4-32.el8.noarch.rpm && rpm -ivh --nodeps --force https://mirrors.cqu.edu.cn/rockylinux/8.4/BaseOS/x86_64/os/Packages/dracut-network-049-135.git20210121.el8.x86_64.rpm && dnf -y upgrade https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm && dnf clean all && rpm -e --nodeps `rpm -qa|grep -i kernel` 更改Python2编码vim /usr/lib/python2.7/site-packages/sitecustomize.py 然后退出,输入以下命令echo '# encoding=utf8' >> /usr/lib/python2.7/site-packages/sitecustomize.py && echo 'import sys' >> /usr/lib/python2.7/site-packages/sitecustomize.py && echo 'reload(sys)' >> /usr/lib/python2.7/site-packages/sitecustomize.py && echo 'sys.setdefaultencoding('utf8')' >> /usr/lib/python2.7/site-packages/sitecustomize.py && echo '# encoding=utf8 import sys reload(sys) sys.setdefaultencoding('utf8')' >> /usr/lib/python2.7/site-packages/sitecustomize.py 更新RockyLinux8dnf -y --releasever=8 --allowerasing --setopt=deltarpm=false distro-sync 如果在更新的时候注意看报错的软件,有报错的软件就卸载对应的软件包卸载掉这些错误的软件包,rpmconf和sysvinitrpm -e --nodeps sysvinit-tools-2.88-14.dsf.el7.x86_64 && rpm -e --nodeps python36-rpmconf-1.0.22-1.el7.noarch 然后再运行更新就等更新好了最后一个就是安装RockyLinux8的内核dnf -y install kernel 不更新内核的话重启就会报错的重启服务器reboot 为了以防万一,我打开了IPMI卡,监视服务器有没有启动起来注意,第一次重启的时候会出现开机卡死,需要手动给服务器重启才可以正常进入系统--------END------------
2021年11月06日
12 阅读
0 评论
0 点赞
2021-10-31
使用BMC管理服务器
这里就写个教程来说一下BMC怎么启用,和一些BMC设置中间的问题BMC卡在启用的时候很多人会看不到BMC卡的在线情况,因为BMC卡里面有一个专用模式Dedicated-NIC和NIC共享Shared-NIC两种模式。共享模式只能和NIC-1网口共享BMC功能,并且专用管理口无法使用(如果遇到NIC-1口坏了也没办法更改)服务器默认的BMC管理模式是Dedicated-NIC,但是买回来的二手服务器大多数都是Shared-NIC模式,这很正常,因为托管的时候一根网线就很方便(主要是省钱)。这里的BIOS设置第一行可更改的Dedicated-NIC就是默认的专用网口模式,如果是Shared-NIC需要在NIC-1上使用BMC功能。(部分机器是Dedicated-Mode和Shared-Mode这两个字眼)下面的是DHCP Mode,自动获取还是手动设置一个地址(手动设置的路由器不会显示,但是可以访问)然后在浏览器输入https://ip(必须用https,因为默认加密了,不然访问不上)DELL默认的账户密码是root和calvin(方法可适用于iDRAC)然后右上角找到Console,点击屏幕中间的KVM和VM,下载文件因为这个文件是需要使用到Java的,我这个机器需要的是JDK7OpenJDK780UP下载下来的这两个文件这两个文件需要删除后缀的多余的部分接下来设置Java,因为这个需要调用到网页,并且这个网页是用不信任证书加密的,所以需要更改一下Java设置控制面板打开,点击Java(不上图了,找不到的话百度查一下控制面板怎么打开Java)下面的例外站点直接设置成BMC的管理地址即可,然后双击那两个文件(刚才下载的KVM和VM两个文件)紧接着就会提示一个站点安全,因为调成了最低的安全性,这里不必理会,直接继续不管然后就会得到一个下载需要的文件提示,也不要理会,因为这些控制台需要下载Java程序包才可以用,否则没用这两个文件一个是虚拟光驱,一个是服务器远程管理卡下面推荐一个好工具,是SuperMirco的一款IPMI卡管理工具(重点是不是SuperMirco的IPMI卡都可以被集中管理)IPMIViewLinux版的在Linux公社上也会有教程,实在不行后面我出一个Linux版的IPMIView安装教程软件界面截图(这个软件已经很久都没有更新了,页面看起来比较年代久远)安装的时候注意,这个软件不支持中文路径,强行安装会报错与上面的管理工具相同的是,这个软件也需要使用Java才可以使用,这个软件默认自带Java,打不开的话需要使用管理员模式启动软件直接添加服务器的名称和IP地址然后点击登录(这个登录界面是没有任何反应的,主要就是下面一行蓝色的字就可以操作服务器)然后使用可以使用命令操作服务器(Linux可以直接命令操作,Windows只能用PowerShell操作)点击Text Console然后点击右下角的Start因为这个IPMI不是SuperMico的所以最多只能控制电源管理和Text Console,还有就是用户,不能远程桌面需要远程桌面的话还是要在自带的KVM工具---------end----------
2021年10月31日
48 阅读
0 评论
0 点赞
2021-10-12
发个UNRAID 6.9.2开心版的资源
这里先分享一个开心版的资源,因为网盘服务器还没有建好,所以我先放进我的一个空群的群文件里面当临时存储用群号:706468255 口令:DKM
2021年10月12日
12 阅读
0 评论
0 点赞
2021-10-11
吐槽一下最近电信更换的iTV盒子
最近的电信统一更换了iTV盒子,这个暂且不说,但是最近更换的iTV盒子是个什么垃圾,最早的Skyworth E900-S,只有2.4GHz的WLAN模块,但是至少可以装软件吧;但是后面实在是忍不了那个盒子,跑起来卡的不得了;后面让电信上门换了一个海思芯片的ZTE HG680,这个盒子支持2.4G和5G WLAN,然后还支持DLNA,只是不能装软件而已,这不算什么,支持一个DLNA就配合一下其他的软件直接投上去就能看。最近几个星期电信换了一个ZTE不清楚型号的盒子,没有WLAN,没有DLNA,可以说是什么东西都没有,这还玩个锤子,什么东西都没有,只能走电信的光猫,还不能直接用WLAN上网过认证。*逼的很,最近我的想法就是到闲鱼上去买一个ZTE的HG680回来自己导入信息用。
2021年10月11日
5 阅读
0 评论
0 点赞
1
2
3