Ubuntun 16.04 搭建 PPTP server 实现内网穿透(透传)

为什么要进行内网穿透

通常个人电脑无论是连接WIFI上网还是用网线上网,都是属于局域网里边的,外网无法直接访问到你的电脑,内网穿透可以让你的局域网中的电脑实现外网访问功能针对上面这句话中出现的内网和外网。我在以下作了解释。

  • 局域网:(局域网(Local Area Network,LAN)是指在某一区域内由多台计算机互联成的计算机组。局域网是封闭型)
  • 外网:(广域网(WAN,Wide Area Network)也称远程网(long haul network)。通常跨接很大的物理范围,所覆盖的范围从几十公里到几千公里,它能连接多个城市或国家,或横跨几个洲并能提供远距离通信,形成国际性的远程网络。)

通过内网穿透可以实现通过外网直接访问到你的电脑那么具体可以做什么呢?

  1. 发布应用/网站,外网可以访问(这是主要用途);我们平时做的应用开发都只能在局域网本地访问,通过内网穿透,可以是全外网访问(只要有网就能访问到);在做微信/支付宝支付回调的时候就需要用到这个了
  2. 可以实现远程控制(在家访问公司电脑不是问题)更多用途请问度娘,我暂时不具体介绍这个,因为作用在这里用途是很广泛的。

简单来说,就是利用公网服务器(任何接入互联网的设备都可以访问公网服务器)
在不同局域网内的设备全部连接到公网服务器后,由公网服务器进行IP分配,就可以实现同局域网内的设备互联互通
在这里插入图片描述

搭建环境:Ubuntu 16.04

基于阿里云服务器 搭载Ubuntun 16.04镜像

安装环境包

打开终端,输入命令 sudo apt-get install pptpd下载并安装pptpd。
若已安装,可输入apt-get update 进行升级。

修改pptpd.conf中的配置信息

sudo vim /etc/pptpd.conf

在末尾增加下面两行,或者打开的内容里面找到这两行,取消掉注释

localip  192.168.0.1
remoteip 192.168.0.100-115,192.168.0.245

分别为创建pptp时的主机ip和连接pptp的其他主机使用的ip段,可以自行修改。
注意,这里的ip并不是指外网ip或者当前局域网ip,而是指创建(虚拟专用网络)会分配的ip地址。一般这个可以不用修改。

修改chap-secrets配置

连接pptp 所需要的账号和密码,修改配置文件/etc/ppp/chap-secrets

sudo vim /etc/ppp/chap-secrets

在末尾添加以下内容


# Secrets for authentication using CHAP
# client        server  secret                  IP addresses
vpn_pi1         pptpd   pass_pi1                192.168.0.101
vpn_pi2         pptpd   pass_pi2                192.168.0.102
vpn_pi3         pptpd   pass_pi3                192.168.0.103
vpn_pi4         pptpd   pass_pi4                192.168.0.104
vpn_pi5         pptpd   pass_pi5                192.168.0.105
vpn_pc1         pptpd   pass_pc1                192.168.0.106
vpn_pc2         pptpd   pass_pc2                192.168.0.107
vpn_pc3         pptpd   pass_pc3                192.168.0.108
vpn_pc4         pptpd   pass_pc4                192.168.0.109
vpn_pc5         pptpd   pass_pc5                192.168.0.110

末尾的表示可以使用任意IP连入,如果你要设置指定IP才能连接,可以将替换成对应的IP。支持添加多个账号。

设置ms-dns

配置使用的dns,修改配置文件

sudo vim /etc/ppp/pptpd-options

在末尾增加下面两行,或者打开的内容里面找到这两行,取消掉注释

# 这是谷歌的DNS 可以根据实际填写
ms-dns 114.114.114.114
ms-dns 8.8.8.8

开启转发

修改配置文件

sudo vim /etc/sysctl.conf

在开头增加下面内容,或者打开的内容里面找到这一行,取消掉注释

net.ipv4.ip_forward=1

保存之后执行

sudo sysctl -p

配置iptables

若未安装iptables 执行脚本安装

sudo apt-get install iptables

tips:若之前安装pptp失败的。执行以下脚本;如果是第一次安装可忽略以下内容(目的为了清除iptables里旧的规则)

 sudo iptables -F
 sudo iptables -X
 sudo iptables -t nat -F
 sudo iptables -t nat -X

然后,允许GRE协议以及1723端口、47端口:

sudo iptables -A INPUT -p gre -j ACCEPT 
sudo iptables -A INPUT -p tcp --dport 1723 -j ACCEPT 
sudo iptables -A INPUT -p tcp --dport 47 -j ACCEPT

下一步,开启NAT转发:
可以在终端输入ifconfig来查看 ,我的服务器网卡为eth0

sudo iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
docker0   Link encap:Ethernet  HWaddr 02:42:87:bf:eb:46  
          inet addr:172.17.0.1  Bcast:172.17.255.255  Mask:255.255.0.0
          inet6 addr: fe80::42:87ff:febf:eb46/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:7897 errors:0 dropped:0 overruns:0 frame:0
          TX packets:11515 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:5073005 (5.0 MB)  TX bytes:18354053 (18.3 MB)

eth0      Link encap:Ethernet  HWaddr 00:16:3e:34:58:f2  
          inet addr:172.30.209.142  Bcast:172.30.223.255  Mask:255.255.240.0
          inet6 addr: fe80::216:3eff:fe34:58f2/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1894480 errors:0 dropped:0 overruns:0 frame:0
          TX packets:922566 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:1854476478 (1.8 GB)  TX bytes:565352364 (565.3 MB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:16 errors:0 dropped:0 overruns:0 frame:0
          TX packets:16 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1 
          RX bytes:2108 (2.1 KB)  TX bytes:2108 (2.1 KB)

重启pptp服务

sudo service pptpd restart

配置阿里云开放端口

进入安全组管理界面
在这里插入图片描述
开放1723、47端口
在这里插入图片描述

测试

测试环境win10 专业版 VPN连接

开始菜单搜索VPN进入界面、添加VPN连接
在这里插入图片描述
选择PPTP协议建立连接
在这里插入图片描述
保存并登录即可
在这里插入图片描述

客户端搭建(Linux系统操作方式近似)

安装

安装pptp客户端sudo apt-get install -y pptp-linux

配置

使用服务端设置的账号密码vpn_pc1/pass_pc1

sudo vim /etc/ppp/peers/pptpconf
// 添加如下内容:(自行更改IP, name, password)
pty "pptp xxx.xxx.xxx.xxx --nolaunchpppd"
name xxx
password xxx
remotename PPTP
require-mppe-128
require-mschap-v2
refuse-eap
refuse-pap
refuse-chap
refuse-mschap
noauth
persist
maxfail 0
defaultroute
replacedefaultroute

启动 & 关闭

pptp 客户端操作: 
启动:pon pptpconf 
关闭:poff pptpconf
  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ubuntun16.04安装qt-ros的过程可以有两种方式。第一种方式是通过在QT官网下载ubuntun16.04的安装包,选择一个版本安装包下载。 第二种方式是通过命令行安装,首先需要安装一些必要的运行库,比如ia32-libs和lsb-core。安装ia32-libs的命令是"apt-get install ia32-libs",而安装lsb-core的命令是"sudo apt-get install lsb-core"。接着,需要安装g -multilib,命令是"sudo apt-get install g -multilib"。最后,通过命令行安装qt-ros,可以使用以下命令:sudo add-apt-repository ppa:ubuntu-toolchain-r/test,sudo add-apt-repository ppa:levi-armstrong/qt-libraries-trusty,sudo add-apt-repository ppa:levi-armstrong/ppa,sudo apt-get update,sudo apt-get install qt57creator-plugin-ros libqtermwidget57-0-dev。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Ubuntun16.04安装qt-ros](https://blog.csdn.net/qq_45805535/article/details/114677143)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [ubuntun16.04安装arm-linux-gcc交叉编译器](https://blog.csdn.net/ccrwolf666/article/details/124585502)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值