最近想远程连接一下家里的台式机电脑,由于都是局域网,又没有公网ip,所以就没法远程。上网查了一下,发现可以在云服务器上搭建一个VPN,这样两台电脑就在同一个局域网内,就可以完美解决这个问题。现在把搭建方法和遇到的问题做个总结。
一、VPN服务器的搭建
1、用xshell连接上xshell的终端,输入以下命令查看是否支持pptp
modprobe ppp-compress-18 && echo yesAI生成项目shell1
2、输入:yum -y update 自动更新所有已安装的软件包和依赖项,以确保系统保持最新状态。
yum -y updateAI生成项目shell1
3、输入:yum -y install ppp安装ppp
yum -y install pppAI生成项目shell1
4、输入:yum -y install pptpd 安装pptp守护进程
yum -y install pptpdAI生成项目shell1
5、输入vim /etc/pptpd.conf 配置pptpd.conf
找到最下面的localip,去掉开始的那个#符号
localip是指VPN服务器的本地IP地址,
remoteip是指为VPN客户端分配的IP地址,如果客户端比较多的话将remoteip的范围改大一些。
修改完成后按Esc键退出编辑模式,然后输入:wq保存并退出文件。
6、输入:vim /etc/ppp/options.pptpd 配置options.pptpd的dns
7、输入:vim /etc/ppp/chap-secrets 配置连接VPN客户端要用到的帐号密码
client为帐号
server是pptpd服务
secret是密码,
*表示是分配任意的ip
数据之间用tab隔开
8、输入:vim /etc/sysctl.conf 配置sysctl.conf
在末尾添加以下两行命令:
net.ipv4.ip_forward = 1 启用IPv4数据包转发功能
sysctl -p 使更改生效
:
9、添加一个规则,允许通过 TCP 协议访问 1723 端口
iptables -A INPUT -p tcp --dport 1723 -j ACCEPTAI生成项目shell1
特别注意:在云服务器的防火墙中也要放行1723这个端口
10、增加转发规则,为了可以连上vpn后可以上网
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE# 保存规则:service iptables save# 重启生效:systemctl restart iptablesAI生成项目shell123456
11、重启pptp服务 systemctl restart pptpd
systemctl restart pptpd# 将PPTP VPN服务添加到开机自启服务列表中,使它在系统启动时自动启动。systemctl enable pptpdAI生成项目shell123
参考资料:
https://zhuanlan.zhihu.com/p/628587235
https://blog.csdn.net/m0_61385351/article/details/128615332
https://blog.jtwo.me/configure-routing-table-for-vpn-diversion/