欢迎来到 星空Online - 织梦者,我的原创世界。

配置SNAT转发实现无公网IP机器上网

发布于:9/19/2019, 10:18:07 PM @孙博
技术分享 | 运维,后端,阿里云,SNAT

SNAT全称为Source Network Address Translation,其实就是源地址转换,通过iptables配置转发规则,使内网转发到网关的请求IP地址可以变更为指定的地址。大家自家家里的路由器往往就可以看做是一个NAT网关,路由器通过拨号从ISP那里获得一个外网IP地址(如 45.67.8.90),由路由器通过DHCP协议为子网内的机器分配内网地址(如 192.168.0.123 等),同时路由器也会为自己分配一个同一网段的地址(如192.168.0.1),如果子网内的机器想要访问外部网络,比如想要打开本站(www.luckystarry.com),那么在浏览器发出请求后,DNS会先将域名转化为IP地址121.196.193.53,其网络流量会先发送到网关——即路由器192.168.0.1,由路由器将请求来源地址192.168.0.123修改为45.67.8.90后,再将其转发到真实的外部地址,在服务器返回响应时,也是先返回至路由器,由路由器将数据包的目的IP修改为内网机器的IP后192.168.0.123,内网机器便可收到此次请求的响应。

通过SNAT,我们仅需有一台具备外网IP的机器,便可让同一子网的所有机器都能与外部通信,如果是建立在阿里云的VPC条件时,就意味着我们不需要为每台机器都绑定一个外网网卡,也能让所有机器对外发送请求。虽然阿里云提供了成熟的NAT网关服务,但其高昂的售价(306元一个月)对于流量较小的站长来说,既不必要也不实惠。

本文以阿里云VPC环境为例,测试需要VPC中有至少一台自带公网带宽的ECS,或绑定了EIP的ECS

阅读更多内容......

使用 Jenkins 借助 Docker 实现自动化部署

发布于:9/11/2019, 8:35:09 PM @孙博
技术分享 | Docker,Jenkins,CI/CD,DevOps

使用Docker部署站点已经很方便了,但是手敲命令还是会存在一定的风险——有可能因为写错命令导致生产环境挂掉、不方便多人操作等,因此我们可以选择一些常见的CI/CD工具帮我们完成这个工作。

这里向大家推荐的是Jenkins的解决方案。我们可以将Jenkins通过Docker部署,并使用Jenkins管理其他应用的编译与部署,由于Jenkins官方已经提供了Docker镜像,所以我们只需简单的命令就能让其跑起来。(命令中/var/jenkins为宿主机用于存放Jenkins运行所需的文件,请根据自身实际情况替换

Docker部署Jenkins

阅读更多内容......

GitLab 配置腾讯企业邮箱

发布于:7/30/2019, 2:49:30 PM @孙博
技术分享 | GitLab

受美国贸易战影响,GitHub限制了克里米亚、伊朗等多个国家和地区用户访问,对于程序员来说,自己的代码是非常宝贵的财富,肯定不允许轻易丢掉,为了防止未来 GitHub 再限制更多国家或地区的访问,我们只能寻找一些新的替代品。对于大陆来说,免费易用的码云(Gitee)就是一个很好的替代,虽然在世界范围内的知名度不如 GitHub,但借助开源中国的名号,在国内还是有着不小的影响力。

但也有部分程序员在这个时候,希望能够搭建一个自己的代码仓库站,无论发生什么状况,只要是自己管理的,就不会轻易被外界关闭,而这个时候,GitLab 就成了一个不错的选择。

与 GitHub 类似,GitLab 也有着极为丰富的站点管理功能,并且它还推出强大的社区版供所有用户免费使用以搭建大家自己的代码仓库,在Docker的加持下,整个搭建过程也非常容易。

阅读更多内容......