Windows Server 2016 Core安装SQL Server Express并开放1433端口

前面一篇文章提到了Windows Server 2016 Core的配置,今天要介绍的是如何正确安装SQL Server Express并且开放1433端口远程访问。由于本文的配置环境是Server Core系列,那么很遗憾所有图形操作将会变得困难,所以网上大部分配置文章不再适用,这里还是主要以介绍命令行配置为主。

至于为什么选择SQL Server Express,首先足够轻量,占用资源小而且足够应付绝大多数场景,也免去正式版的花销,这几年部署的SQL Server Express 2005和2008版本一直稳定运行,所以对于一些信息系统或者Web网站,轻量级Express版本的SQL Server才是佳选,好下面进入正文。

首先需要下载SQL Server Express,本文下载的是SQL Server 2017 Express Edition,下载完成后通过远端或者复制在Server Core系统里执行,由于Server Core仍然支持图形显示,那么执行安装包后你将看到下面的安装界面,切记不要急着安装,我们先选择Download Media

继续阅读“Windows Server 2016 Core安装SQL Server Express并开放1433端口”

Windows Server 2016 Core服务器基本配置

在服务器界Windows操作系统一直被吐槽不够稳定、不够安全和占用资源,微软也是痛定思痛决定一改往日,遂推出了Server Core系列的服务器版本,顾名思义——Core表示核心,也就是说这个系列的服务器版本将仅保留必要的核心,去除一切不必要的组件。大家对于服务器版本的Linux可能会有印象,那种黑乎乎的命令行界面,没有图形系统,这次微软的Core系列也习得此精髓不再提供交互桌面系统,系统的启动和管理等都通过命令提示符操作,不过与Linux不同的是,Windows Server Core不是纯粹的字符式操作环境,而保留了基本的图形系统,毕竟从NT时代Windows图形子系统就成为内核的一部分了,贸然去除必然会带来不必要的麻烦,因为基本图形系统的存在,一些图形界面的程序实际上也是可以运行的,比如系统自带的记事本(notepad)、注册表编辑器(regedit)等等。

最近折腾了ProxmoxVM虚拟化环境,顺带也尝试了Windows Server 2016 Core版本,本文下面将简单介绍一下Server Core的配置,首先对于Windows Server 2016 Core的安装我就不多介绍了,这部分和大多数Windows安装类似,其中我们使用的镜像来自微软官方的评估版本

继续阅读“Windows Server 2016 Core服务器基本配置”

解决Proxmox虚拟机安装Windows 10/Server 2016时找不到硬盘问题

Proxmox是一款基于Debian系统开源强大的KVM虚拟化平台,之前在实施虚拟化环境时也分别考虑了VMware ESXi(Free vSphere Hypervisor)、Windows Hyper-V Server 2016,至于为何最终选择了Proxmox的虚拟化环境主要考虑是ESXi免费版本限制太多而且官网下载一直提示维护;Hyper-V Server 2016这款也是少有的微软良心作品,评估期限无限(等于免费),但是我在前期Windows系统自带的Hyper-V组件测试某些Linux桌面环境发行版存在显卡兼容问题,还有一个就是火绒安全软件安装在Hyper-V虚拟环境会蓝屏,鉴于此最终还是选择了Proxmox,相信基于Linux系的低资源占用和稳定性。

Proxmox配置虚拟机的具体步骤我就不多说了,网上有很多类似的教程,选择半虚拟化设置将会获得较好的性能效果,今天主要要说的是在Proxmox虚拟机安装Windows系统遇到的找不到磁盘的问题,本文所实验的系统分别是Windows 10 version 1903和Windows Server 2016版本。

首先我们需要准备对应的磁盘驱动程序安装镜像virtio-win-0.1.171.iso,下载完成后通过Proxmox的Web管理界面上传到local - Content中,如果通过SSH直接上传请选择/var/lib/vz/template/iso路径,完成此项操作后请选择刚刚建立的虚拟机,选择Hardware - Add - CD/DVD Drive挂载此镜像文件,如下图所示:

继续阅读“解决Proxmox虚拟机安装Windows 10/Server 2016时找不到硬盘问题”

MikroTik RouterOS利用DNS配合防火墙拦截广告

近期入手了Mikrotik的路由器,这个牌子的路由器比较小众,搭载了RouterOS系统,但是可配置性相当高,这几天摸索下来略有小成,一些配置技巧特分享在博客,以作备忘。

一些关于PPPoE拨号配置等基础操作网上教程较多,后期如有时间我会考虑一起记录下来,今天介绍的主要是如何利用DNS静态列表配合防火墙拦截特定广告或者跟踪器URL。

配置前的准备工作,比如winbox的下载和连接我这里不详述,建议将RouterOS更新到最新,当然升级也比较方便可以直接在线升级。

1、配置静态DNS (WinBox > IP > DNS > Static)

首先打开DNS Settings,根据个人喜好配置Servers为上游递归DNS服务器,为取得最佳CDN查询效果,建议使用运营商提供的DNS服务器,取ping值最小的为佳,当然如果运营商的DNS存在劫持的话也可以选择公共DNS服务器,填写完毕后点击Apply使配置生效,如下图所示:

继续阅读“MikroTik RouterOS利用DNS配合防火墙拦截广告”

路由跟踪显示的defense.gov (DoD Network) IP地址

今天在讨论板看到有人提到这个为什么阿里云主机跟踪路由会出现类似defense.gov或者DoD Network所有者的IP地址,搜索了网络发现有价值的信息不多,思科技术论坛上有这么一个帖子《An IP address of USA Department of Defense Network Information Center in debug output of a router》有网友提到由于历史原因,有些特殊的IP段是专门分配给军方使用的,不知是出于内网保密需要或者其他什么原因无法从公共互联网(Internet)上访问这些特殊的IP段,这些IP段因此被某些大型网络供应商来弥补内网IP地址的不足。我猜测可能因为使用这些IP地址段的军方似乎永远不会将其发布到公共网络上,所以将这些IP地址仅仅用于内网的用法也不会造成Internet外网混乱。

比如美国军方拥有的一部分IP地址段就有:6.0.0.0/8, 7.0.0.0/8, 11.0.0.0/8, 21.0.0.0/8, 22.0.0.0/8, 26.0.0.0/8, 28.0.0.0/8, 29.0.0.0/8, 30.0.0.0/8, 33.0.0.0/8, 55.0.0.0/8, 214.0.0.0/8, 215.0.0.0/8,这些IP地址虽然是公共IP但是基本上被用于军方内网,查询IP数据库显示defense.gov或者DoD Network所有,如果某个网络管理员仅仅将这些IP地址配置为内网IP并不发布出去的话,对于正常访问Internet互联网没有任何影响。当然如果你的内网网络和Internet互联网是物理隔离的话,分配IP地址是什么样的都不重要,最后看的还是网络基础设施的配置,比如路由表转发等等。

继续阅读“路由跟踪显示的defense.gov (DoD Network) IP地址”

域名WHOIS显示REDACTED FOR PRIVACY和隐私保护

近期在域名控制面板的联系人信息上看到了一个选项Disclose On/Off,下面是WHOIS隐私保护开关选项,遂觉得奇怪,这两个开关同样的都是隐藏WHOIS信息从而不让公共数据库查询到,功能上难道不是重复的吗?

我尝试了一下分别开启和关闭这两个选项,发现了区别所在,如果单纯使用WHOIS隐私保护,那么域名的联系信息将会被替换为隐私保护公司的信息从而实现对于个人信息的保护,例如下面的信息:

Name:             PrivacyDotLink Customer 001138
Street:           123 West Bay Road, Box 432-WB
City:             West Bay
State/Province:   Grand Cayman
Postal Code:      KY1-1108
Country:          KY
Phone:            +1.9492763456
Email:            001138@privacy.link

继续阅读“域名WHOIS显示REDACTED FOR PRIVACY和隐私保护”

代理SMTPS 465端口完成邮件sendmail配置备忘

之前一直使用AWS SES (Simple Email Service)作为邮件发送后端,按照官方说明配置,测试下来能收到就以为配置没有问题了。直到最近某短信邮件联动端只提示收到短信而没有邮件,这才发现SES存在丢件情况,我是配置的QQ邮箱作为接收端,通过QQ邮箱的自助查询,找到了收件丢失的原因:对于AWS来说邮件是正常投递成功(这一点后台统计也有说明),关键在于QQ邮箱,其拒收了来自AWS的邮件,理由是:

Action: failed
Final-Recipient: rfc822;
Diagnostic-Code: smtp; 550 Ip frequency limited [******** = Blocked IP 54.240.7.20]. http://service.mail.qq.com/cgi-bin/help?subtype=1&id=20022&no=1000725
Status: 5.3.0

字面上看是因为该发信IP频率过高因此被屏蔽,可能是因为AWS SES和他人共享了发信IP导致的,当然,通过链接查询到的原因证实了猜想。

继续阅读“代理SMTPS 465端口完成邮件sendmail配置备忘”

BIND9 DNS Challenge自动配置Letsencrypt通配符(Wildcard)HTTPS证书

不得不说Letsencrypt的免费SSL数字证书确实大力促进了加密HTTP(HTTPS)的普及,使用HTTPS的好处自然有很多,比如防止登录凭据等敏感信息被第三方窃取、防止电信运营商的ISP劫持等,Google Chrome和Mozilla Firefox也在逐步将明文HTTP标识为不安全,这也在一定程度上加快了HTTPS的推广。

但是由于一些条件限制,国内的HTTPS推广普及一直不温不火,虽然大部分主流网站已经采用了HTTPS,但是大量的中小型网站、政府门户依然使用的是明文HTTP,给个人信息带来安全隐患,不使用HTTPS的理由总是有千百种,比如虚拟主机限制、CDN限制、老旧浏览器兼容、服务器资源消耗等,但是我们不能因为这些缘故而放弃HTTPS带来的优势,从长远来看HTTPS的全面普及是势不可挡的。

继续阅读“BIND9 DNS Challenge自动配置Letsencrypt通配符(Wildcard)HTTPS证书”

Lubuntu去掉开机显卡启动画面(NVIDIA Splash Screen Logo)

近日将一台老的笔记本换上SSD,考虑到性能问题,选择安装Lubuntu,安装完成后顿时感觉笔记本还能再战5年,当然虚拟机神马的是不敢再玩了,用来写写PHP和上上网还是绰绰有余的,比如说这篇博文就是在这台电脑上打出来的。

当然每次配置Linux系列系统都要折腾一番,这也注定了在很长一段时间内,Linux只适合服务器领域,虽然随着Android的发力,Linux也逐步扩展到移动领域,而且在移动端是吊打微软的节奏。实际上从简单办公和编程来说Windows上一些比较优秀的软件不能移植确实很遗憾,不过好在有wine的加成,至少我现在已经成功安装了Office 2003(这个版本的顺手够用)、Fireworks 8和知网CAJViewer,对于我来说Linux有这三个原本运行在Windows下软件就足矣。其他一些软件比如PhpStorm就得益于Java可以方便的移植到Linux环境下了。

继续阅读“Lubuntu去掉开机显卡启动画面(NVIDIA Splash Screen Logo)”

VBScript 检测网络连接是否正常

某次维护测试需要配置脚本检测网络是否连通,正常手动检测网络是否连通有两个最为常见的办法:一是ping一个主机;二是打开某知名网站。所以脚本检测也顺着这两个思路进行。

关于ping的VBScript实现有如下代码可供参考:

Function Ping(strTarget)
  Dim objShell, objExec, strPingResults
  Set objShell = CreateObject("WScript.Shell")
  Set objExec = objShell.Exec("ping -n 2 -w 1000 " & strTarget)
  strPingResults = LCase(objExec.StdOut.ReadAll)
  If InStr(strPingResults, "reply from") Then 
    'WScript.Echo VbCrLf & strTarget & " responded to ping."
    Ping = True
  Else
    'WScript.Echo VbCrLf & strTarget & " did not respond to ping."
    Ping = False
  End If
  Set objExec = Nothing
  Set objShell = Nothing
End Function

继续阅读“VBScript 检测网络连接是否正常”