CentOS 搭建 V-P-N 服务,实现虚拟专用网络

什么是V-P-N

V-P-N即虚拟专用网络,它的功能是:在公用网络上建立专用网络,进行加密通讯。

V-P-N网关通过对数据包的加密和数据包目标地址的转换实现远程访问。V-P-N有多种分类方式,主要是按协议进行分类。

V-P-N可通过服务器、硬件、软件等多种方式实现。本文记录的是 Linux 系统下V-P-N服务器的搭建。

实验环境

VMware Workstation一台最小化安装的CentOS7,内网IP(仅主机模式):192.168.50.128,外网IP(NAT模式):192.168.204.133一台Windows7,内网IP(仅主机模式):192.168.50.129

检查网络连通性,CentOS上执行以下命令:

# 检查centos到windows之间的网络连通性 ping -c 4 192.168.50.129 # 检查centos到互联网的网络连通性 ping -c 4 www.baidu.com

安装pptpd软件包

yum install -y epel* yum install -y ppp pptpd

修改配置文件options.pptpd

vim /etc/ppp/options.pptpd

查找ms-dns选项,解除本行注释,同时修改NDS地址

修改配置文件pptpd.conf

vim /etc/pptpd.conf 查找ppp选项,解除本行注释

查找localip选项和remoteip选项

其中localip代表虚拟专用网络的本机地址,remoteip代表虚拟专用网络客户端的地址池

修改chap-secrets配置文件,添加登录用户

vim /etc/ppp/chap-secrets 其中,client代表用户名,secret表示密码,IP addressses表示允许登录的IP地址(*代表不限制登录IP)

启动服务

systemctl restart pptpd systemctl status pptpd

关闭防火墙

setenforce 0 systemctl stop firewalld.service systemctl disable firewalld.service firewall-cmd --state

开启Linux的路由功能

iptables -A FORWARD -i ens37 -j ACCEPT iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o ens33 -j MASQUERADE echo 1 > /proc/sys/net/ipv4/ip_forward cat /proc/sys/net/ipv4/ip_forward

解释(ens37为内网网卡,ens33为外网网卡):

第一条命令:让发送至内网网卡的数据全部通过第二条命令:修改数据报头信息第三条命令:开启Linux的路由功能第四条命令:查看是否启用了路由功能,1代表启用,0代表禁用具体命令需要根据自己的网卡名称进行修改

设置开机自启

将 开启Linux路由功能 的命令写成shell脚本

vim /root/nat.service

添加如下内容(具体命令需要根据自己的网卡名称进行修改):

#!/bin/bash iptables -A FORWARD -i ens37 -j ACCEPT iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o ens33 -j MASQUERADE echo 1 > /proc/sys/net/ipv4/ip_forward cat /proc/sys/net/ipv4/ip_forward

添加可执行限权

chmod +x /root/nat.service

将脚本添加到开机自启目录

echo -e "/bin/bash /root/nat.service" >> /etc/rc.local chmod +x /etc/rc.local

添加pptpd服务开机自启

systemctl enable pptpd Windows7上配置连接V_P_N

右击网络,选择属性

设置新的连接或网络

连接到工作区

填写V-P-N服务器的IP地址(即V-P-N服务器的内网IP)

输入用户名密码,点击连接

查看连接状态

查看IP信息(可见V-P-N连接分配的IP地址)

检查互联网的连通性

访问网页

链接:https://www.cnblogs.com/connect/p/linux-service-virtual-private-network.html

《吐血总结|史上最全的MySQL学习资料!!》《史上最全、最详细的Docker学习资料》《史上最全的大厂Mysql面试题在这里》阿里云内部超全K8s实战手册,免费下载!这里给大家再分享一些技术资料,建议收藏!超全96页!《阿里云ECS运维:linux系统诊断》免费下载升职加薪必备!运维工程师打怪升级进阶成神之路我没有开挂的人生!自律和坚持,是我走IT之路的唯一捷径全网最新、最全Linux面试题(2020版)!史上最全、最新的Redis面试题(2020最新版)!赞!7000 字学习笔记,MySQL 从入门到放弃12800字!SQL 语法速成手册(干货满满,建议收藏!)

如有错误或其它问题,欢迎小伙伴留言评论、指正。如有帮助,欢迎点赞+转发分享。

更多相关开源技术文章,请持续关注民工哥知乎技术专栏。

我是民工哥,一个爱折腾的IT技术老司机,欢迎关注我,我们一起学习,共同成长!!