posts - 225, comments - 62, trackbacks - 0, articles - 0
   :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

Ubuntu下使用PPTPD搭建VPN

Posted on 2021-02-01 15:17 魔のkyo 阅读(2558) 评论(1)  编辑 收藏 引用 所属分类: Linux
Ubuntu PPTP服务器
安装
apt install pptpd
配置IP
vim /etc/pptpd.conf
解开这3处的注释并修改相应配置
#bcrelay eth1 
#
localip 192.168.10.1
#
remoteip 192.168.10.234-238,192.168.10.245
bcrelay的意思我理解是来自虚拟局域网的广播要从哪个物理网卡转发出去
localip的意思本机是VPN服务器的IP地址
remoteip的意思是当有远程VPN客户端连接上来时被分配的IP段
我认为应该把虚拟局域网的网段和物理局域网分开,而且localip和remoteip应该在同一个网段,网上有localip和remoteip不应该在同一个网段的说法我并不认同。
配置DNS
vim /etc/ppp/pptpd-options
找到ms-dns解开注释并修改相应配置
ms-dns 114.114.114.114
ms-dns 8.8.8.8
配置用户名密码
vim /etc/ppp/chap-secrets
# Secrets for authentication using CHAP
#
 client          server   secret                  IP addresses
<username>   pptpd   <password>                *
修改配置后重启PPTP服务器
service pptpd restart
打开IPv4转发
vim /etc/sysctl.conf
找到并修改或添加
net.ipv4.ip_forward = 1
使配置生效
sysctl -p service
procps restart
在需要通过VPN访问的机器上添加指向VPN网段的路由的下一跳地址是VPN服务器
ip route add 192.168.10.0/24 via 192.168.1.99
192.168.1.99 是VPN Server的内网IP地址,只有它知道VPN所在网段的的IP地址应该如何发送。
或者直接把静态路由设置在网关上,设置下一跳地址为VPN服务器的IP,这样整个局域网都是可以通过VPN正常访问的。
Ubuntu PPTP客户端
pptpsetup --create 连接名 --server VPN服务器地址 --username 用户名 --password 密码 --encrypt
启动VPN连接
pon 连接名
关闭VPN连接
poff 连接名
查看路由表
route -n
添加路由,将通过VPN接入的物理局域网网段路由指定通过ppp0网口转发
route add -net 192.168.1.0 netmask 255.255.255.0 dev ppp0
每次重连后路由会丢失,需要重新配置,可以用下面的方法在ppp0 up时自动添加路由
pptp连接时自启动添加路由
vim /etc/ppp/peers/连接名
增加ipparam一行
ipparam 连接名
======下面这步似乎不必要,不清楚作用======
vim /etc/network/interfaces
增加
auto tunnel
iface tunnel inet ppp
provider 连接名
======================================
新建脚本文件并修改权限
touch /etc/ppp/ip-up.d/连接名
chmod a+x /etc/ppp/ip-up.d/连接名
编辑脚本
vim /etc/ppp/ip-up.d/连接名
在脚本中加入添加路由的语句
route add -net 192.168.1.0 netmask 255.255.255.0 dev ppp0
可以poff 再 pon 再 route -n 看看路由是否自动添加

Feedback

# re: Ubuntu下使用PPTPD搭建VPN  回复  更多评论   

2021-11-09 15:18 by 魔のkyo
使用下来不太稳定,最后要求高的地方还是用SSH Tunnel解决的,PPTP的VPN就留着日常对稳定性要求不高的地方临时用用
只有注册用户登录后才能发表评论。