单网卡Ubuntu服务器打造 PPTP Server

单网卡Ubuntu服务器打造 PPTP Server,第1张

实验室的内部网络中有不少非常有用的资源,例如科研用的文献资料,个人的实验数据等等,这些内容一旦离开实验室就不那么容易访问到了。解决这个问题最好的办法就是 ***。在 Ubuntu 上搭建 *** 服务器的方法非常多,比较著名的有 PPTP, L2TP/IPSec 和 Open***。这三种方式中后两者的安全性比较好,但配置较麻烦。其中 Open*** 在 Windows/Mac 平台上还需要额外的客户端。而 L2TP/IPSec 方式虽然比较好,但我配置后,虽然 Windows 和 Linux 用户没有问题,但 Mac/iPhone 却始终无法连上,所以暂时删掉了,日后搞清楚是什么问题再换到这种方式。

   只剩下 PPTP 了。事实上 PPTP 是这三者中配置最容易的方式,而且由于 Windows/Mac 系统中都内建相应的客户端,使用起来非常方便。下面我就简单写写我的安装过程,希望对需要的朋友有用。当然如果您有什么高见,也欢迎您提出。

首先,我所有的操作都是在之前文章中介绍的 Ubuntu 804 Server 系统中操作的,如果您的系统和我的不一样,请参考之前的两篇文章。我的服务器环境是单网卡 eth0。

在 Ubuntu 中建立 pptp server 需要的软件包为 pptpd,用 apt-get 即可安装:

sudo apt-get pptpd pptpd

   系统会自动解决依赖关系,安装好后,需要进行一番设置。首先编辑 /etc/pptpdconf

sudo nano /etc/pptpdconf

   去掉文件最末端的 localip 和 remoteip 两个参数的注释,并进行相应修改。这里,localip 是 *** 连通后服务器的 ip 地址,而 remoteip 则是客户端的可分配 ip 地址。下面是我的配置:

localip 1010001 remoteip 1010002-10

   编辑好这个文件后,我们需要编辑 /etc/ppp/pptpd-options 文件,还是用 nano 编辑,命令这里就不写了。这里绝大多数参数只需维持原来的默认值即可,我们只需要改变其中的 ms-dns 选项,为 *** 客户端指派 DNS 服务器地址:

ms-dns 2021131610 ms-dns 20867222222

   修改 /etc/ppp/chap-secrets 文件,这里面存放着 *** 的用户名和密码,根据你的实际情况填写即可。如文件中注释所示,第一列是用户名,第二列是服务器名(默认写 pptpd 即可,如果在 pptpd-options 文件中更改过的话,注意这里保持一致),第三列是密码,第四列是 IP 限制(不做限制写 即可)。这里我就不贴我的配置了

全部搞定后,我们需要重启 pptpd 服务使新配置生效:

sudo /etc/initd/pptpd restart

   找一台 Windows 电脑,新建个 *** 链接,地址填服务器的 IP(或域名),用户名密码填刚才设置好的,域那项空着(如果你在 pptpd-options 中设置了,这里就保持一致),点连接就可以了。正常情况下您应该能够建立与服务器的 *** 链接了。

建立连接之后,您会发现除了可以访问服务器的资源,其余内外和互联网的内容均无法访问。如果需要访问这些内容的话,我们还需要进一步设置:

首先,开启 ipv4 forward。方法是,修改 /etc/sysctlconf,找到类似下面的行并取消它们的注释:

netipv4ip_forward=1

   然后使新配置生效:

sudo sysctl -p

   有些时候,经过这样设置,客户端机器就可以上网了(我在虚拟机上这样操作后就可以了)。但我在实验室的服务器上这样操作后仍然无法访问网络,这样我们就需要建立一个 NAT。这里我们使用强大的 iptables 来建立 NAT。首先,先安装 iptables:

sudo apt-get intall iptables

   装好后,我们向 nat 表中加入一条规则:

sudo iptables -t nat -A POSTROUTING -s 1010000/24 -o eth0 -j MASQUERADE

   这样操作后,客户端机器应该就可以上网了。

但是,只是这样,iptables 的规则会在下次重启时被清除,所以我们还需要把它保存下来,方法是使用 iptables-save 命令:

sudo iptables-save /etc/iptables-rules

   然后修改 /etc/network/interfaces 文件,找到 eth0 那一节,在对 eth0 的设置最末尾加上下面这句:

pre-up iptables-restore /etc/iptables-rules

   这样当网卡 eth0 被加载的时候就会自动载入我们预先用 iptables-save 保存下的配置。

到此,一个 *** Server/Gateway 基本就算架设完毕。当然,也许你按照我的方法做了,还是无法成功,那么下面总结一些我碰到的问题和解决方案:

无法建立 *** 连接

   安装好 pptpd 并设置后,客户端还是无法建立到服务器的连接。造成的原因可能有以下几种:

服务器端的防火墙设置:PPTP 服务需要使用 1723(tcp) 端口和 gre 协议,因此请确保您的防火墙设置允许这两者通行。

   如果服务器在路由器后面,请确保路由器上做好相应的设置和端口转发。

   如果服务器在路由器后面,那么请确保你的服务器支持 *** Passthrough。

   如果客户端在路由器后面,那么客户端所使用的路由器也必须支持 *** Passthrough。其实市面上稍微好点的路由器都是支持 *** Passthrough 的,当然也不排除那些最最最便宜的便宜货确实不支持。当然,如果你的路由器可以刷 DD-Wrt 的话就刷上吧,DD-Wrt 是支持的。

   能建立链接,但“几乎”无法访问互联网

   这里我使用“几乎”这个词,是因为并不是完全不能访问互联网。症状为,打开 Google 搜索没问题,但其它网站均无法打开;SSH 可用,但 scp 不行;ftp 能握手,但传不了文件。我就遇到了这种情况,仔细 Google 后发现原来是 MTU 的问题,用 ping 探测了一下果然是包过大了。知道问题就好办了,我们可以通过 iptables 来修正这一问题。具体原理就不讲了,需要的自己 Google。这里只说解决方案,在 filter 表中添加下面的规则:

sudo iptables -A FORWARD -s 1010000/24 -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 1200

   上面规则中的 1200 可以根据你的实际情况修改,为了保证最好的网络性能,这个值应该不断修改,直至能保证网络正常使用情况下的最大值。

好了,至此,一台单网卡 pptp-server 就算完成了。

我们在群晖nas里安装*** Server 套件可以把我们的群晖nas变成一个***服务器,我们可以安全的在远端存取Synology NAS 局域网内分享的资源,群晖的*** server整合了常用的通讯协定:  PPTP、Open*** 、 L2TP/IPSec,当我们启用了nas的***服务,会影响系统的网络性能。

我们先来了解一下三种协议:

PPTP

PPTP (Point-to-Point Tunneling Protocol,点对点信道协议) 是常用的 *** 解决方案,且大多数的客户端 (包含 Windows、Mac、Linux 及行动装置) 皆支持。

若要启动 PPTP *** 服务器:

1、开启 *** Server 并前往左侧面板的 PPTP。

2、勾选启动 PPTP *** 服务器。

3、在动态 IP 地址字段输入 *** 服务器的虚拟 IP 地址。请参阅下方的关于动态 IP 地址来了解更多信息。

4、设定最大联机数量来限制 *** 联机的共同联机数量。

5、设定同一账号最多联机数量来限制使用同一个账号所进行 *** 联机的共同联机数量。

6、从认证下拉式选单中选择下列任一项目来认证 *** 客户端:

PAP:认证过程中,将不加密 *** 客户端的密码。

MS-CHAP v2:认证过程中,将使用 Microsoft CHAP version 2 加密 *** 客户端的密码。

7、若您选择 MS-CHAP v2 验证,请从加密下拉式选单中选择下列任一项目来加密 *** 联机:

No MPPE:*** 联机不会受到加密机制保护。

Optional MPPE:客户端设定将决定 *** 联机会 / 不会受到 40-bit 或 128-bit 加密机制保护。

Require MPPE:客户端设定将决定 *** 联机会受到 40-bit 或 128-bit 加密机制保护。

8、设定 MTU (最大传输单元) 来限制 *** 网络传输的数据封包大小。

9、勾选手动设定 DNS 并指派 DNS 服务器的 IP 地址来发送给 PPTP 客户端。若停用此选项,则会将 Synology NAS 目前所使用的 DNS 服务器发送给客户端。

10、单击套用来让变更生效。

注意:

联机至 *** 时,*** 客户端的验证及加密设定必须与 *** Server 上的相同,否则客户端将无法成功联机。

为兼容于运行在 Windows、Mac OS、iOS 与 Android 系统的大部分 PPTP 客户端,预设的 MTU 值为 1400。若您的网络环境较为复杂,可能需要设定一个较小的 MTU 值。若您经常收到逾时讯息或联机不稳定,请降低 MTU 值。

请检查 Synology NAS 与路由器上的端口转送规则与防火墙设定,确认 TCP 1723 端口已开启。

部分路由器内建 PPTP *** 服务,因此可能已占用 1723 端口。您需先透过路由器的管理接口关闭其内建的 PPTP *** 服务,才能确保 *** Server 上的 PPTP *** 服务可以正常运作。此外,部分旧式路由器可能会封锁 GRE 协议 (IP 协议 47),造成 *** 联机失败;建议使用支持 *** pass-through 联机的路由器。

Open***

Open*** 是开放原始码的 *** 服务解决方案,会以 SSL / TLS 加密机制保护 *** 联机。

若要启动 Open*** *** 服务器:

1、开启 *** Server,前往左侧面板的 Open***。

2、勾选启动 Open*** 服务器。

3、在动态 IP 地址字段输入 *** 服务器的虚拟内部 IP 地址。请参阅下方的关于动态 IP 地址来了解更多信息。

4、设定最大联机数量来限制 *** 联机的共同联机数量。

5、设定同一账号最多联机数量来限制使用同一个账号进行 *** 联机的共同联机数量。

6、为 Open*** 数据传输设定端口与通讯协议。您可以决定要将何种协议的数据封包透过 *** 转送至 Synology NAS 的哪个端口。默认值为 UDP 端口 1194

注意: 为确保 Synology NAS 上的服务可以正常运作,请避免将同样的一组端口与通讯协议指派给其他 Synology 服务。请参阅此篇应用教学以了解更多信息。

7、在加密下拉式选单中择一,以加密 *** 信道中的数据封包。

8、在验证下拉式选单中择一,以验证 *** 客户端。

9、若要在传输数据时压缩数据,请勾选启动 *** 压缩联机。此选项可提升传输速度,但可能会消耗较多系统资源。

10、勾选允许客户端存取服务器的局域网络来让客户端存取服务器的局域网络。

11、勾选启动 IPv6 服务器模式来启动 Open*** 服务器,以传送 IPv6 地址。您必须先在控制面板 > 网络 > 网络接口中,透过 6in4/6to4/DHCP-PD 取得 Prefix,并在此页面中选择该 Prefix。

12、单击套用来让变更生效。

注意:

*** Server 不支持站台对站台的桥接模式。

请检查 Synology NAS 与路由器上的端口转送规则与防火墙设定,确认 UDP 1194 端口已开启。

在 Windows Vista 或 Windows 7 上执行 Open*** GUI 时,请注意,UAC (用户帐户控制) 预设为开启。此设定开启时,需使用以系统管理员身份执行选项来透过 Open*** GUI 进行联机。

在 Windows 上透过 Open*** GUI 启动 IPv6 服务器模式时,请注意以下事项:

*** 所使用的接口名称不可包含空格,例如:LAN 1 须变更为 LAN1。

重新导向网关 (redirect-gateway) 选项须由客户端于 open***o*** 档案中设定。若您不想设定此选项,应手动设定 *** 接口的 DNS。您可以使用 Google IPv6 DNS:2001:4860:4860::8888。

若要汇出配置文件:

单击汇出配置文件。Open*** 让 *** 服务器可颁发证书供客户端使用。所汇出的档案为 zip 压缩文件,其中包含 cacrt (*** 服务器的凭证档案)、open***o*** (客户端使用的配置文件案),以及 READMEtxt (客户端如何设定 Open*** 联机的简易说明)。

注意:

每次启动 *** Server 时,便会自动复制、使用显示于控制面板 > 安全性 > 凭证之凭证。若您需使用第三方凭证,请到控制台 > 安全性 > 凭证 > 新增来汇入凭证,并重新启动 *** Server。

每次修改凭证文件 (显示于控制面板 > 安全性 > 凭证) 后,*** Server 将会自动重新启动。

L2TP/IPSec

L2TP (Layer 2 Tunneling Protocol) over IPSec 提供更安全的虚拟私有网络,且大多数的客户端 (如 Windows、Mac、Linux 及行动装置) 皆支持。

若要启动 L2TP/IPSec *** 服务器:

1、开启 *** Server 并前往左侧面板的 L2TP/IPSec。

2、勾选启动 L2TP/IPSec *** 服务器。

3、在动态 IP 地址字段输入 *** 服务器的虚拟 IP 地址。请参阅下方的关于动态 IP 地址来了解更多信息。

4、设定最大联机数量来限制 *** 联机的共同联机数量。

5、设定同一账号最多联机数量来限制使用同一个账号进行 *** 联机的共同联机数量。

6、从认证下拉式选单中选择下列任一项目来认证 *** 客户端:

PAP:认证过程中,将不加密 *** 客户端的密码。

MS-CHAP v2:认证过程中,将使用 Microsoft CHAP version 2 加密 *** 客户端的密码。

7、设定 MTU (最大传输单元) 来限制 *** 网络传输的数据封包大小。

8、勾选手动设定 DNS 并指派 DNS 服务器的 IP 地址来发送给 L2TP/IPSec 客户端。若停用此选项,则会将 Synology NAS 目前所使用的 DNS 服务器发送给客户端。

9、若要发挥 *** 最大效能,选取执行核心 (kernel) 模式。

10、输入并确认预先共享密钥。您应将此密钥提供给 L2TP/IPSec *** 使用者以验证联机。

11、勾选启动 SHA2-256 兼容模式 (96 bit),以让特定客户端 (非 RFC 标准) 可以使用 L2TP/IPSec 联机。

12、单击套用来让变更生效。

注意:

联机至 *** 时,*** 客户端的验证及加密设定必须与 *** Server 上的设定相同,否则客户端将无法成功进行联机。

为兼容于运行在 Windows、Mac OS、iOS 与 Android 系统的大部分 L2TP/IPSec 客户端,预设的 MTU 值为 1400。若您的网络环境较为复杂,可能需要设定一个较小的 MTU 值。若您经常收到逾时讯息或联机不稳定,请降低 MTU 值。

请检查 Synology NAS 与路由器上的端口转送规则与防火墙设定,以确认 UDP 1701、500、4500 端口已开启。

部分路由器内建 L2TP 或 IPSec *** 服务,因此可能已占用 1701、500 或 4500 端口。您需先透过路由器的管理接口关闭其内建的 L2TP 或 IPsec *** 服务,才能确保 *** Server 上的 L2TP/IPsec *** 服务可以正常运作。建议使用支持 *** pass-through 联机的路由器。

关于动态 IP 地址

*** Server 会依据您在动态 IP 地址中输入的数字,从虚拟 IP 地址范围中选择一个 IP 地址来分配给 *** 客户端使用。例如:若 *** 服务器的动态 IP 地址设定为「10000」,则 PPTP *** 客户端的虚拟 IP 地址范围为「10001」至「1000[最大联机数量]」;Open*** 客户端的虚拟 IP 地址范围则为「10002」至「1000255」。

重要事项: 指定 *** 服务器的动态 IP 地址之前,请注意:

1、*** 服务器可使用的动态 IP 地址必须为下列其一:

从「10000」至「102552550」

从「1721600」至「172312550」

从「19216800」至「1921682550」

2、您指定的 *** 服务器动态 IP 地址以及指派给 *** 客户端的虚拟 IP 地址,皆不能与局域网络中任一已使用的 IP 地址冲突。

关于客户端进行 *** 联机时使用的网关设定

使用 *** 联机至 Synology NAS 的局域网络之,客户端可能需要为 *** 联机变更网关设定;否则,在 *** 联机建立之后,它们可能会无法联机至因特网。

o***文件扩展名代表Open***配置文件(o***)文件类型。它与Open***一起使用,Open***是虚拟专用网络(***)连接的开源(GPL)实现,利用OpenSSL库的强大SSL/TLS加密功能。Open***由Open***技术公司和Open***社区开发,可在各大桌面和移动操作系统上使用。为了建立***隧道,Open***使用o***配置文件。

o***文件是一个普通的文本文件,其中列出了连接到***服务器的配置选项。证书(crt)和密钥(key)文件也可能是建立***隧道所需要的。许多以o***文件形式发布连接设置的***服务器在o***文件中包含序列化的服务器证书和密钥。

1、首先在电脑上,鼠标单击运行open***选项运行open***软件。

2、然后鼠标单击右下角open***小图标。

3、接着在open***菜单栏中,找到并单击settings设置选项。

4、然后在弹出的对话框中,找到并单击general按钮。

5、最后在general选项下选择简体中文,设置好后单击下方的确定选项,就完成了。

问题一:买了腾讯云服务器,怎么用 我就用的腾讯云服务器,购买以后,登陆腾讯云,在控制台里面,点开机,等开机后,就可以远程管理了,还可以重置密码等操作,有其他问题可以发私信给我哦~~~

问题二:腾讯云服务器怎么用的 下载远程链接软件Putty,参考下载地址:puttynl/download

打开Putty客户端,在PuTTY Configuration 窗口中输入以下内容:

Host Name:Linux云服务器的公网IP。

Port:云服务器的端口,必须填22。(请确保云主机22端口已开放)

Connect type:选择“SSH”。

全部输入完后,点击“Open”,创建一个新对话。

在Putty会话窗口中, 输入管理员帐号,按回车键。

管理员帐号:

SUSE/CentOS/Debian:root

ubuntu:ubuntu

再输入初始密码,回车完成登录过程。

3) 从本地Linux或Mac OS登录Linux云服务器,直接使用SSH命令进行连接,如:ssh root@Linux云服务器公网IP,然后输入root用户的初始密码,即可完成登录。

问题三:如何使用腾讯云服务器搭建个人网站 首先要配置好PHP的网站环境,小鸟云管家可以一键进行配置,如果你是用WIN操作系统的话,建议用IIS+PHP+MYSQL的环境来搭建,然后安装下FTP,并在本地通过FTP把网站程序上传到小鸟云服务器,然后在IIS中发布网站,安装网站即可。不仅是小鸟云,所有的云服务器都可以这样来操作,很多服务商是可以帮你配置环境的,另外IIS发布网站的教程建议你百度一下,会很详细。

问题四:腾讯云服务器怎么安装c++环境 远程登录到云服务器上,就跟操作自己的电脑一样,所以你在云服务器上下载安装所需要的东西就可以了。

问题五:如何使用腾讯云服务器作为微信公众号的开发 你好,这个需要基础的,就像搭建一个网站一样,如果你想学习可以流,练习方士!

问题六:腾讯云服务器是干嘛的,能免手机流量?怎么用 云服务器和服务器功能是一样的,存储信息和数据让人们访问的,放网站,游戏均可。

问题七:如何远程连接腾讯云服务器? 腾讯云提供的连接方式分为3种:

1、Windows系统。可以用远程桌面连接,你本地电脑点击,开始-运行-输入mstsc,弹出的框里,填IP和账号密码信息,登陆就可以;

2、Linux系统。可以通过ssh或者putty来连接。

3、腾讯云用户管理中心提供登录管理主机功能,在“总览”页面点击“云服务器”,进入“云服务器管理”页面,找到要操作的主机,点击右侧的“登录”按钮。

详细登录教程可以参考腾讯云官网的-新手专区-Windows、Linux系统服务器的登录教程,也可以联系官网在线技术客服寻求帮助。

问题八:如何将本地网站部署到腾讯云服务器上去 云服务器和物理服务器是一样的,它就是为了方便人们操作和节约成本设计出来的,和普通的部署方法是一致的,可以通过端口访问,远程登陆进行配置。

安畅小康为您解答,望~~

问题九:如何使用腾讯云服务器搭建open*** 你好,关于腾讯云服务器搭建open***,详情请参考bbsqcloud/thread-2223-1-1,这个里面有讲解,希望对您有所帮助。

问题十:腾讯云服务器怎么下载到手机 100分 腾讯云是靠远程控制的

windows:win+r输入“mstsc”回车->输入服务器ip(需要端口的输入端口)->输入服务器密码->找到建立***的软件将他结束进程或者关闭(如果是服务项,进入计算机管理->服务->找到开启***项将他禁止)->重启服务器->测试是否关闭

linux用一下方法:

#!/bin/bash

#File: open***_turn

#Auth: Robin

#Date: 2013/01/17 10-30-10

#Desc: Start/stop open*** client

#Vers: 10

#

# open*** -s--> stop open*** client

# open*** -r--> start open*** client

#配置文件所在目录

CONF_DIR="/etc/open***"

#配置文件

CONF_FILE="clientconf"

#存放用户名和密码,格式如下

# user_name

#password

AUTH_FILE="auth"

LOG_FILE="/tmp/open***log"

PID_FILE="/tmp/open***pid"

functiondo_success {

ps -ef|grep open***|grep -v grep|awk'{print $2}'>> $PID_FILE

rm $LOG_FILE

echo -e"Start OPEN***\033[32msuccessfully\033[0m!"

exit 0

}

functiondo_fail {

echo -e"Start OPEN*** \033[41mfailure\033[0m!"

echo"Maybe you can get something useful from $LOG_FILE"

exit 1

}

functionif_run {

if [ -e $PID_FILE ];then

return0

else

return1

fi

}

functionstart_open*** {

if_run

if [ $ -eq 0 ];then

ps -ef|grep'\'|grep -v grep &> /dev/null

if [ $ -eq 0 ];then

echo -e"OPEN*** is \033[32malready running\033[0m!!!"

exit 1

else

rm $PID_FILE

fi

fi

if [ -e $LOG_FILE ];then

echo > $LOG_FILE

fi

cd $CONF_DIR

sudo open***--config $CONF_FILE --auth-user-pass $AUTH_FILE &> $LOG_FILE &

echo -e"\033[33mStarting\033[0m OPEN***"

sleep 5

cat $LOG_FILE |grep"Sequence Completed"2> /dev/null&& do_success || do_fail

}

functionstop_open*** {

if_run

if [ $ -eq 1 ];then

echo"OPEN*** is not running!"

exit 1

fi

foriin`ps -ef|grep'\'|grep -v grep|awk'{print $2}'`;do

sudo kill -9 $i

done

rm $PID_FILE

echo -e"OPEN*** is already \033[41mstop\033[0m"

}

while getopts sr SW;do

case$SWin

s)

stop_open***

break

;;

r)

start_open***

break

;;

)

echo"open***_turn [s|r]"

esac

done

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 单网卡Ubuntu服务器打造 PPTP Server

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情