美文网首页
linux搭建VPN随地办公

linux搭建VPN随地办公

作者: 风果 | 来源:发表于2017-09-29 22:05 被阅读916次

本人电脑deepin linux参考了:

http://wiki.ubuntu.org.cn/OpenVPN_server

http://blog.csdn.net/qq_16253681/article/details/52002916

http://www.techrepublic.com/blog/linux-and-open-source/use-hamachi-vpn-on-your-linux-clients/2232/#.

(没搞定openVPN,最后用Haguichi + ssh取代)

OpenVPN

我们可以把处于LAN环境下的特定计算机设置为一个VPN服务器,这个服务器可以让处于LAN之外的远程客户端和LAN上的计算机进行加密通信(通过VPN服务器接入). 当两台终端建立VPN连接通道(服务端和客户端)时,OpenVPN使用PKI(Public Key Infrastructure)对其进行加密.

VPN

服务器的硬件需求取决于最大的并发通信隧道的数量.通俗的来讲,最为普通配置的电脑可以胜任一台并发连接数不大于10的VPN服务器.而一台不大于100个并发连接数的VPN服务器则需要较高的内存和CPU配置.网络连接也是一个限制因素,所以,高配的网卡也是必须的(至少支持千兆网卡).

使用桥接模式

OpenVPN 服务器通常使用桥接模式.一个网络(如:eth0)连接到WAN(互联网),这个连接用来接入VPN请求,另外一个(如:eth1)连接到LAN(局域网),VPN数据的流动在这两个网络间可以理解为被”桥接”了.查看Network Interface Bridging获取详情.

OpenVPN 服务器的安装

安装 OpenVPN:

sudo apt-get install openvpn easy-rsa

服务器证书

创建OpenVPN服务器证书.

复制 easy-rsa 目录到 /etc/openvpn. 这个操作确保在包更新后脚本内容不会丢失.

sudo mkdir /etc/openvpn/easy-rsa/

cp -r /usr/share/easy-rsa/* /etc/openvpn/easy-rsa/

编辑 /etc/openvpn/easy-rsa/vars 根据实际情况在其中修改相应的环境变量:

export KEY_COUNTRY="US"

export KEY_PROVINCE="NC"

export KEY_CITY="Winston-Salem"

export KEY_ORG="Example Company"

export KEY_EMAIL="steve@example.com"

export KEY_CN=MyVPN

export KEY_NAME=MyVPN

export KEY_OU=MyVPN

运行脚本,创建服务器证书:

cd /etc/openvpn/easy-rsa

source vars

source ./vars 不能成功。找不到openssl.cnf文件。

openssl --version命令检查版本,并修改相应的配置文件为openssl.cnf即可。

./clean-all

./build-dh

./pkitool --initca

./pkitool --server server

cd keys

openvpn --genkey --secret ta.key

sudo cp server.crt server.key ca.crt dh2048.pem ta.key /etc/openvpn/

客户端证书

为了能让VPN客户端在运行时能够通过服务器认证,需要生成一个客户端证书.

创建证书:

cd /etc/openvpn/easy-rsa/source vars./pkitoolhostname

说明: 用需要连接到VPN服务器的客户端计算机名替换hostname(不含双引号).

拷贝前面生成的下述认证文件到客户端:

/etc/openvpn/easy-rsa/ca.crt

/etc/openvpn/easy-rsa/hostname.crt

/etc/openvpn/easy-rsa/hostname.key

说明: 请拷贝和你的客户端机器名("hostname")相符的文件.

服务器配置

在OpenVPN服务器上修改 /etc/openvpn/server.conf

可以通过示例文件修改:

sudo cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn/

sudo gzip -d /etc/openvpn/server.conf.gz

修改 etc/openvpn/server.conf:

sudo gedit  /etc/openvpn/server.conf

根据实际情况更改下述选项:

local 172.18.100.101

dev tap0

server-bridge 172.18.100.101 255.255.255.0 172.18.100.105 172.18.100.200

push "route 172.18.100.1 255.255.255.0"

push "dhcp-option DNS 172.18.100.20"

push "dhcp-option DOMAIN example.com"

tls-auth ta.key 0 # This file is secret

user nobody

group nogroup

说明:

local: 指桥接接口的IP地址.

server-bridge: 使用桥接模式时需要配置. 172.18.100.101 255.255.255.0 这一部分是桥接接口的IP和掩码. 172.18.100.105 172.18.100.200 是要分配给客户端的IP地址池;

push: 为客户端指定需要添加的IP配置.

user and group: 配置OpenVPN后台服务所依赖的用户和组;

根据实际网络情况替换上述所有的IP地址和域名k.

创建脚本,添加TAP接口到网桥.

创建 /etc/openvpn/up.sh:

sudo gedit  /etc/openvpn/up.sh

添加以下内容:

#!/bin/sh

#

BR=$1

DEV=$2

MTU=$3

/sbin/ifconfig $DEV mtu $MTU promisc up

/usr/sbin/brctl addif $BR $DEV

创建 /etc/openvpn/down.sh:

sudo nano /etc/openvpn/down.sh

添加以下内容:

#!/bin/sh

#

BR=$1

DEV=$2

#

/usr/sbin/brctl delif $BR $DEV

/sbin/ifconfig $DEV down

设置脚本权限为可执行:

sudo chmod 755 /etc/openvpn/down.sh

sudo chmod 755 /etc/openvpn/up.sh

重启 OpenVpn服务:

sudo /etc/init.d/openvpn restart

客户端配置

复制示例文件:

sudo cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf /etc/openvpn

修改配置文件:

sudo nano /etc/openvpn/client.conf

参考下面的内容进行修改:

dev tapremotevpn.mycompany.com1194certhostname.crtkeyhostname.keytls-auth ta.key 1

说明: 用你VPN服务器的服务器名替换vpn.mycompany.com, 根据你使用的.crt和.key文件名(这两个文件名应该一致)替换"hostname".

重启 OpenVpn服务:

sudo /etc/init.d/openvpn restart

通过VPN服务器远程连接到LAN.

相关文章

  • linux搭建VPN随地办公

    本人电脑deepin linux参考了: http://wiki.ubuntu.org.cn/OpenVPN_se...

  • vpn搭建(linux)

    由于内网的网络限制(如不能访问视频网站),就想能不能通过租用服务器来实现对内网限制的突破。想起现在如火如荼的云计算...

  • VPN P2TP一键安装脚本

    IPsec VPN 服务器一键安装脚本 使用 Linux 脚本一键快速搭建自己的 IPsec VPN 服务器。支持...

  • kali linux 搭建 vpn

    1,进入www.ivacy.com 购买 并联系客服索要域名2,命令行输入 3,打开设置,网络,添加vpn,选择...

  • ssh连接内网Linux服务器

    疫情期间远程办公,搭建了VPN方便远程连接公司服务器,VPN连接需要知道公司的公网ip,而公网ip是动态变化,所以...

  • 使用bandwagon(搬瓦工)搭建svn服务器

    前言 半年前购买过 bandwagon 的服务,主要用于 vpn 的使用,vpn 搭建教程看这里。最近有想自己搭建...

  • 通过设置Linux启动任务和定时任务优化搬瓦工

    转载注明出处:简书-十个雨点 之前我自己通过搬瓦工搭建了个人服务器和VPN,参见用搬瓦工搭建个人博客和VPN,有朋...

  • 如何搭建自己的vpn服务器

    要搭建自己的VPN服务器,您可以按照以下步骤进行操作: 选择您要使用的VPN协议 VPN服务器可以使用多种协议,例...

  • iOS vpn搭建

    1. 这个是干啥的? 大家在appstore上会搜到很多的vpn App,例如下图所示。这些其实都是用apple自...

  • Linux (MacOS) 使用openconnect连接Glo

    Linux (MacOS) 使用openconnect连接GlobalProtect SSL VPN网络 公司Gl...

网友评论

      本文标题:linux搭建VPN随地办公

      本文链接:https://www.haomeiwen.com/subject/zfuwextx.html