作者归档:Henry

CentOS 7部署V2Ray服务

由于Shadowsocks在国内被大范围识别封锁,所以转向V2Ray。虽然V2Ray作为一个平台,比起Shadowsocks复杂许多,但是安装部署其实已经集成的非常好。以下是部署步骤:

1、安装V2Ray服务端

bash <(curl -L -s https://install.direct/go.sh)

执行完后得到以下内容

Installing V2Ray v4.20.0 on x86_64
Downloading V2Ray: https://github.com/v2ray/v2ray-core/releases/download/v4.20.0/v2ray-linux-64.zip
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   608    0   608    0     0   1647      0 --:--:-- --:--:-- --:--:--  1652
100 11.3M  100 11.3M    0     0  7368k      0  0:00:01  0:00:01 --:--:-- 11.5M
Updating software repo
Installing unzip
warning: /var/cache/yum/x86_64/7/base/packages/unzip-6.0-20.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
Public key for unzip-6.0-20.el7.x86_64.rpm is not installed
Importing GPG key 0xF4A80EB5:
 Userid     : "CentOS-7 Key (CentOS 7 Official Signing Key) <security@centos.org>"
 Fingerprint: 6341 ab27 53d7 8a78 a7c2 7bb1 24c6 a8a7 f4a8 0eb5
 Package    : centos-release-7-6.1810.2.el7.centos.x86_64 (@anaconda)
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
Extracting V2Ray package to /tmp/v2ray.
Archive:  /tmp/v2ray/v2ray.zip
  inflating: /tmp/v2ray/config.json  
   creating: /tmp/v2ray/doc/
  inflating: /tmp/v2ray/doc/readme.md  
  inflating: /tmp/v2ray/geoip.dat    
  inflating: /tmp/v2ray/geosite.dat  
   creating: /tmp/v2ray/systemd/
  inflating: /tmp/v2ray/systemd/v2ray.service  
   creating: /tmp/v2ray/systemv/
  inflating: /tmp/v2ray/systemv/v2ray  
  inflating: /tmp/v2ray/v2ctl        
 extracting: /tmp/v2ray/v2ctl.sig    
  inflating: /tmp/v2ray/v2ray        
 extracting: /tmp/v2ray/v2ray.sig    
  inflating: /tmp/v2ray/vpoint_socks_vmess.json  
  inflating: /tmp/v2ray/vpoint_vmess_freedom.json  
PORT:38731
UUID:c877a768-946e-4bea-93ff-d44a5a5b3915
Created symlink from /etc/systemd/system/multi-user.target.wants/v2ray.service to /etc/systemd/system/v2ray.service.
V2Ray v4.20.0 is installed.

以上信息中,有两项需要记下:UUIDPORT

启动V2Ray服务

systemctl start v2ray
systemctl enable v2ray

由于需要端口通讯,建议将端口加入防火墙白名单。这里只是示范,所以关闭防火墙

iptables -F
systemctl stop firewalld

2、安装Windows客户端

Windows系统客户端可以使用V2RayN,首先去Github上下载最新的release:

将压缩包解压,执行v2rayN.exe即可启动客户端。

启动之后,选择服务器->添加[VMess]服务器,按之前在服务器上得到的UUIDPORT填写

参考:

Project V Official Site: V2Ray

CentOS 7部署Shadowsocks服务

注:这篇文章写成的时候,Shadowsocks服务在中国已经被大范围识别封锁,无法使用。

首先,在CentOS上启用BBR算法,具体见此文:《Linode CentOS 7应用BBR算法》

下面,安装Shadowsocks服务

1、更新源和依赖

yum update -y
yum install epel-release -y
yum install python-pip m2crypto -y

2、pip安装Shadowsocks

pip install --upgrade pip
pip install shadowsocks

3、编辑/etc/shadowsocks.json这个文件

{
    "server": "0.0.0.0",
    "port_password": {
        "YOUR_PORT": "YOUR_PASSWORD"    //这里定义端口和密码,可以设置多个端口
    },
    "timeout": 300,
    "method": "aes-256-cfb"
}

4、启动Shadowsocks服务

ssserver -c /etc/shadowsocks.json -d start

5、允许Shadowsocks服务器通过防火墙,这里简单关闭防火墙作为示范

iptables -F
systemctl stop firewalld

6、在客户端使用服务器IP、端口、密码登录

CentOS 7安装PHP 7

由于WordPress新版已经不支持PHP 5.2,必须升级一下,索性升级到现在最新的7.3。

1、卸载旧版本的PHP

yum remove php*

2、安装epel和yum-utils

yum install epel-release yum-utils

3、安装remirepo源

yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm

4、启用PHP 7.3源

yum-config-manager --enable remi-php73

5、安装上PHP和一些常用的组件

yum install php php-common php-opcache php-mcrypt php-cli php-gd php-curl php-mysql

6、检查版本

php -v

Crayon Syntax Highlighter代码高亮的替代品:Enlighter

之前一直使用Crayon Syntax Highlighter作为代码高亮插件,但是在最新版的Wordpress 5.x中,由于兼容性问题已经无法使用。在网上搜索,找到了替代品:Enlighter。

替换方法:

停用旧的Crayon Syntax Highlighter,安装启用Enlighter。修改Enlighter设置中的以下内容:

  • Enlighter -> 选项 -> 高级选项 -> 阻止CSS选择器 设为
pre.EnlighterJSRAW, pre[class="lang:"][class~="decode:true"]
  • Enlighter -> 选项 -> 高级选项 -> 内嵌CSS选择器 设为
code.EnlighterJSRAW, span[class="lang:"][class~="decode:true"][class~="crayon-inline"]
  • Enlighter -> 测试版 -> 测试版特性 -> 启用DRI 设为 不勾选

参考:

家庭共享记录(NFS、SMB、WebDAV、FTP)

这几天为了实现家庭共享及外部访问,对这四种共享方式都进行的尝试。最后选择了NFS+SMB的方式。思路很简单:用最少的工具完成功能。

SMB

从最简单的SMB说起,SMB是windows自带的共享协议,我在Hyper-V Server上建立后,在Windows虚拟机上可以通过硬盘映映射,在Linux虚拟机上可以通过samba的方式做mount。外网访问可以通过端口映射的方式,将445端口映射到外网即可。但是遇到两个问题:

1、CentOS下mount后无法修改目录权限。我想把nextcloud的data目录放在samba共享目录下,nextcloud正确运行需要这个目录属于apache用户且权限为0770,但是默认mount时以root用户挂载的。这个我找到了办法:可以mount命令执行时对权限进行设置。

mount -t cifs -o dir_mode=0770,file_mode=0770,uid=48,gid=48,username="Administrator",password="******",vers=3.0 //192.168.1.2/E$ /mnt/nextcloud

2、smb v2+版本在Linux下mount时会出现文件夹丢失的情况。挂载后使用ls -la命令无法看到部分文件夹,使用cd+tab自动补全也无法成功,但是可以直接cd到文件夹下。Google后确认时smb v2+的bug,暂未修复,只能通过启用不安全的smb v1(windos server默认时禁用的),然后在mount命令中指定版本vers=1.0来解决。

可以参考此份Bug Report:https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1572132

3、在iOS上使用PhotoSync软件进行照片备份时,如果使用SMB方式连接,也需要在Server端开启Samba 1.0支持,否则会报Samba链接错误(Code:56)。

FTP/WebDAV

这俩放一起讲,因为方式都差不多,可以实现共享,但也存在一些问题:

1、如果时在虚拟机上开FTP共享用SMB挂载的磁盘,将无法访问。认证的时候会一直要求登录

2、WebDAV不能挂载磁盘根目录,需要指定一个目录

3、需要使用IIS开web服务器

4、速度和稳定性实际使用不如smb

5、FTP时应用层协议,不能向文件系统一样挂载

其中FTP还得单独讲一下,FTP分为主动和被动模式。

如果不开启被动模式,访问的时候就需要在IE高级设置中关闭“使用被动FTP”选项(即使是想在资源管理器里用ftp://xxxx访问也一样得去IE设置里修改),而且也无法在外网通过FTP APP访问(不做好被动设置的话,在APP里无论选主动还是被动都无法连接)。

如果需要开启被动模式,那需要做好两个设置,1、在FTP服务器设置中,开放被动FTP端口,我设置成了5000-5099;2、需要在防火墙设置里,把/system32/svchost.exe设置为允许。

考虑到内网共享后面还有更简单的NFS方式(至少不用开IIS),这两个就先放弃了。

NFS

这个简单,但是安全性比较低。所以我只拿来做内网共享了。由于是匿名的,所以唯一的安全方式是在权限中限制可以访问的IP。优点也很明显:

1、无需登录,操作简单

2、在linux下安装nfs-utils即可mount。mount后可以修改目录权限(比samba方便许多)

3、无需使用其他服务

方案:

服务端:Windows Server开SMB+NFS共享。

内网Windows虚拟机:SMB磁盘映射

内网Linux虚拟机:NFS挂载

外网APP:SMB端口映射

 

KMS客户端安装密钥

Windows Server 半年频道版本

Windows Server 版本 1809

操作系统版本 KMS 客户端安装密钥
Windows Server Datacenter 6NMRW-2C8FM-D24W7-TQWMY-CWH2D
Windows Server Standard N2KJX-J94YW-TQVFB-DG9YT-724CC

Windows Server 版本 1803

操作系统版本 KMS 客户端安装密钥
Windows Server Datacenter 2HXDN-KRXHB-GPYC7-YCKFJ-7FVDG
Windows Server Standard PTXN8-JFHJM-4WC78-MPCBR-9W4KR

Windows Server 版本 1709

操作系统版本 KMS 客户端安装密钥
Windows Server Datacenter 6Y6KB-N82V8-D8CQV-23MJW-BWTG6
Windows Server Standard DPCNP-XQFKJ-BJF7R-FRC8D-GF6G4

Windows Server LTSC/LTSB 版本

Windows Server 2019

操作系统版本 KMS 客户端安装密钥
Windows Server 2019 Datacenter WMDGN-G9PQG-XVVXX-R3X43-63DFG
Windows Server 2019 Standard N69G4-B89J2-4G8F4-WWYCC-J464C
Windows Server 2019 Essentials WVDHN-86M7X-466 P 6-VHXV7-YY726

Windows Server 2016

操作系统版本 KMS 客户端安装密钥
Windows Server 2016 Datacenter CB7KF-BWN84-R7R2Y-793K2-8XDDG
Windows Server 2016 Standard WC2BQ-8NRM3-FDDYY-2BFGV-KHKQY
Windows Server 2016 Essentials JCKRF-N37P4-C2D82-9YXRT-4M63B

Windows 10 中,所有受支持的半年频道版本

操作系统版本 KMS 客户端安装密钥
Windows 10 专业版 W269N-WFGWX-YVC9B-4J6C9-T83GX
Windows 10 专业版 N MH37W-N47XK-V7XM9-C7227-GCQG9
Windows 10 专业工作站 NRG8B-VKK3Q-CXVCJ-9G2XF-6Q84J
Windows 10 专业工作站 N 9FNHH-K3HBT-3W4TD-6383H-6XYWF
Windows 10 专业教育版 6TP4R-GNPTD-KYYHQ-7B7DP-J447Y
Windows 10 专业教育版 N YVWGF-BXNMC-HTQYQ-CPQ99-66QFC
Windows 10 教育版 NW6C2-QMPVW-D7KKK-3GKT6-VCFB2
Windows 10 教育版 N 2WH4N-8QGBV-H22JP-CT43Q-MDWWJ
Windows 10 企业版 NPPR9-FWDCX-D2C8J-H872K-2YT43
Windows 10 企业版 N DPH2V-TTNVB-4X9Q3-TJR4H-KHJW4
Windows 10 企业版 G YYVX9-NTFWV-6MDM3-9PT4T-4M68B
Windows 10 企业版 G N 44RPN-FTY23-9VTTB-MP9BX-T84FV

Windows 10 LTSC/LTSB 版本

Windows 10 LTSC 2019

操作系统版本 KMS 客户端安装密钥
Windows 10 企业版 LTSC 2019 M7XTQ-FN8P6-TTKYV-9D4CC-J462D
Windows 10 企业版 N LTSC 2019 2NFX-8DJQP-P6BBQ-THF9C-7CG2H

Windows 10 LTSB 2016

操作系统版本 KMS 客户端安装密钥
Windows 10 企业版 LTSB 2016 DCPHK-NFMTC-H88MJ-PFHPY-QJ4BJ
Windows 10 企业版 N LTSB 2016 FFDN-GRT3P-VKWWX-X7T3R-8B639

Windows 10 LTSB 2015

操作系统版本 KMS 客户端安装密钥
Windows 10 企业版 2015 长期服务 WNMTR-4C88C-JK8YV-HQ7T2-76DF9
Windows 10 企业版 2015 长期服务 N 2F77B-TNFGY-69QQF-B8YKP-D69TJ

Windows Server 早期版本

Windows Server 2012 R2

操作系统版本 KMS 客户端安装密钥
Windows Server 2012 R2 Server Standard D2N9P-3P6X9-2R39C-7RTCD-MDVJX
WindowsServer 2012 R2 Datacenter W3GGN-FT8W3-Y4M27-J84CP-Q3VJ9
WindowsServer 2012 R2 Essentials KNC87-3J2TX-XB4WP-VCPJV-M4FWM

Windows Server 2012

操作系统版本 KMS 客户端安装密钥
Windows Server 2012 BN3D2-R7TKB-3YPBD-8DRP2-27GG4
Windows Server 2012 N 8N2M2-HWPGY-7PGT9-HGDD8-GVGGY
Windows Server 2012 单语言版 2WN2H-YGCQR-KFX6K-CD6TF-84YXQ
Windows Server 2012 特定国家/地区版 4K36P-JN4VD-GDC6V-KDT89-DYFKP
Windows Server 2012 Server Standard XC9B7-NBPP2-83J2H-RHMBY-92BT4
Windows Server 2012 MultiPoint Standard HM7DN-YVMH3-46JC3-XYTG7-CYQJJ
Windows Server 2012 MultiPoint Premium XNH6W-2V9GX-RGJ4K-Y8X6F-QGJ2G
Windows Server 2012 Datacenter 48HP8-DN98B-MYWDG-T2DCC-8W83P

Windows Server 2008 R2

操作系统版本 KMS 客户端安装密钥
Windows Server 2008 R2 Web 版 6TPJF-RBVHG-WBW2R-86QPH-6RTM4
Windows Server 2008 R2 HPC 版 TT8MH-CG224-D3D7Q-498W2-9QCTX
WindowsServer 2008 R2 Standard YC6KT-GKW9T-YTKYR-T4X34-R7VHC
WindowsServer 2008 R2 企业版 489J6-VHDMP-X63PK-3K798-CPX3Y
WindowsServer 2008 R2 Datacenter 74YFP-3QFB3-KQT8W-PMXWJ-7M648
面向基于 Itanium 系统的 Windows Server 2008 R2 GT63C-RJFQ3-4GMB6-BRFB9-CB83V

Windows Server 2008

操作系统版本 KMS 客户端安装密钥
Windows Web Server 2008 WYR28-R7TFJ-3X2YQ-YCY4H-M249D
Windows Server 2008 Standard TM24T-X9RMF-VWXK6-X8JC9-BFGM2
不带 Hyper-V 的 Windows Server 2008 Standard W7VD6-7JFBR-RX26B-YKQ3Y-6FFFJ
Windows Server 2008 企业版 YQGMW-MPWTJ-34KDK-48M3W-X4Q6V
不带 Hyper-V 的 Windows Server 2008 企业版 39BXF-X8Q23-P2WWT-38T2F-G3FPG
Windows Server 2008 HPC RCTX3-KWVHP-BR6TB-RB6DM-6X7HP
Windows Server 2008 Datacenter 7M67G-PC374-GR742-YH8V4-TCBY3
不带 Hyper-V 的 Windows Server 2008 Datacenter 22XQ2-VRXRG-P8D42-K34TD-G3QQC
面向基于 Itanium 系统的 Windows Server 2008 4DWFP-JF3DJ-B7DTH-78FJB-PDRHK

早期版本的 Windows

Windows 8.1

操作系统版本 KMS 客户端安装密钥
Windows 8.1 专业版 GCRJD-8NW9H-F2CDX-CCM8D-9D6T9
Windows 8.1 专业版 N HMCNV-VVBFX-7HMBH-CTY9B-B4FXY
Windows 8.1 企业版 MHF9N-XY6XB-WVXMC-BTDCT-MKKG7
Windows 8.1 企业版 N TT4HM-HN7YT-62K67-RGRQJ-JFFXW

Windows 8

操作系统版本 KMS 客户端安装密钥
Windows 8 专业版 NG4HW-VH26C-733KW-K6F98-J8CK4
Windows 8 专业版 N XCVCF-2NXM9-723PB-MHCB7-2RYQQ
Windows 8 企业版 32JNW-9KQ84-P47T8-D8GGY-CWCK7
Windows 8 企业版 N JMNMF-RHW7P-DMY6X-RF3DR-X2BQT

Windows 7

操作系统版本 KMS 客户端安装密钥
Windows 7 专业版 FJ82H-XT6CR-J8D7P-XQJJ2-GPDD4
Windows 7 专业版 N MRPKT-YTG23-K7D7T-X2JMM-QY7MG
Windows 7 专业版 E W82YF-2Q76Y-63HXB-FGJG9-GF7QX
Windows7 企业版 33PXH-7Y6KF-2VJC9-XBBR8-HVTHH
Windows 7 企业版 N YDRBP-3D83W-TY26F-D46B2-XCKRJ
Windows 7 企业版 E C29WB-22CC8-VJ326-GHFJW-H9DH4

使用vlmcsd部署kms服务

在服务器部署vlmcsd服务

yum install gcc -y
wget https://github.com/Wind4/vlmcsd/archive/svn1112.tar.gz
tar -xvzf svn1112.tar.gz
cd vlmcsd-svn1112/
make
cd bin/
./vlmcsd -l /var/log/vlmcsd.log

激活Windows Server 2019 Datacenter

@CMD

slmgr /upk
slmgr /ipk WMDGN-G9PQG-XVVXX-R3X43-63DFG
slmgr /skms <KMS_Server_IP>
slmgr /ato
slmgr /dlv

 

Windows Server 2019安装Intel I219-V I211网卡驱动

由于Windows系统原因,一般桌面主板自带的Intel网卡(典型的包括I211、I211-AT、I217-V、I218-V、I219-V)等,都无法在Windows Server系统上找到对应的驱动。但是,这些网卡几乎都有对应的服务器主板版本(例如I219-LM)。这些网卡其实并没有本质上的差别,只是在驱动层面,利用不同的驱动签名使得显卡不能通用。本文将详细说明如何在Windows Server系统上安装这些驱动。

1、驱动下载

首先,在Intel官网下载网卡驱动程序包,由于Windows Server 2019刚发布,所以目前没有2019的专门页面,但可以通用Windows Server 2016版本(下载页面)。下载完成后,得到一个PROWinx64.exe的自解压安装包,使用7zip或其他解压软件解压到任意文件夹。

2、修改驱动程序文件(以I211、I219-V为例)

进入第一步解压后的文件夹,依次进入PRO1000 -> Winx64 -> NDIS64文件夹。这个文件夹中,有举例的I211、I219-V两张网卡的驱动安装文件。

接下来分别配置这两个驱动安装文件

  • I219-V

用记事本打开e1d64x64.inf这个文件,搜索I219-V找到对应的ID

用这个ID搜索到所在的键(就在同一个文件的上方)[Intel.NTamd64.6.3.1]。找到与这个ID相关的几行(可能是2行也可能是3行)

复制这两行,在刚才的[Intel.NTamd64.6.3.1]这个键下面,有另外一个[Intel.NTamd64.6.3]键。把刚才复制的几行粘贴到这个键的最后。保存,关闭。

  • I211

和I219-V差不多的步骤,不过配置的文件是同文件夹下的另一个文件,e1r64x64.inf。同样通过搜索找到I211所对应的ID

用这个ID搜索到对应的键[Intel.NTamd64.6.3.1]和配置行

将此行复制到后面的另一个键[Intel.NTamd64.6.3]中。保存,关闭。

3、开启测试模式

因为我们修改了签名配置文件,所以如果要安装这些驱动,我们需要开启测试模式,允许未经过签名的驱动。

在CMD(管理员)中执行以下两条命令

bcdedit -set loadoptions DISABLE_INTEGRITY_CHECKS
bcdedit -set TESTSIGNING ON

执行完后,需要重启电脑,以进入测试模式。

4、安装驱动

这里以I211网卡驱动安装为例,I219-V安装同理,只是在后续步骤选择驱动程序文件时不同而已。

在设备管理器中,找到那个没有驱动的网络控制器,右键选择“更新驱动程序”

选择“浏览我的计算机以查找驱动程序软件”

选择“让我从计算机上的可用驱动程序列表中选取”

下滑下拉列表,找到并选择“网络设配器”,点击下一步

这里不做选择,点击右下的“从磁盘安装”

在弹出窗口中,点击右下角的浏览,选择我们刚才修改的I211所在的配置文件,即e1r64x64.inf,然后点击确认(这里如果是安装I219-V驱动的话,选择e1d64x64.inf这个文件,其他与I211步骤相同)。

上一步点击完确认后,由于我们之前修改好了配置文件,所以就可以在后续窗口里看见I211驱动了,点击下一步。

这里会弹出一个警告,因为我们对配置文件进行了修改,签名肯定是无法通过验证的,所以这里会有这个警告信息。当然点击“始终安装此驱动程序软件”

安装成功提示

安装完成后,在设备管理器中,也能看见这张网卡信息了。

5、关闭测试模式

安装完成后,关闭测试模式。在CMD中执行以下命令

bcdedit -set loadoptions ENABLE_INTEGRITY_CHECKS
bcdedit -set TESTSIGNING OFF

重启电脑,完成。

6、附加:开启WLAN

默认安装时无线LAN服务是关闭的,如果需要开启,只需要在“添加角色和功能”中,选择开启“无线LAN服务”即可。