Category Technology

在macOS上开启PostgreSQL的公网访问

前文 在《认真上网|搭建家庭网络服务》里,我有提到通过DDNS or 内网穿透、端口转发、docker等技术的组合,实现在达芬奇下多人的协同工作。 当初之所以选择在NAS上部署PostgreSQL服务,就是因为在macOS上我一直都没搞定PostgreSQL的公网访问(一部分是权限问题)。 在YouTube和Google上检索相关的教程,大多都是Linux或者WIndows Server平台的相关配置教程,更别说我们需要配置的是特定版本的PostgreSQL,以及需要搭配达芬奇进行使用了。 当时无奈之下,就只能退而求其次,转而选择在NAS进行部署(虽然坑也不少)。当然,看标题你就知道,之前的问题已经被解决了。并且现在回头看,无论是在NAS还是在macOS上,其本质都是一样的。但服务的载体不同,这决定了它们在应用场景上也各有所长,它们之间并不存在什么绝对的优劣之分。 简单而言,如果你的项目比较大需要很多人进行协作,有远程访问需求也有本地访问需求,并且有专人可以进行管理,把PostgreSQL服务配置在NAS或者服务器上,所有人通过网络共享来访问这个服务、进行达芬奇的项目创作是比较推荐的选择。 但如果你的团队规模和项目都不大,并且希望快速、简单的进行多人远程协作,那么这篇在macOS上开放PostgreSQL公网访问的文章就很适合你。     背景 首先,你得先安装DaVinci Resolve 17。此外因为17版本之后,「DaVinci Resolve Project Server」不在内嵌在DaVinci Resolve的安装包内,所以如果你需要它的话,你需要去BlackMagic的官网上去下载。 另外,在操作途中,如果发现意外修改了一些别的文件,并且不知道如何恢复的话也不用担心。在下面这个目录下有一个压缩包,解压缩这个包,会得到一个名为「postgresql-9.5.19-1-osx」的postgresql安装包。通过覆盖安装,我们可以轻松的恢复至原始状态,所以接下来放心折腾吧。 「/Library/Application Support/Blackmagic Design/DaVinci Resolve Project Server�� (在Finder下使用快捷键「Command + Shift + G」输入括号内的内容可以快速前往其位置)   修改配置文件 我们需要通过修改两个配置文件,来允许来自公网上的用户(实际为所有用户 当然账号和密码还是需要的)访问PostgreSQL。 这里的教程网络上很多。 首先找到这个目录下的「��。在最后加上一行「host all all…

认真上网|搭建家庭网络服务

前言 上一篇我们完成了硬件的搭建以及最基本的网络配置,组成了全屋的mesh网络。但当然,如果仅仅如此,那其实一点都不高级~更没必要用到软路由这样的硬件。 本篇文章,我就来介绍一些围绕全屋mesh网络展开的,能在家庭里配置的一些十分好用的“服务”。既然是介绍,那自然没有那么深入与详细,本文意不在教你手把手配置具体的服务,篇幅也不允许。本文更多是各项服务的功能介绍,同时也希望这些好用的功能,能在你心里埋下让你心痒痒的芽。   开始本文之前,最好先确认家里的联网设备都处于同一个网段内,以便对它们进行管理以及各个设备之间可以相互访问。确认的方法很简单,一般来说设备的局域网IP地址一般类似于192.168.2.121,“默认情况”下只要前三位是一样的,它们就是在同一个网段。如果这样设备间还是不能相互访问,最好确认一下网关的子网掩码是不是255.255.255.0。 这里额外补充一个知识点,困扰我许久、最终在暑假的网络改造计划中领悟的——子网掩码的作用。简单的来说,子网掩码正如其名,是用于划分IP地址从多少到多少之间是属于一个网段的,我们最常使用的子网掩码就是「255.255.255.0」,在这个子网掩码下,192.168.1.2和192.168.1.1就是属于同一网段,也就是前文所提及的“默认情况”。子网掩码的具体换算方式需要将其转换成二进制,再进行演算,如果你和我一样不想学的这么复杂,可以Google关键词「子网掩码+查询」,有许多的在线工具可以帮你进行换算。   好了,扯远了。接下来,我以家里现有的设备作为分隔文章的结构,介绍我在这些设备上运行的不同服务,这些服务你可以跑在不同的设备上,有的可以跑在不同的系统上。无论如何,它们的使用都很简单,并且原理是相同的,聪明如你,自然能领悟~     R2S/Openwrt系统 R2S上运行了openwrt系统,作为mesh网络的网关,它在整个网络起到的作用可以被描述成“总控”与“心脏”。   薅运营商的羊毛:多线多拨 Openwrt系统发展至今,许多的开发者为它做出了自己的贡献,如今它能做的有很多,其中在一开始接触了解它,令我感到比较惊奇的一点,是它竟然可以免费“提升网速”,例如你本来是100兆的电信宽带,在他提速之后你的网速在一些情景下可以达到300兆,甚至500、600兆也不是不可能。这一个过程中,除了买R2S的费用,你是不用额外付所谓的“加速包”订阅费的。 但它是如何做到的?这里面其实也有一些限制,首先并不是所有宽带都可以这么做的,其次,不是所有场景都可以“提速”的。 要说限制,我们先来说,“多线多拨”是什么? 一般现在家庭都是通过光猫拨号(PPPoE)上网的,但以前的时候并不如此,都是要通过设备终端来进行拨号上网的,例如windows xp上的宽带连接。有些家庭的上网终端并不只一台,那么显然运营商不会傻到这台设备拨号后,不让另一台设备拨号上网,此时,两台设备都通过拨号上网,这其实就满足了“单线多拨”。 可以说是历史原因,所以尽管现在大家都已经用光猫进行拨号上网了,但“多拨”在许多地区依旧是被运营商允许的。openwrt里有一项插件就提供了一个功能叫做——“多线多拨”。你可以通过运行openwrt的单台设备来拨号多次,夸张的是,如果你本来就被分配到了公网IP,在多次拨号之后,你也会被分到多个公网IP(虽然用处不大而且浪费资源就是了)。 借此,通过负载均衡,在一些多并发的场景下,比如BT下载,家里多个人在同时看流媒体,多文件下载等等(貌似百度网盘的单文件下载也是支持多并发的),都可以达到突破当时你与运营商签订的“协议速度”。但是如果是一些单线程的网络任务,依旧会被限制在原来的速度。 那么,现实总不是那么美好,除了多并发这一限制条件之外。有时运营商会锁端口速度又或者根本不支持多拨,无论是哪种情况,如此一来都不能利用“多拨”来提升多并发下的网络速度的。一般来说,小城市的限制会越少、大城市例如北京杭州上海等等限制会更多,移动的限制会更多,电信的限制会更少。当然具体的,还得实际测试过才能知道。 看到这里,有人会感到奇怪,讲到现在全程都在讲“单线多拨”,关“多线多拨”什么事?它们两者之间并没有本质上的区别,“单线多拨”是因为我们只有一条宽带,而“多线多拨”是因为你可能家里拥有不止一条宽带,当然在拥有多条宽带并使用“多线多拨”的情况下,就没“运营商限制”什么事了,你可以很轻松的提升“多并发”下的家庭网络速度。 不过,如果你真有多条宽带,那么R2S这款设备其实并不适合你,因为他只有一个wan口,如果你有这方面的需求其实可以考虑一些多网口的工控机,性能不需要太好,有多个网口就可以。   原本100M的速度在电信给免费提速至300M之后,再叠加“单线多拨”,测速可以达到600M,对于台州这种小城市来说,这个网络速度已经算是很不错了,而且还是在Wi-Fi条件下测的速。     抉择:DDNS还是内网穿透? 前一面文章说到,软路由给了你在外访问家庭设备的能力,我们就是通过DDNS或内网穿透来实现的。
DDNS和内网穿透属于两种不同的技术,但其目的都是一样的。简单的,我们先来说在它们之间应当如何进行选择。 首先我们需要知道,当地的运营商是否给宽带分配了公网IP。一般来说,移动的公网IP地址最少,分配起来也要更困难,联通其次,最好的是电信。比如我家的宽带是电信,默认情况下就是给了公网IP的。 一般来说,有公网IP地址的朋友们建议使用DDNS,而没有公网IP的朋友们应该、也只能选择内网穿透。     “最优解”:DDNS 什么是DDNS?讲这个技术之前,我们需要了解一些网络世界的基础知识。 在网络世界中,你在“网上冲浪”可以被划分为上传和下载,但无论何种,你都需要一个地址,就像是在现实世界内写信一样,都需要寄件地点、发出地点。没有地点,网络上的数据包不知道该走向何处,自然你也就“上不了网”。前文说到的,“公网IP”这一概念,其实就对应写信的“地点”。 有了“公网IP”,就在茫茫数据的海洋中有了可循的、唯一的位置。对应的,“非公网IP”,则是没法在网络世界中找到这“唯一”的、“可循”的位置。这是因为,在网络设计之初并未想到网络世界能到达当今的规模,公网IP地址的上限太低、数量太少。为了解决这个问题,各大运营商将部分用户划进了它们设计的“IP地址”内,而这些用户上网时,发出或接受的数据包都会经过运营商的转换。 一般来说,这样的转换对于绝大多数的用户而言都是无感的。当如果我们有一些特殊的需求(端对端),例如在外访问到家庭的资料或服务,没有“公网IP”就成了拦路虎,你想,你家没有门牌号,怎么能让快递员找到它呢?我们把这个问题先放一边,因为我们运气好,有分到公网IP。 好,我们现在有公网IP,虽然我们理论上现在已经可以通过这个IP地址,在外访问家庭内的服务了,但还有个问题。运营商虽然给你分配了IP地址,但是这个IP地址是“动态”的,也就是说这个IP地址会不定期改变,如果在外面的时候访问家庭服务发现IP地址变了,原先的地址不能用,新的地址不知道,这就麻烦了。…

认真上网|网络升级计划之硬件篇

前言 学校里杂七杂八的东西挺多的,我也马上要大四了,一些放在学校里的东西也乘着这暑假之前都往家寄,其中一件物品就是去年在杭州工作攒钱买下的NAS。 家里的网络其实一直挺糟糕的。以前还没把游戏戒掉的时候,有时游戏打着打着就掉线了,必须下楼重启光猫和交换机,但这个方法有时好用有时不行。无奈的时候,只能请师傅过来修。严寒酷暑,网络出问题不会挑时间,但维修师傅是会挑时间段的,太热的夏天中午是肯定不来的,打电话过去维修师傅也不是每次都有时间。 糟糕的网络持续了许多年,在高中了解些许浅显的网络知识之后,我就已经有萌生“自己动手丰衣足食”的想法,可惜迟迟没有动手。这一方面是受制于自身浅薄的知识,而另一方面更是因为家里的弱电箱在设计之初,就完全没有考虑到未来的维修与升级。乱成麻的线缆,让年少无知的我根本无从下手……  因为一个弱电箱塞不下了,其实上面还有一个弱电箱……然后楼上还有一个弱电箱……总之非常糟糕   因为家里属于复式楼,所以每层楼都有网络接入点,但由于装修队的偷工减料,一楼、地下室的所有面板里实际都没有接入网线。也就是说长久以来,一楼和地下室都是网络的“禁区”。接入网线的其他楼层也没好到哪去,不少面板也是和一楼和地下室一样摆个样子,实际并没有接入网线。 另一方面,再一次因为装修队的偷工减料,部分网线甚至使用的是“四芯”的网线。正所谓一颗老鼠屎坏一锅粥,家中的网络因为这些部分使用“四芯”的网线,其上限就被定死在了百兆,别说想要有千兆的局域网,哪怕200M的宽带都会因为这个问题而无法实现。 如果只是因为这个问题,那或许网络还能将将够用。之前为了解决一楼没有网络的问题,而是用了家里两台废弃的无线路由器做无线回传,让一楼也能上网冲个浪。但这样就导致,人到了二楼三楼之后设备还连接着一楼的楼层的网络。虽然保持连接,实际却会因为信号太差上不了网,不仅这时候别人微信消息发不过来,FaceTime也打不出去。这个问题尤其令我妈感到恼火。
既然网络问题这么多,索性乘着这次把NAS寄回家,正好改造一下家庭网络顺带把这些痛点都一并解决了。     “小修小改”不能解决问题 因为一楼和地下室是没有网线的,想要这些地方能上网、以千兆的速度访问到家中的NAS,至少一楼就必须走一条明线了。而另一方面,家中的其他网络因为网线原因被受限制100M的速度,索性决定这一次就弃用所有的网络面板,选择在屋外拉几根明线,全部都走新的线路。如此,因为交换机和各式各样乱七八糟的线材而常年关不上门的弱电箱,这回把交换机取出之后也能顺利关上了。     网线 走外线的网线所有楼层都选择从已有的空调洞里走线,避免了另外打孔的麻烦。 经历了线材的问题之后,我决定所有走外线的网线直接使用七类线,以免未来技术进步再次经历淘汰线材、重新布置外线的麻烦。 但是,究竟选用几类线才可以满足需求,这其实并没有一个确切的答案。大家总说的,“超五类线及以上只能跑到千兆、七类线及以上才可以万兆”,这并非绝对。有些网线确实努努力也能跑到“万兆”,这也是说不定的,这和厂家的良心程度是有关系的。实际上,你去看一些评测视频,你会发现,有些短的六类线是可以跑万兆的,但线一长就不行了。 另外除了网线,网线两端的水晶头也是影响网络传输速度的重要因素。网线的门道很多的,有兴趣可以去了解一下。 这里得提个醒,买那些非成品、需要自己做水晶头的网线时,最好直接在卖网线的商家上购买水晶头。因为虽说都是RJ45,但是里面的孔径却会有区别,本人就在这上面吃了亏。 在这个过程中本人收获了「做出人生第一根网线的成就」,虽然丑但是可以用。     无线路由器 因为家里是多个楼层,如果每次上下楼都需要来回切换Wi-Fi,这样的体验实际会非常糟糕,所以在选购无线路由器的时候,「支持mesh」成了我选购路由器的硬性指标。另外值得我考虑的就是支持「Wi-Fi 6」以及「高速的无线速率」。虽然目前支持Wi-Fi 6的设备并不多,但考虑到不久的未来,选择支持Wi-Fi 6的无线路由器肯定是没错的。 在购买时,我参考了一张表格(版权所属请联系水印上的作者),你们可以根据自己的需求进行挑选。值得提的是,在预算有限的情况下,对于复式楼来说,相同的预算下,选购的建议是尽可能多买几个路由器组mesh,而不是买贵的,以尽可能达到5Ghz的信号全屋覆盖(至少一层楼一个无线路由器)。当然,对于土豪而言,你们的选购方式很简单,别买合适的,买贵的就是对的。 最后货比三家后,我选择了Redmi的AX6,三百不到的价格和小米ax3600几乎一样的配置,对于需要购买多个路由器的我来说,ax6显得十分超值。这几乎是你能买到最具“性价比”的Wi-Fi 6、mesh路由器了。   AX6到手之后,记得先给它连上网、进入到它的管理后台、升级一下它的固件,之后再进行mesh组网会更方便一些,因为小米在AX6发布后发布了一个重要的固件,支持了更多的mesh组网方式、配置也更加简单。随便配置一下,让ax6连上网完成固件升级就行,之后直接断电拔掉就可以,最后配置的时候反正会重置的。 后文:写到这里的时候AX6还是300的价格,但在购买了AX6的一个月后,小米就下架了这款产品,现在淘宝普遍涨价100。       软路由…

NAS vs. SAN – What Are the Differences Between Them

Attention 本文仅用于学习交流,切勿用于商用!若因转载发生任何版权纠纷,本人概不负责。 如您拥有原文的版权,并且不希望本文被翻译发表,请联系我,我会将其删除。 文章涉及到的部分专业术语为保证翻译的准确性不做任何翻译,仅做英文简称全名的展开。文章如有翻译错误,感谢指正。  NAS(Network Attached Storage)和SAN(Storage Area Networks)都是用于解决多用户同时存储数据的问题。它们都为团队用户提供了专用的存储,但是它们在实现这项工作时却有不同的方法。 NAS是在以太网(Ethernet)上的单个存储设备,相比于SAN它相对便宜以及容易部署,而SAN是由多个设备组成的紧密而耦合的网络,相对来说它更加昂贵并且在部署和管理上更为复杂。从用户的角度看,NAS和SAN最大的区别是在于,NAS提供共享式存储的方式是挂在网络硬盘,并且使用的协议是NFS(Network File System)和SMB(Server Manage Block)/CIFS(Common Internet File System),而通过SAN连接的硬盘在用户会像作为本地硬盘一样出现。 本篇文章我们会向你展示一些NAS和SAN的不同之处,以及它们最适合的应用场景,进而帮助你决定哪个才是最适合你的。   基础定义:什么是NAS? NAS是一台连接到网络的电脑,可以为其他在网络上的设备提供基于文件的数据存储服务。NAS的主要有力之处是部署起来比较简单。通过NAS连接的硬盘在用户的电脑上会以挂载网络硬盘的形式出现。文件通常储存在系统中的一个或者多个硬盘中,通常多个硬盘会组成RAID(Redundant Array of Independent Disks)。一般来说,在NAS中有越多的硬盘,那么就有更多可供你选择的储存选项。这种设备其实是一个网络节点——很像电脑或者其他基于TCP/IP协议的设备,所有的设备都有自己的IP地址——NAS文件服务是使用以太网(Ethernet Network)发送以及接受文件的。虽然NAS通常不是出于作为通用服务器的目的而设计的,但是越来越多的NAS供应商和第三方合作方在NAS上提供了类似于服务器的功能。 NAS设备提供了一种的方式让多用户可以在不同的地方访问数据,对于需要在项目中协作或者分享数据的用户们来说,这是十分有价值的。NAS对于协作提供了非常好的访问控制(译者注:这里的访问控制,你可以理解为对不同用户可以设置不同的访问权限以实现访问控制。)以及安全支持,并且对于不是专业IT人员的人来说,也可以通过线上的网页服务进行管理。它也提供了很好的数据冗余储存结构——通常是RAID——让多个硬盘像一个单个的大容量硬盘形式出现,并且可以允许一小部分的硬盘出错而不影响整个系统。 
 NAS的优点 NAS通常是SOHO用户(译者:原文home office or small business,这里翻译用SOHO也很合适)对于容易出错的外接硬盘和DAS(Direct Attached Storage)下一步的升级计划。从外接硬盘和DAS升级到NAS通常是为了这些原因,能够在本地和远程共享文件,7×24小时可以访问文件,冗余数据储存,可以对系统进行替换或者升级其中的硬盘,并且最重要的,支持与云储存一体化,提供重要数据自动备份的位置。   总结NAS的优点: *…