<acronym id='3d916'><em id='3d916'></em><td id='3d916'><div id='3d916'></div></td></acronym><address id='3d916'><big id='3d916'><big id='3d916'></big><legend id='3d916'></legend></big></address>
    1. <i id='3d916'></i>

      <code id='3d916'><strong id='3d916'></strong></code>

      <ins id='3d916'></ins>
      1. <fieldset id='3d916'></fieldset>

      2. <tr id='3d916'><strong id='3d916'></strong><small id='3d916'></small><button id='3d916'></button><li id='3d916'><noscript id='3d916'><big id='3d916'></big><dt id='3d916'></dt></noscript></li></tr><ol id='3d916'><table id='3d916'><blockquote id='3d916'><tbody id='3d916'></tbody></blockquote></table></ol><u id='3d916'></u><kbd id='3d916'><kbd id='3d916'></kbd></kbd>

        <span id='3d916'></span>
          <dl id='3d916'></dl>

            <i id='3d916'><div id='3d916'><ins id='3d916'></ins></div></i>

            实例讲解搭建Linux系统的VPS的步骤

            • 时间:
            • 浏览:12
            • 来源:124软件资讯网

                虚拟专用服务器(英语:Virtual private server ,缩写为 VPS) ,是指通过虚拟化手艺在自力服务器中运行的专用服务器 。每个使用VPS手艺的虚拟自力服务器拥有各自自力的公网IP地址、操作系统、硬盘空间、内存空间、CPU资源等  ,还可以举行安装法式、重启服务器等操作  ,与运行一台自力服务器完全相同  。

                VPS服务器是一项服务器虚拟化和自动化手艺 ,它接纳的是操作系统虚拟化手艺  。操作系统虚拟化的观点是基于共用操作系统内核  ,这样虚拟服务器就无需分外的虚拟化内核的历程 ,因而虚拟历程资源消耗就更低  ,从而可以在一台物理服务器上可以实现更多的虚拟化服务器  。这些VPS服务器以最大化的效率共享硬件、软件允许证以及治理资源 。每一个VPS服务器均可自力举行重启  ,并拥有自己的root会见权限、用户、IP地址、内存、历程、文件、应用法式、系统函数库以及设置文件  。

                前期准备

                需要购置一台拥有 root 权限的 VPS  ,我选择的是 搬瓦工 ,其时购置的是 512 M 内存 5 G SSD  ,500 G 流量/月 , 9.99 刀每年  ,可是似乎现在这种低价套餐已经竣事了  。有意的朋侪可以看一下其他的套餐或者此外公司的 VPS  。有的朋侪说 DigitalOcean 的速率很是快  ,看YouTube直接 1440p ,可是我还没测试过 ,现在搬瓦工的速率能知足我的需求  ,而且 DO 的价钱比力昂贵  。

                下图是搭了 SS 和 IPsec VPN 服务的使用情形 ,仅供参考:

                服务器购置后  ,安装 CentOS7  ,由于以下教程都是基于 CentOS7 的  ,安装新的 OS 后  ,搬瓦工会告诉你 SSH 的端口和 root 的密码  ,这些是自己无法自界说的  ,要记着了若是着实忘了也可以重置 root 密码  ,或者直接使用搬瓦工提供的在线SSH登录来操作也可  ,就是反映比力慢  ,以是我们以后照旧常用 ssh 登录来设置 VPS ,Mac 下直接使用终端就好  ,win 下自行寻找一个 ssh 工具就好  。

                登录 ssh 的下令:

                代码如下:

                $ ssh -p vps 端口号 root@vpsIP 地址

                登录上以后就相当于在当地操作一样了 ,你可以使用种种 Linux 下令来操作了 。

                设置防火墙

                若是 SSH 无法登录  ,那说明防火墙关闭了 SSH 端口  ,需要通过在线 SSH 登录进去关闭防火墙重新设置  。

                扫除防火墙设置

                代码如下:

                $ iptables -F

                扫除 iptabels 所有表项  ,同时 nat 设置也没了 ,可是我们后续的剧本里会设置的 ,不用担忧 。若是 SSH 登录正常就不用管防火墙  。

                安装 firewalld

                代码如下:

                $ yum install firewalld firewall-config

                $ systemctl start firewalld

                P.S. 我在安装完 firewalld 之后然后启动服务的时间一直显示失败 ,然后重启了一遍服务器就可以正常的启动 firewalld 服务了  ,有类似情形的朋侪可以重启一下服务器  。

                修改 SSH 端口

                代码如下:

                $ vi /usr/lib/firewalld/services/ssh.xml

                会泛起以下的内容:

                代码如下:

                

                SSH

                Secure Shell (SSH) is a protocol for logging into and executing commands on remote machines. It provides secure encrypted communications. If you plan on accessing your machine remotely via SSH over a firewalled interface , enable this option. You need the openssh-server package installed for this option to be useful.

                

                将 port=”22”  ,修改成搬瓦工提供应你的端口号  ,然后重载 firewalld 就 OK  。

                vi 的下令: 按 “i” 是编辑模式  ,编辑后按 “esc” 退出编辑模式  ,然后按 Shift 输入“:” 和 “wq” 生存退出 vi  。

                代码如下:

                $ firewall-cmd --permanent --add-service=ssh

                $ firewall-cmd --reload

                OK  ,现在准备事情都已停当  ,安装了源 ,安装设置了防火墙  ,下一步最先搭建服务了  。

                搭建 Shadowsocks 服务

                这个服务是最简朴也是最常用的  。

                安装组件

                代码如下:

                $ yum install m2crypto python-setuptools

                $ easy_install pip

                $ pip install shadowsocks

                安装时部门组件需要输入 Y 确认  。小内存 VPS 可以划分安装组件  。

                安装完成后设置服务器参数

                代码如下:

                $ vi /etc/shadowsocks.json

                写入如下设置:

                代码如下:

                {

                "server":"0.0.0.0"  ,

                "server_port":8388  ,

                "local_address": "127.0.0.1"  ,

                "local_port":1080  ,

                "password":"mypassword"  ,

                "timeout":300  ,

                "method":"aes-256-cfb" ,

                "fast_open": false  ,

                "workers": 1

                }

                将上面的 mypassword 替换成你的密码  , server_port 也是可以修改的  ,例如 443 是 Shadowsocks 客户端默认的端口号  。

                若是需要修改端口  ,需要在防火墙里打开响应的端口 ,用 firewalld 操作就比力简朴了:

                代码如下:

                $ vi /usr/lib/firewalld/services/ss.xml

                下面代码粘贴到内里:

                代码如下:

                

                

                SS

                Shadowsocks port

                

                生存退出  ,然后重启 firewalld 服务:

                代码如下:

                $ firewall-cmd --permanent --add-service=ss

                $ firewall-cmd --reload

                运行下令  ,启动 Shadowsocks 服务

                运行下面的下令:

                代码如下:

                $ ssserver -c /etc/shadowsocks.json

                至此 shadowsocks 搭建完成 ,shadowsocks 已经可以使用  ,若是你没有过高的要求 ,下面的步骤可以省略 ,下面是后台运行 Shadowsocks 的步骤  。

                安装 supervisor 实现后台运行

                运行以下下令下载 supervisor:

                代码如下:

                $ yum install python-setuptools

                $ easy_install supervisor

                然后建立设置文件:

                代码如下:

                $ echo_supervisord_conf > /etc/supervisord.conf

                修改设置文件:

                代码如下:

                $ vi /etc/supervisord.conf

                在文件末尾添加:

                代码如下:

                [program:ssserver]command = ssserver -c /etc/shadowsocks.json

                autostart=true

                autorestart=true

                startsecs=3

                设置 supervisord 开机启动 ,编辑启动文件:

                代码如下:

                $ vi /etc/rc.local

                在末尾另起一行添加:

                代码如下:

                $ supervisord

                生存退出(和上文类似) 。另 centOS7 还需要为 rc.local 添加执行权限:

                代码如下:

                $ chmod +x /etc/rc.local

                至此运用 supervisord 控制 Shadowsocks 开机自启和后台运行设置完成 。重启服务器即可 。

                搭建 Strongswan 实现在 iOS 上毗连 VPN

                若是你只是需要在 Android, PC 上使用 VPN ,那可以直接忽略此章内容  , Shadowsocks 已经可以很是完善的资助以上装备实现翻墙 。 可是由于 iOS 上无法使用 Shadowsocks 以是需要使用 Strongswon 建设 IPsecVPN  。

                下载并编译 Strongswan

                首先我们来编译 Strongswan  , 由于直接用 yum install 的不能用 ,缘故原由不明  ,以是直接下载源码和依赖包举行编译  。

                下载 Strongswan 的源码:

                代码如下:

                $ wget http://download.strongswan.org/strongswan.tar.gz && tar zxvf strongswan*

                $ cd strongswan*

                下载编译源码所需要的依赖包(小内存请分批下载):

                代码如下:

                $ yum install -y make gcc gmp-devel openssl openssl-devel

                因搬瓦工是 OpenVZ 的以是用下面的下令来举行设置:

                代码如下:

                $ ./configure --sysconfdir=/etc --disable-sql --disable-mysql --disable-ldap --enable-dhcp --enable-eap-identity --enable-eap-mschapv2 --enable-md4 --enable-xauth-eap --enable-eap-peap --enable-eap-md5 --enable-openssl --enable-shared --enable-unity --enable-eap-tls --enable-eap-ttls --enable-eap-tnc --enable-eap-dynamic --enable-addrblock --enable-radattr --enable-nat-transport --enable-kernel-netlink --enable-kernel-libipsec

                非 OpenVZ 的请用下面的下令来举行设置:

                代码如下:

                ./configure --sysconfdir=/etc --disable-sql --disable-mysql --disable-ldap --enable-dhcp --enable-eap-identity --enable-eap-mschapv2 --enable-md4 --enable-xauth-eap --enable-eap-peap --enable-eap-md5 --enable-openssl --enable-shared --enable-unity --enable-eap-tls --enable-eap-ttls --enable-eap-tnc --enable-eap-dynamic --enable-addrblock --enable-radattr --enable-nat-transport --enable-kernel-netlink

                最先编译源代码:

                代码如下:

                $ make && sudo make install

                没有错误泛起后 ,可举行下一步 。

                天生证书

                建设个暂时目录来天生证书:

                代码如下:

                $ mkdir ~/ipsec_cert && cd ~/ipsec_cert

                天生服务器证书

                用的是 iOS8 不越狱翻墙方案中建立的剧本  。SERVER 换成自己的域名或IP 都行  。

                代码如下:

                $ wget https://gist.githubusercontent.com/songchenwen/14c1c663ea65d5d4a28b/raw/cef8d8bafe6168388b105f780c442

              412e6f8ede7/

              server_key.sh

                $ sh server_key.sh SERVER

                天生客户端证书

                同样是他的剧本 ,这个剧本还会天生一个 .p12 证书  ,这个证书需要导入到 iOS 里  ,USER 换成你自己的用户名 EMAIL 换成你自己的 email 。

                代码如下:

                $ wget https://gist.githubusercontent.com/songchenwen/14c1c663ea65d5d4a28b/raw/54843ae2e5e6d1159134cd9a90a08

              c31ff5a253d

              /client_key.sh

                $ sh client_key.sh USER EMAIL

                复制证书到 /etc/ipsec.d/

                Strongswan 需要的是 cacerts/strongswanCert.pem 、certs/vpnHostCert.pem 、private/vpnHostKey.pem 这三个文件 。

                代码如下:

                $ sudo cp cacerts/strongswanCert.pem /etc/ipsec.d/cacerts/strongswanCert.pem

                $ sudo cp certs/vpnHostCert.pem /etc/ipsec.d/certs/vpnHostCert.pem

                $ sudo cp private/vpnHostKey.pem /etc/ipsec.d/private/vpnHostKey.pem

                同步客户端证书到当地

                客户端需要的是 .p12 证书和 cacerts/strongswanCert.pem 将这两个证书同步到当地  ,然后通过邮件发送到 iOS 装备中并安装

                代码如下:

                $ scp -P ssh端口 root@服务器ip:~/ipsec_cert/****.p12 ~/

                $ scp -P ssh端口 root@服务器ip:~/ipsec_cert/cacerts strongswanCert.pem ~/

                设置 Strongswan

                编辑 /etc/ipsec.conf:

                代码如下:

                $ vi /etc/ipsec.conf

                将下面的代码笼罩原有内容:

                代码如下:

                config setup

                ### strictcrlpolicy=yes

                ### uniqueids = replace

                ### charondebug="cfg 2, dmn 2, ike 2, net 0" ### 要看Log时  ,作废注释本行

                conn %default

                keyexchange=ikev1

                dpdaction=hold

                dpddelay=600s

                dpdtimeout=5s

                lifetime=24h

                ikelifetime=240h

                rekey=no

                left=emptyzone.github.io ### 这里换成你登录 VPN 用的域名或 IP  ,与天生证书时相同

                leftsubnet=0.0.0.0/0

                leftcert=vpnHostCert.pem

                leftsendcert=always

                right=%any

                rightdns=8.8.8.8

                rightsourceip=10.0.0.0/8

                conn CiscoIPSec

                rightauth=pubkey

                rightauth2=xauth

                auto=add

                编辑 /etc/ipsec.secrets , 建立用户名及密码:

                代码如下:

                vi /etc/ipsec.secrets

                将以下内容添加进去:

                代码如下:

                ### 验证用户所需的信息

                ### 用户名 : EAP "密码"

                : RSA vpnHostKey.pem

                你的用户名 : EAP "你的密码"

                使用 firewalld 设置防火墙

                用 firewalld 开放 4500、500 端口和 esp 协议  。

                代码如下:

                $ vi /usr/lib/firewalld/services/ipsec.xml

                内容如下:

                代码如下:

                IPsec

                Internet Protocol Security (IPsec) incorporates security for network transmissions directly into the Internet Protocol (IP). IPsec provides methods for both encrypting data and authentication for the host or network it sends to. If you plan to use a vpnc server or FreeS/WAN, do not disable this option.

                然后输入以下下令后 ,至此整个搭建历程就竣事了  。

                代码如下:

                $ firewall-cmd --permanent --add-service=ipsec

                $ firewall-cmd --permanent --add-masquerade

                $ firewall-cmd --reload

                把下载的两个证书用 email 发送到你的 iOS 上 ,安装后建设个 VPN 毗连  ,选 IPsec  ,使用证书 ,选择你的用户名的证书即可  ,登录下试试吧  。