Linux(树莓派)下连接VPN服务器

最近在研究树莓派的远程操作的问题上遇到个问题,如果树莓派跟自己的电脑不在同一个局域网的话,操作起来比较麻烦,于是想到通过双方连接同一个VPN服务器级成局域网的方式来实现内网互通。


在Linux或者在树莓派下,首先要安装pptp-linux组件:apt install pptp-linux


一、手动创建配置文件

在/etc/ppp/peers/下创建一个文件,文件名就是vpn服务的名称,可以随便取,例如我这里创建为test

vi /etc/ppp/peers/test

然后编辑文件内容如下:

pty "pptp VPN服务器的IP地址或者域名 --nolaunchpppd"

name VPN用户名

password VPN密码

remotename PPTP

require-mppe-128

require-mschap-v2

refuse-eap

refuse-pap

refuse-chap

refuse-mschap

noauth

persist

maxfail 0

defaultroute

replacedefaultroute

usepeerdns


修改红色标注的地方,然后保存文件。

连接和断开VPN服务器

1、连接VPN

pon VPN服务器名称(这里指的就是上面创建的test

连接后可以通过ifconfig查看是否存在叫ppp0的连接,或者可以通过plog命令查看日志


2、断开VPN

poff VPN服务器名称(即上面的test

poff -a,断开全部VPN连接


二、通过命令来创建配置文件(推荐使用

上面/etc/ppp/peers/test的文件也可以通过pptpsetup命令来创建,命令格式如下:

pptpsetup --create VPN服务器名称(比如test) --server VPN服务器IP或域名 --username VPN用户名 --password VPN密码 --encrypt --start

执行完毕后,同样会在/etc/ppp/peers/下创建相应的配置文件,文件名就是上面的VPN服务器名称。

encrypt表示加密,start表示立即连接


连接VPN成功后,使用ifconfig命令查看分配到的内网IP,如下图所示,分配到的内网IP是192.168.0.235

1.png

然后尝试ping一下其他连接了该VPN的机器,如果能ping通,则说明是正常的。如果无法ping通,则可能是因为路由问题。在树莓派中,可以使用route -n查看默认的路由表,如下图:

2.png

从路由表中可以看出,默认所有网络(0.0.0.0)都是走192.168.2.1,而我们的ppp0的目标是192.168.0.1,所以我们要添加一条路由记录,让192.168.0.x的IP全部走ppp0。执行命令如下:

route add -net 192.168.0.0 netmask 255.255.255.0 dev ppp0

注意红色标注的地方,删除路由则把上面的add改成del即可。添加成功后我们再用route -n查看一下:

3.png

这里我们再ping之前的机器,可以发现已经能够ping通了,也就是实现了互连互通了。


如果想让所有网络都走VPN那条线的话,则添加路由记录如下:

route add -net 0.0.0.0 dev ppp0

0.0.0.0则表示所有IP,ppp0则表示对应的网卡网络。

  1. 本网站所收集的部分资料来源于互联网,本站不对其真实性负责,也不构成任何其他建议。如果您发现有侵犯您权益的内容,请与我们取得联系,我们会及时修改或删除。
  2. 传递知识、传递力量,欢迎各位网友对本站的文章进行转载和分享。
  3. 本站QQ群交流群:904314688  群号:904314688
发表评论
 
评论列表(目前共有 条评论)
暂时还没有评论哦~

文章搜索


版权所有:秋风雅居 (www.7var.com) ©2020 All Rights Reserved.

粤ICP备19021598号