GVKun编程网logo

CentOS 搭建 VPN

26

如果您想了解CentOS搭建VPN的相关知识,那么本文是一篇不可错过的文章,我们将为您提供关于Centos6.2搭建VPN服务、Centos6.5环境下使用pptpd搭建vpn服务器、centos6.

如果您想了解CentOS 搭建 VPN的相关知识,那么本文是一篇不可错过的文章,我们将为您提供关于Centos 6.2搭建VPN服务、Centos 6.5 环境下使用pptpd搭建vpn服务器、centos 6.5下搭建ipsec/xl2tpd VPN、CentOS 6.7 x64下使用pptpd搭建VPN服务器的有价值的信息。

本文目录一览:

CentOS 搭建 VPN

CentOS 搭建 VPN

什么是 VPN?


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

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

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




1. 检查能否访问外网


pingwww.baidu.com




2. 安装依赖包ppp


yuminstallppp-y




3. 下载安装 pptpd 软件包


wgetftp://mirror.switch.ch/pool/4/mirror/epel/6/x86_64/Packages/p/pptpd-1.4.0-3.el6.x86_64.rpm

如果上文的 rpm 下载链接无法使用,可访问以下网址,选择一个 rpm下载链接:

http://rpm.pbone.net/index.php3/stat/4/idpl/26021844/dir/redhat_el_6/com/pptpd-1.4.0-3.el6.x86_64.rpm.html





4. 修改配置文件 options.pptpd


vim/etc/ppp/options.pptpd



查找 name 选项,解除本行注释


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




5. 修改配置文件 pptpd.conf


vim/etc/pptpd.conf


查找ppp选项,解除本行注释


查找 localip 选项和remoteip选项


其中,localip 192.168.1.1 #取消这行注释,填写外网的IP,表示VPN登录的服务器地址

removeip 192.168.0.222-254 #取消这行注释,连接VPN服务器时分配给客户端的IP池






6. 修改 chap-secrets 配置文件,添加 VPN 的用户


vim/etc/ppp/chap-secrets


client 表示用户名

secret 表示密码

IPaddresses表示登录的IP地址(* 代表不限制登录IP)




7. 重启服务


/etc/init.d/pptpdrestart




8.关闭防火墙


systemctlstopfirewalld.service
systemctldisablefirewalld.service
firewall-cmd--state



9.测试连通性


1)进入Windows 10设置,点击“网络和Internet”



2)点击 VPN选项,点击"添加VPN连接"


3)输入 VPN 登录信息


4)连接成功

Centos 6.2搭建VPN服务

Centos 6.2搭建VPN服务

系统环境:本次系统采用Centos 6.2 32位系统为基础。

所需工具:dkms-2.0.17.5-1.noarch.rpm

kernel_ppp_mppe-1.0.2-3dkms.noarch.rpm

pptpd-1.3.4-2.el6.i686.rpm

ppp-2.4.5-17.0.rhel6.i686.rpm

首先先把以上工具下载到/home/download下:

#mkdir -p /home/download

#cd /home/download

#wget http://www.hi-vps.com/downloads/dkms-2.0.17.5-1.noarch.rpm

#wget http://wty.name/linux/sources/kernel_ppp_mppe-1.0.2-3dkms.noarch.rpm

#wgethttp://poptop.sourceforge.net/yum/stable/rhel6/i386/pptpd-1.3.4-2.el6.i686.rpm

#wgethttp://poptop.sourceforge.net/yum/stable/rhel6/i386/ppp-2.4.5-17.0.rhel6.i686.rpm

继续安装库:

#yum -y install make libpcap iptables gcc-c++ logrotate tar cpio perl pam tcp_wrappers

安装刚才下的工具:

#rpm -ivh dkms-2.0.17.5-1.noarch.rpm

#rpm -ivh kernel_ppp_mppe-1.0.2-3dkms.noarch.rpm

#rpm -Uvhppp-2.4.5-17.0.rhel6.i686.rpm

#rpm -ivhpptpd-1.3.4-2.el6.i686.rpm

把里面的IP跟DNS改成你所使用的DNS。。。

mknod /dev/ppp c 108 0
echo 1 > /proc/sys/net/ipv4/ip_forward
echo “mknod /dev/ppp c 108 0″ >> /etc/rc.local
echo “echo 1 > /proc/sys/net/ipv4/ip_forward” >> /etc/rc.local
echo “localip 172.16.36.1″ >> /etc/pptpd.conf
echo “remoteip 172.16.36.2-254″ >> /etc/pptpd.conf
echo “ms-dns 8.8.8.8″ >> /etc/ppp/options.pptpd
echo “ms-dns 8.8.4.4″ >> /etc/ppp/options.pptpd

防火墙配置:

iptables -t nat -A POSTROUTING -s 172.16.36.0/24 -j SNAT ?to-source `ifconfig | grep ‘inet addr:’| grep -v ’127.0.0.1′ | cut -d: -f2 | awk ‘NR==1 { print $1}’`
iptables -A FORWARD -p tcp ?syn -s 172.16.36.0/24 -j TCPMSS ?set-mss 1356

服务启动:

service iptables save

chkconfig iptables on
chkconfig pptpd on

service iptables start
service pptpd start

好的,到这里,VPN就已经搭建完成了。。。

下面开始建立用户:

#vi /etc/ppp/chap-secrets

编辑内容为(IP中*号代表所有):

# Secrets for authentication using CHAP
# client server secret IP addresses
用户名 pptpd 密码 *

配置好以后,重启pptp服务

#service pptpd start

教程到此结束。。客户端如何配置。这里就不写了。

Centos 6.5 环境下使用pptpd搭建vpn服务器

Centos 6.5 环境下使用pptpd搭建vpn服务器

一、安装服务:

yum install pptpd ppp

二、配置:

1.服务配置文件参数配置

echo ''name pptpd \
refuse-pap \
refuse-chap \
refuse-mschap \
require-mschap-v2 \
require-mppe-128 \
proxyarp \
lock \
nobsdcomp \
novj \
novjccomp \
nologfd \
ms-dns 8.8.8.8 \
ms-dns 8.8.4.4'' > /etc/ppp/options.pptpd

2.启动linux系统ip转发功能

sed -i ''s/^net.ipv4.ip_forward.*/net.ipv4.ip_forward = 1/g'' /etc/sysctl.conf   

3.刷新linux系统配置

sysctl -p

4.添加防火墙配置

iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 1723 -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.80.0/24 -j MASQUERADE

5.刷新防火墙配置

service iptables save
service iptables restart

6.添加vpn账号密码,user/123456

echo ''user  pptpd   123456  *'' >> /etc/ppp/chap-secrets

7.重启刷新vpn服务

service pptpd restart

总结:在没有防火墙等硬件存在的时候,只想给特定的人上外网,这种技术方法是一个选择

 

centos 6.5下搭建ipsec/xl2tpd VPN

centos 6.5下搭建ipsec/xl2tpd VPN

本文安装都是直接yum安装,省事,省心。

一、安装(一条命令解决了)

yum install openswan ppp xl2tpd

喜欢源码安装的朋友可去去http://pkgs.org 去下载相就的源码包。

二、配置

1.编辑/etc/ipsec.conf

vim /etc/ipsec.conf

把下面xx.xxx.xxx.xxx换成你自己VPS实际的外网固定IP。其他的不动。

config setup

nat_traversal=yes

virtual_private=%v4:10.0.0.0/8,%v4:192.168.0.0/16,%v4:172.16.0.0/12

oe=off

protostack=netkey

conn L2TP-PSK-NAT

rightsubnet=vhost:%priv

also=L2TP-PSK-noNAT

conn L2TP-PSK-noNAT

authby=secret

pfs=no

auto=add

keyingtries=3

rekey=no

ikelifetime=8h

keylife=1h

type=transport

left=xx.xxx.xxx.xxx

leftprotoport=17/1701

right=%any

rightprotoport=17/%any


2.编辑/etc/ipsec.secrets

vim /etc/ipsec.secrets

192.168.1.100 %any: PSK "YourPsk"

192.168.1.100换成你自己VPS实际的公网IP,YourPsk你自己定一个密钥,到时候连VPN的时候在安全设置里要用。

3.修改/添加 /etc/sysctl.conf

vim /etc/sysctl.conf

确保下面的字段都有,对应的值或下面一样。省事的话直接在/etc/sysctl.conf的末尾直接把下面内容的粘过去。

net.ipv4.ip_forward = 1

net.ipv4.conf.default.rp_filter = 0

net.ipv4.conf.all.send_redirects = 0

net.ipv4.conf.default.send_redirects = 0

net.ipv4.conf.all.log_martians = 0

net.ipv4.conf.default.log_martians = 0

net.ipv4.conf.default.accept_source_route = 0

net.ipv4.conf.all.accept_redirects = 0

net.ipv4.conf.default.accept_redirects = 0

net.ipv4.icmp_ignore_bogus_error_responses = 1

让修改后的sysctl.conf生效:

sysctl -p

有可以报一些关于ipv6的error,不要管它,继续下一步。

4.验证ipsec的运行状态

service ipsec start

ipsec verify

执行ipsec verify后会有如下输出:

Checking your system to see if IPsec got installed and started correctly:

Version check and ipsec on-path [OK]

Linux Openswan U2.6.32/K2.6.32-431.el6.x86_64 (netkey)

Checking for IPsec support in kernel [OK]

SAref kernel support [N/A]

NETKEY: Testing for disabled ICMP send_redirects [OK]

NETKEY detected,testing for disabled ICMP accept_redirects [OK]

Checking that pluto is running [OK]

Pluto listening for IKE on udp 500 [OK]

Pluto listening for NAT-T on udp 4500 [OK]

Checking for 'ip' command [OK]

Checking /bin/sh is not /bin/dash [OK]

Checking for 'iptables' command [OK]

Opportunistic Encryption Support [disABLED]

如果有Failed,就无法进行下去,那需要自己去百度、google找答案吧,我搭建的时候是没有遇到,记得把selinux关掉。

5.编辑/etc/xl2tpd/xl2tpd.conf

vim /etc/xl2tpd/xl2tpd.conf

内容如下:

[global]

ipsec saref = yes

listen-addr = 120.26.115.39 ;服务器地址

[lns default]

ip range = 192.168.1.2-192.168.1.100;这里是VPN client的内网ip地址范围

local ip = 192.168.1.1 ;这里是VPN server的内网地址

refuse chap = yes

refuse pap = yes

require authentication = yes

ppp debug = yes

pppoptfile = /etc/ppp/options.xl2tpd

length bit = y

6.编辑/etc/ppp/options.xl2tpd

vim /etc/ppp/options.xl2tpd

内容如下:

require-mschap-v2

ms-dns 8.8.8.8

ms-dns 8.8.4.4

asyncmap 0

auth

crtscts

lock

hide-password

modem

debug

name l2tpd

proxyarp

lcp-echo-interval 30

lcp-echo-failure 4

7.编辑 /etc/ppp/chap-secrets

此配置文件是设置VPN的用户名,密码:

vim /etc/ppp/chap-secrets

格式如下:

# Secrets for authentication using CHAP

# client server secret IP addresses

admin * admin *

此设置表示,vpn的账户和密码都为admin,可以在任何可以上网的客机上登陆此vpn账户。

8.启动 xl2tpd 服务

service xl2tpd start

9.开放端口及转发

1.iptables -t nat -A POSTROUTING -m policy --dir out --pol none -j MASQUERADE

2.iptables -A FORWARD -i ppp+ -p all -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

3.iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT

4.iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth1 -j MASQUERADE

保存规则:

service iptables save

至此 IPsec/xl2tpd VPN 已全部配置完成,下面就可以测试了。

10.在win7上测试连接vpn

打开网络共享中心--设置新的连接或网络--连接到工作区--创建vpn

点击右下角网络图标--vpn连接--点击属性

1.常规中的ip为vps的公网ip

2.vpn类型:使用Ipsec 的第二层隧道协议(L2TP/IPsec)

数据加密:需要加(如果服务器拒绝将断开连接)

高级设置:使用预共享的密钥作身份验证

密钥:YourPsk (前面设置过的)

点击确定后输入用户名和密码即可登陆。

CentOS 6.7 x64下使用pptpd搭建VPN服务器

CentOS 6.7 x64下使用pptpd搭建VPN服务器

原理:PPTP 使用 PPP 协议对用户数据进行封装,然后将 PPP 数据帧封装在 IP 数据包里,pptpd 更多是负责客户端到服务器的连接,ppp协议负责用户数据包的封装和转发,当客户端连接到服务器时pptpd服务就是创建一个虚拟网卡ppp0进行用户数据包的封装,和转发到物理网卡,进入以太网

1:验证内核是否加载MPPE模块

#打印Success表示已加载

2:安装ppp软件

3:安装pptpd

4:配置pptpd和ppp

#把以下选项的注释#去掉

以上至于不知道指定什么的,可以看配置文件的解释,虽然都是英文但是解释还是挺清楚

5:添加用户

#打开配置文件

6;配置pptpd服务


把以下行的注释去掉

7:打开内核转发


#保存后执行

8:启动pptpd服务

9:添加防火墙规则

#备份原来的防火墙规则

#添加防火墙规则

#设置共享ip,nat表预路由

#因为命令生成的重启后就会失效,所以我们要把它不保存到配置文件中

#重启[root@local ~]# iptables

给大家发一个我VPS的iptables文档参考

windows客户端若遇到拨通VPN后无法访问内网资源请CMD下输入

注:172.16.0.0为VPN网段,根据个人情况可以使用192.168.1.0 或 192.168.10.0,具体情况根据你VPN网段设置而定;
255.255.0.0为掩码,通常使用 255.255.255.0 即可;
192.168.10.254 为局域网网关IP地址,请根据个人情况设置。

关于CentOS 搭建 VPN的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于Centos 6.2搭建VPN服务、Centos 6.5 环境下使用pptpd搭建vpn服务器、centos 6.5下搭建ipsec/xl2tpd VPN、CentOS 6.7 x64下使用pptpd搭建VPN服务器等相关内容,可以在本站寻找。

本文标签: