CentOS 8 使用 Strongswan IPsec IKEv2 搭梯

特色

本文介绍使用 StrongSwan 搭建 VPN 的过程,适合有一定 linux 基础的用户。

本文使用的服务器

  • 1CPU,1G,  优惠码
  • CentOS 8.3
  • StrongSwan 5.8.2

StrongSwan 简介

StrongSwan 是基于 OpenSource IPsec 的 VPN 解决方案,官方网站:https://www.strongswan.org/ ,如果无法访问请使用科学上网,原因你懂的。 阅读全文

CentOS 7 安装 Shadowsocks 科学上网

特色

本次安装使用的服务器配置:
DigitaIOcean VPS + CentOS 7.2

Shadowsocks 需要 python 运行.

 

1. 安装 Shadowsocks

2. 创建 shadowsocks 服务, 随系统启动.

写入下面的内容

保存退出

添加配置文件

写入配置内容

保存退出

启动服务

配置完成

记得在防火墙中开放相应端口

客户端安装

首先下载客户端, 虽然原作者删除了服务端代码, 但他仍在开发客户端.

下载后解压, 配置服务器参数即可使用, 方法就不多说了.

CentOS 7 Nginx Let’ s Encrypt SSL 证书安装配置

特色

更新时间:2019-04-29

Let’ s Encrypt 是一个免费的 SSL/TLS 证书发行机构, 证书有效期为90天, 到期前30内可续期, 实现永久免费.

本次安装使用的服务器配置:

  • 阿里云ECS香港服务器, 1CPU,1G,  优惠码
  • CentOS 7.5
  • nginx 1.15.3

Let’ s Encrypt SSL 证书的的获取并不是像其他网站一样, 在页面上填写资申请证书, 而是需要在域名所在的服务器上安装一个客户端(python写的)去获取证书和续期.

目前 Let’ s Encrypt  支持两种类型的证书,一种是必须显示指定域名的证书,另一种是通配符证书,两种证书的申请方式略有不同。

使用 Certbot 客户端

Certbot 客户端是现在官方推荐的客户端

certbot 官网

客户端安装

运行 certbot,测试程序是否正常。

如果运行正常,将出现类似下面的提示。

如果某些依赖包版本过低或不匹配,则可能会出现类似下面的提示。

根据所缺少的依赖包的不同,提示内容可能不同,使用下面的命令尝试修复。

再次运行 certbot ,程序正常。

一. 申请固定域名证书 阅读全文

CentOS 7 配置 LNMP + FTP 环境

特色

CentOS 7 与前代相比有了巨大改变,  服务管理器, 时间设置等等, 对于习惯了前代版本的人来说还是需要时间适应的.

下面讲一下如何从头配置 CentOS 生产环境, 以 DigitalOcean 云主机为例, 有关此云主机的介绍 请点这里

CentOS 7 为64位系统, 最低内存要求512M.

 一. 添加常用软件源

1. 添加 Remi

Remi 主打 php 及相关扩展, 所以安装 php 这个源是不二选择.
首先进入 Remi 网站, 在 Maintained Enterprise Linux (RHEL / CentOS / Other clones) 列表中找到 Enterprise Linux 7 项后面的 remi-release-7.rpm , 执行下面的命令安装.

编辑 remi.repo 文件

修改 [remi]

保存退出

编辑 remi-php72.repo

修改 [remi-php72]

保存退出

一般来说, 安装 Remi 源的时候会附带安装 EPEL 源, 如果没有安装, 则按以下方法安装.

2. 添加 EPEL

EPEL 包含丰富的软件, 进入网站往下拉, 找到 Quickstart 项, 根据系统架构与版本选 RHEL/CentOS 7, 点击, 系统会根据来访ip查找最快的源镜像, 国内访问通常会转到搜狐与中科大的源.如果想用美国源, 最好是用代理访问或者在服务器中输入如下命令

 3. 添加 Nginx

进入 Nginx 官网 , 点右侧的 download 链接, 拉到最下面找到 Pre-Built Packages 项. 点 mainline version(主线版本; stable version 为稳定版本) 版本的链接. 根据提示编辑 repo 文件的内容, 具体操作如下.
在 yum repo 目录创建新的 nginx.repo 文件

输入以下内容

保存退出

4. 添加 MariaDB

MariaDB 是 MySql 分支出来的项目, 因为 MySql 被 Oracle 收购且闭源, 所以有了 MariaDB, 并逐步添加新的功能. 最新版 10.x 已不再从 MySql 合并代码.

打开页面

https://downloads.mariadb.org/mariadb/repositories/#mirror=qiming&distro=CentOS 阅读全文

为 npm 设置代理

npm 有两个代理设置,一个是 http 代理,一个是 https 代理。

在命令行设置代理服务器。

代理服务器可以使用小灰机(小灰机同时支持 socks 代理和 http 代理)

为 Visual Studio 设置 NuGet 代理

因为众所周知的原因,在国内使用 NuGet 时会经常无法下载包,严重影响工作效率,下面说一下如何给 NuGet 设置代理。

找到 NuGet 配置文件

NuGet 仅支持 HTTP 代理,Visual Studio 的 NuGet 配置文件位于 “ %appdata%\NuGet\NuGet.Config” 目录,此配置的作用域为当前 Windows 用户,详情可参考微软文档

设置 NuGet 代理

在 “ <configuration> ” 节下增加 “ <config> ” 节,添加 “ http_proxy” 配置项,值为 HTTP 代理服务器 url。

代理服务器可以是任何 http 代理,也可以用小灰机代理(小灰机本身即是 socks 代理也是 http 代理)。 阅读全文

CentOS 7 安装 OpenVPN

本文使用的服务器

  • 阿里云ECS香港服务器, 1CPU,1G,  优惠码
  • CentOS 7.5
  • OpenVPN 2.4.6

安装 OpenVPN

想要更多?没了!就是这么简单。

安装过程需要用户选择多次选择设置项。按提示输入序号就可以。 具体说明请看 这里

用老版本客户端连接

如果你同我一样需要在路由器上连接 OpenVPN 服务端,可能会遇到一些问题,最典型的就是客户端的版本过低,服务端不支持。例如我的华硕路由器的 OpenVPN 客户端是 2.3.2 版本的,上面安装的服务端加密方式要求最低版本为2.4。

要解决这个问题,只需修改几项配置即可。

修改服务端配置

修改客户端配置

在脚本的同一目录下会生成一个 .ovpn 文件,这是给客户端的配置文件。编辑它。

保存之后将此文件上传到路由器,即可成功连接vpn。

查看服务端运行状态

 

CentOS 7 使用 Strongswan 配置 IKEv2 VPN

CentOS 8 安装请移步 《CentOS 8 使用 Strongswan IPsec IKEv2 搭梯》

 

本文介绍使用 StrongSwan 搭建 VPN 的过程,适合有一定 linux 基础的用户。

本文使用的服务器

  • 阿里云ECS香港服务器, 1CPU,1G,  优惠码
  • CentOS 7.5
  • StrongSwan 5.6.3

 

StrongSwan 简介

StrongSwan 是基于 OpenSource IPsec 的 VPN 解决方案,官方网站:https://www.strongswan.org/ ,如果无法访问请使用科学上网,原因你懂的。

StrongSwan 运行于 Linux 系统上,本文使用 CentOS 7 系统。

安装StrongSwan

由于基于源码自行编译安装过于繁琐,这里只介绍使用 yum 的安装方式。

首先,配置 StrongSwan 的源,此软件已包含在 EPEL 源中,关于配置 yum 源,请参考 《CentOS 7 配置 LNMP + FTP 环境》文中的 “添加常用软件源” 部分。

安装 StrongSwan

启用开机启动

申请 ssl 证书

StrongSwan IPsec IKEv2 连接需要用到服务器证书,用于验证服务器身份。由于自签发证书不受操作系统信任,我们需要申请 Let’s Encrypt 免费证书。

申请方式参考《CentOS 7 Nginx Let’ s Encrypt SSL 证书安装配置》, 申请的域名必须是明确的,不能用通配符证书代替。例如,vpn.xxx.com, 申请证书时,必须带上 -d vpn.xxx.com 参数。

配置 StrongSwan

安装证书

假设上一步我们申请的证书保存在 /etc/letsencrypt/live/xxx.com 中,xxx.com 是你申请证书使用的域名。

我们使用创建软连接的方式使用证书

证书安装完成

 

修改 ipsec.conf 主配置文件

删除原有内容,写入已下内容

 

修改 charon.conf, 配置日志输出文件。

日志不是必要项,建议只用在调试配置时使用,配置正常后注释掉 filelog 节部分。

 

修改 ipsec.secrets , 增加 vpn 账户。

添加服务端证书私钥,新建用户账号。

 

开启内核转发

增加下面的内容

重新加载规则

 

配置防火墙

CentOS 7 默认使用 firewalld 防火墙, 有关 firewalld 的介绍请看这里

允许 ‘AH’ 和 ‘ESP’ 身份验证协议和加密协议通过防火墙

开放 ipsec 和相关端口

允许 ip 伪装

然后重新加载防火墙

 

如果 vps 配置较低,内存有限,可以使用 iptables 替换 firewalld 防火墙。

首先禁用 firewalld

然后安装 iptables

配置 iptables

在默认内容基础上,添加几条规则(下面高亮的部分)。

重新加载 iptables 规则

 

启动 StrongSwan 服务

 

配置客户端

windows 10

开始->设置->网络和Internet->vpn->添加vpn连接

添加完成后点击“更改适配器选项”

在vpn连接项点右键,属性->网络

双击 ipv4 ,点击“高级”

勾选“在远程网络上使用默认网关”, 取消“自动跃点”,手动填写跃点数为“10”(当自动跃点无法上网时才设置手动跃点)。如何确定跃点数,请看下面内容。

确定后连接 vpn 即可。

确定跃点数

因为 win10 系统的问题,经常会出现vpn连接能连上,就是打不开网页的情况,这是因为“本地连接”的优先级高于“vpn”的优先级,导致所有的请求优先使用“本地连接”的dns去解析域名,由于我们国家坚持推行使用社会主义特色的dns,所以某些域名解析会返回无效或错误的ip地址,这就导致我们无法正常访问网站!跃点数就是设定优先级用的。

我们需要做的就是让 “vpn 连接” 的跃点数小于 “本地连接” 的跃点数。

断开vpn, 打开 PowerShell 窗口,输入下面命令。

第一列表示当前接口的索引号,第二列是名称,InterfaceMetric 列即接口的跃点,我的本地连接名是 WLAN, 跃点是35。

查看“本地连接”网卡的跃点数为 35,因此上一步中设置的跃点数只要小于35即可(跃点数越小优先级越高),所以我们设置为10。

IOS

“设置->VPN->添加配置”, 选 IKEv2

描述: 随便填
服务器: 填url或ip
远程ID: ipsec.conf 中的 leftid, 如 “xxx.com”
用户鉴定: 用户名
用户名: EAP 项用户名, 如 “user1”
密码: EAP 项密码, 如 “password1”

MAC

原理同 ios, 我没有 mac 做验证。

Android

需下载安装客户端程序,前往官网下载

最新版 apk 程序 阅读全文

CentOS 7 安装 .Net Core 环境

当前最新 .net core 版本为 2.1

打开 .net core 下载页面,https://www.microsoft.com/net/download/linux ,页面包含 .net core sdk 及 .net core runtime 两个安装包。

如果需要在 linux 上进行开发,要安装 .net core sdk 版本,不需要开发推荐安装 .net core runtime 版本。

点击 install .NET Core 2.1 Runtime ,进入下载页面,在下拉框中选择 Centos。

按提示输入以下命令

安装完成后运行 dotnet –info 查看版本信息

MySql 单表 join 删除