使用花生壳怎样搭建Openvpn

使用花生壳怎样搭建Openvpn,第1张

Openvpn是虚拟专用通道,简单来说就是一个虚拟局域网。Openvpn部署在内网,但是Openvpn 服务器端的网络并没有公网ip地址,要怎样才能在外网连接呢?没有固定公网IP,需要借助一些网络辅助实现VPN的搭建和访问,类似应用有花生壳、nat123、dnspod等等。通过使用花生壳主机映射功能,达到外网连接Openvpn,详细操作过程如下:

1.搭建Openvpn服务器端和访问端.

2.修改OpenVPN服务器端的server.ovpn文件,将proto udp 更改为proto tcp;

3.在服务端安装并设置端口映射.

应用名称:Openvpn(可自定义)。

内网主机:填写服务器内网的ip地址或者计算机名称(不支持中文);选择主机映射。

4.在访问端上安装花生壳访问者,然后填写域名,点击诊断。

5.修改Openvpn 客户端的client文件,将proto udp更改为tcp;将remote my-server-1 1194更改为remote 域名(设置端口映射的域名)1194。运行Openvpn 客户端,出现绿色代表连接成功。

6.搭建Openvpn成功后,可以检验一下。就以搭建一个远程桌面为例:

服务器端获取虚拟ip地址为10.0.0.1,客户端获取虚拟ip地址为10.0.0.6。在访问端开启远程桌面,在服务器端点击运行——mstsc——输入客户端虚拟ip地址10.0.0.6 进行连接,出现如下界面代表连接成功。

Step 1 OpenVPN安装配置

1.1 下载openvpn 并安装

· 下载openvpn-2.0.5-gui-1.0.3版,地址 http://openvpn.se/files/install_packages/openvpn-2.0.5-gui-1.0.3-install.exe,安装。(例如:安装到F:\OPENVPN目录下,下文举例都用此目录)

· 安装完成后生成一个新网卡,并在网络连接里出现本地连接[X],把tcp/ip属性改成手动配置,192.168.10.1(根据实际情况更改) ,255.255.255.0,其余不填。

1.2 生成证书

· 修改F:\OpenVPN\easy-rsa\vars.bat.sample的以下部分

CODE:

set HOME=%ProgramFiles%\OpenVPN\easy-rsa

set KEY_COUNTRY=US

set KEY_PROVINCE=CA

set KEY_CITY=SanFrancisco

set KEY_ORG=FortFunston

set KEY_EMAIL=mail@host.domain

(请根据自身情况修改)改为

CODE:

set HOME=F:\OpenVPN\easy-rsa

set KEY_COUNTRY=CN

set KEY_PROVINCE=Hubei

set KEY_CITY=Wuhan

set KEY_ORG=51NB

set KEY_EMAIL=MATONG_01@163.COM

· 生成证书

o OpenVPN 有两种安全模式,一种基于使用 RSA 证书和密钥的 SSL/TLS,一种使用预先分享的静态密钥。本文采用SSL/TLS 模式。TLS模式的优点是安全,而且便于管理用户。默认情况下证书和用户是一对一的,多个用户使用同一证书会被踢出。

o 开始-->运行-->键入cmd,回车,进入命令提示符-->进入F:\OpenVPN\easy-rsa目录

QUOTE:

F:\OpenVPN\easy-rsa>

o 执行如下命令

CODE:

init-config

QUOTE:

F:\OpenVPN\easy-rsa>init-config

F:\OpenVPN\easy-rsa>copy vars.bat.sample vars.bat

已复制 1 个文件。

F:\OpenVPN\easy-rsa>copy openssl.cnf.sample openssl.cnf

已复制 1 个文件。

CODE:

vars

CODE:

clean-all

QUOTE:

F:\OpenVPN\easy-rsa>vars

F:\OpenVPN\easy-rsa>clean-all

系统找不到指定的文件。

已复制 1 个文件。

已复制 1 个文件。

CODE:

vars

build-ca

build-dh

QUOTE:

F:\OpenVPN\easy-rsa>vars

F:\OpenVPN\easy-rsa>build-ca #生成根证书

Loading 'screen' into random state - done

Generating a 1024 bit RSA private key

writing new private key to 'keys\ca.key'

You are about to be asked to enter information that will be incorporated

into your certificate request.

What you are about to enter is what is called a Distinguished Name or a DN.

There are quite a few fields but you can leave some blank

For some fields there will be a default value,

If you enter '.', the field will be left blank.

Country Name (2 letter code) [CN]:

State or Province Name (full name) [Hubei]:

Locality Name (eg, city) [Wuhan]:

Organization Name (eg, company) [51NB]:

Organizational Unit Name (eg, section) []:CMWAP

Common Name (eg, your name or your server's hostname) []:fangzy #填自己的名字

Email Address [mail@host.domain]:

F:\OpenVPN\easy-rsa>build-dh #这个有点慢,估计要半分钟

Loading 'screen' into random state - done

Generating DH parameters, 1024 bit long safe prime, generator 2

This is going to take a long time

CODE:

build-key-server server

QUOTE:

F:\OpenVPN\easy-rsa>build-key-server server#生成服务器端的密钥,server为服务器名

Loading 'screen' into random state - done

Generating a 1024 bit RSA private key

writing new private key to 'keys\server.key'

You are about to be asked to enter information that will be incorporated

into your certificate request.

What you are about to enter is what is called a Distinguished Name or a DN.

There are quite a few fields but you can leave some blank

For some fields there will be a default value,

If you enter '.', the field will be left blank.

Country Name (2 letter code) [CN]:

State or Province Name (full name) [Hubei]:

Locality Name (eg, city) [Wuhan]:

Organization Name (eg, company) [51NB]:

Organizational Unit Name (eg, section) []:CMWAP

Common Name (eg, your name or your server's hostname) []:server #填自己的名字

Email Address [mail@host.domain]:

Please enter the following 'extra' attributes

to be sent with your certificate request

A challenge password []:xxxx #输入4位以上的密码

An optional company name []:

Using configuration from openssl.cnf

Loading 'screen' into random state - done

Check that the request matches the signature

Signature ok

The Subject's Distinguished Name is as follows

countryName :PRINTABLE:'CN'

stateOrProvinceName :PRINTABLE:'Hubei'

localityName :PRINTABLE:'Wuhan'

organizationName :PRINTABLE:'51NB'

organizationalUnitName:PRINTABLE:'CMWAP'

commonName:PRINTABLE:'server'

emailAddress :IA5STRING:'mail@host.domain'

Certificate is to be certified until Feb 1 05:30:29 2016 GMT (3650 days)

Sign the certificate? [y/n]:y

1 out of 1 certificate requests certified, commit? [y/n]y

Write out database with 1 new entries

Data Base Updated

CODE:

build-key client

QUOTE:

F:\OpenVPN\easy-rsa>build-key client #生成客户端的密钥,client为用户名

Loading 'screen' into random state - done

Generating a 1024 bit RSA private key

writing new private key to 'keys\client.key'

You are about to be asked to enter information that will be incorporated

into your certificate request.

What you are about to enter is what is called a Distinguished Name or a DN.

There are quite a few fields but you can leave some blank

For some fields there will be a default value,

If you enter '.', the field will be left blank.

Country Name (2 letter code) [CN]:

State or Province Name (full name) [Hubei]:

Locality Name (eg, city) [Wuhan]:

Organization Name (eg, company) [51NB]:

Organizational Unit Name (eg, section) []:CMWAP

Common Name (eg, your name or your server's hostname) []:client

Email Address [mail@host.domain]:

Please enter the following 'extra' attributes

to be sent with your certificate request

A challenge password []:xxxx

An optional company name []:

Using configuration from openssl.cnf

Loading 'screen' into random state - done

DEBUG[load_index]: unique_subject = "yes"

Check that the request matches the signature

Signature ok

The Subject's Distinguished Name is as follows

countryName :PRINTABLE:'CN'

stateOrProvinceName :PRINTABLE:'Hubei'

localityName :PRINTABLE:'Wuhan'

organizationName :PRINTABLE:'51NB'

organizationalUnitName:PRINTABLE:'CMWAP'

commonName:PRINTABLE:'client'

emailAddress :IA5STRING:'mail@host.domain'

Certificate is to be certified until Feb 1 05:31:40 2016 GMT (3650 days)

Sign the certificate? [y/n]:y

1 out of 1 certificate requests certified, commit? [y/n]y

Write out database with 1 new entries

Data Base Updated

生成多个客户端密钥,执行build-key client1 …… build-key xyz。

复制证书文件

刚才生成的证书文件在F:\OpenVPN\easy-rsa\keys下,服务器端需要的文件为ca.crt,dh1024.pem,server.crt,server.key ,客户端需要的文件为:ca.crt client.crt client.key(xxx.crt xxx.key),配置.ovpn文件时需要用到。

1.3 配置server.ovpn文件

· 在\OpenVPN\config目录下创建server.ovpn文件将ca.crt,dh1024.pem,server.crt,server.key复制到F:\OpenVPN\config目录下

· 服务器端文件示例:

server.ovpn

CODE:

port 1198

proto tcp-server

dev tun

server 192.168.10.0 255.255.255.0

keepalive 20 180

ca ca.crt

cert server.crt

key server.key

dh dh1024.pem

push "redirect-gateway def1"

push "dhcp-option DNS 192.168.10.1"

mode server

tls-server

status openvpn-status.log

comp-lzo

verb 4

1.4 客户端安装与配置

o 安装OpenVPN,同1.1,但是不用更改本地连接设置。

o 配置OpenVPN

§ 在\OpenVPN\config目录下创建client.ovpn文件,将ca.crt client.crt client.key 复制到 \OpenVPN\config

目录下,这3个文件由服务器端生成并发放。

§ 客户端文件示例:

client.ovpn

CODE:

client

dev tun

proto tcp-client

remote jacky.10dig.com 1198#这里填入remote server add,可用IP或者域名,

#若Server是动态IP,可到http://www.wingdns.com/注册动态域名绑定动态IP。

#如Client所连接Server使用路由上网,则需要使用NAT将地址映射到Server端。

resolv-retry infinite

nobind

http-proxy 10.0.0.172 80 #这里填入你的代理服务器地址和端口,没有代理则不用这行

mute-replay-warnings

ca ca.crt

cert client.crt #这里改成每个客户端相应的证书

key client.key #这里改成每个客户端相应的证书

comp-lzo

verb 4

status openvpn-status.log

右击openvpn-gui图标,点connect,即可连接。

The End

Thank you for your reading...

Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络 操作系统 。有用户想要在Linux上搭建vps这篇 文章 主要介绍了实例讲解搭建Linux系统的VPS的步骤,包括防火墙和SSH等基本软件的部署 方法 ,非常细致,需要的朋友可以参考下

前期准备

需要购买一台拥有 root 权限的 VPS ,我选择的是 搬瓦工 ,当时购买的是 512 M 内存 5 G SSD,500 G 流量/月, 9.99 刀每年,但是好像现在这种低价套餐已经结束了。有意的朋友可以看一下其他的套餐或者别的公司的 VPS。有的朋友说 DigitalOcean 的速度非常快,看YouTube直接 1440p,但是我还没测试过,目前搬瓦工的速度能满足我的需求,而且 DO 的价格比较昂贵。

服务器购买后,安装 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

补充:Linux基本命令

1.ls命令:

格式::ls [选项] [目录或文件]

功能:对于目录,列出该目录下的所有子目录与文件对于文件,列出文件名以及其他信息。

常用选项:

-a :列出目录下的所有文件,包括以 . 开头的隐含文件。

-d :将目录像文件一样显示,而不是显示其他文件。

-i :输出文件的i节点的索引信息。

-k :以k字节的形式表示文件的大小。

-l :列出文件的详细信息。

-n :用数字的UID,GID代替名称。

-F : 在每个文件名后面附上一个字符以说明该文件的类型,“*”表示可执行的普通文 件“/”表示目录“@”表示符号链接“l”表示FIFOS“=”表示套接字。

2.cd命令

格式:cd [目录名称]

常用选项:

cd .. 返回上一级目录。

cd ../.. 将当前目录向上移动两级。

cd - 返回最近访问目录。

3.pwd命令

格式: pwd

功能:显示出当前工作目录的绝对路径。

相关阅读:Linux主要特性

完全兼容POSIX1.0标准

这使得可以在Linux下通过相应的模拟器运行常见的DOS、Windows的程序。这为用户从Windows转到Linux奠定了基础。许多用户在考虑使用Linux时,就想到以前在Windows下常见的程序是否能正常运行,这一点就消除了他们的疑虑。

多用户、多任务

Linux支持多用户,各个用户对于自己的文件设备有自己特殊的权利,保证了各用户之间互不影响。多任务则是现在电脑最主要的一个特点,Linux可以使多个程序同时并独立地运行。

良好的界面

Linux同时具有字符界面和图形界面。在字符界面用户可以通过键盘输入相应的指令来进行操作。它同时也提供了类似Windows图形界面的X-Window系统,用户可以使用鼠标对其进行操作。在X-Window环境中就和在Windows中相似,可以说是一个Linux版的Windows。

支持多种平台

Linux可以运行在多种硬件平台上,如具有x86、680x0、SPARC、Alpha等处理器的平台。此外Linux还是一种嵌入式操作系统,可以运行在掌上电脑、机顶盒或游戏机上。2001年1月份发布的Linux 2.4版内核已经能够完全支持Intel 64位芯片架构。同时Linux也支持多处理器技术。多个处理器同时工作,使系统性能大大提高。

搭建Linux系统的VPS的步骤相关文章:

1. Linux VPS中使用Crontab实现定时重启任务

2. Linux系统怎么用命令释放内存

3. Linux服务器上的PPTP 搭建方法有哪些

4. VPS怎么设置安全配置

5. Linux查看操作系统安装时间的方法总结


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/363338.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-11
下一篇2023-05-11

发表评论

登录后才能评论

评论列表(0条)

    保存