GVKun编程网logo

CentOS架设VPN服务器

2

如果您想了解CentOS架设VPN服务器的相关知识,那么本文是一篇不可错过的文章,我们将为您提供关于CentOS5下安装配置PPTPVPN服务器、Centos6.2搭建VPN服务、centos6.4安

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

本文目录一览:

CentOS架设VPN服务器

CentOS架设VPN服务器

CentOS架设VPN服务器

说明:

服务器操作系统:CentOS 5.X 64位

服务器IP地址:192.168.21.128

实现目的:服务器安装配置pptp软件,对外提供vpn拨号服务

具体操作:

一、安装包下载

1、ppp#安装pptpd需要此软件包

http://poptop.sourceforge.net/yum/stable/packages/ppp-2.4.4-14.1.rhel5.x86_64.rpm

2、pptpd #目前最新版本

http://poptop.sourceforge.net/yum/stable/packages/pptpd-1.4.0-1.rhel5.x86_64.rpm

下载好之后上传到/usr/local/src目录

二、检查服务器系统环境是否支持安装pptp vpn

1、检查系统内核是否支持MPPE补丁

modprobe ppp-compress-18 &&echo success

显示success说明系统支持MPPE补丁,如果不支持,需要先安装kernel-devel

yum install kernel-devel

2、检查系统是否开启TUN/TAP支持

cat /dev/net/tun

如果这条指令显示结果为下面的文本,则表明通过:

cat: /dev/net/tun: File descriptor in bad state

3、检查系统是否开启ppp支持

cat /dev/ppp

如果这条指令显示结果为下面的文本,则表明通过:

cat: /dev/ppp: No such device or address

上面三条必须同时满足,否则不能安装pptp vpn

三、安装pptp

cd /usr/local/src

rpm -ivh ppp-2.4.4-14.1.rhel5.x86_64.rpm#安装ppp

rpm -ivh pptpd-1.4.0-1.rhel5.x86_64.rpm #安装pptp

四、配置pptp

1、vi /etc/ppp/options.pptpd#编辑,添加、修改以下参数

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 #添加主DNS服务器地址

ms-dns 8.8.4.4 #添加备DNS服务器地址

:wq!#保存,退出

2、vi /etc/ppp/chap-secrets#设置pptp拨号用户和密码(可以设置多个用户,每行一个)

# clientserversecretIP addresses

osyunweivpnuser01 pptpd123456*

osyunweivpnuser02 pptpd 1234 *

osyunweivpnuser03 pptpd12345678 *

格式:用户名pptpd密码*

其中*表示为客户端自动分配IP地址

:wq!#保存,退出

3、vi /etc/pptpd.conf#设置pptp服务器IP地址,设置vpn拨入客户端ip地址池

option /etc/ppp/options.pptpd

logwtmp

localip 172.16.36.1#设置pptp虚拟拨号服务器IP地址(注意:不是服务器本身的IP地址)

remoteip 172.16.36.2-254#为拨入vpn的用户动态分配172.16.36.2~172.16.36.254之间的IP地址

:wq!#保存,退出

/sbin/service pptpd start#启动pptp

/etc/init.d/pptpd stop#关闭

service pptpd restart#重启

chkconfig pptpd on#设置开机启动

五、开启服务器系统路由模式,支持包转发

vi /etc/sysctl.conf#编辑

net.ipv4.ip_forward = 1#设置为1

#net.ipv4.tcp_syncookies = 1#注释掉

:wq!#保存,退出

/sbin/sysctl -p #使设置立刻生效

系统运维www.osyunwei.com 温馨提醒:qihang01原创内容 版权所有,转载请注明出处及原文链接

六、设置防火墙转发规则

yum install iptables #安装防火墙

service iptables start #启动防火墙

iptables -t nat -A POSTROUTING -s 172.16.36.0/255.255.255.0 -j SNAT --to-source 192.168.21.128#添加规则

iptables -A FORWARD -p tcp --syn -s 172.16.36.0/255.255.255.0 -j TCPMSS --set-mss 1356#添加规则

/etc/init.d/iptables save #保存防火墙设置

七、开启pptp服务端口tcp 1723,设置vpn拨入客户端ip地址池172.16.36.0/255.255.255.0通过防火墙

vi /etc/sysconfig/iptables#编辑,添加以下代码

-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 1723 -j ACCEPT

-A RH-Firewall-1-INPUT -s 172.16.36.0/255.255.255.0 -j ACCEPT

:wq!#保存,退出

备注:

#192.168.21.128为服务器IP地址

#172.16.36.0/255.255.255.0是第四步中设置的pptp虚拟拨号服务器IP地址段

/etc/init.d/iptables restart #重启防火墙

chkconfig iptables on #设置开机启动

cat /etc/sysconfig/iptables#查看防火墙配置文件

# Generated by iptables-save v1.3.5 on Wed Dec 11 20:21:08 2013

*nat

: PREROUTING ACCEPT [60:4680]

: POSTROUTING ACCEPT [4:258]

:OUTPUT ACCEPT [4:258]

-A POSTROUTING -s 172.16.36.0/255.255.255.0 -j SNAT --to-source 192.168.21.128

COMMIT

# Completed on Wed Dec 11 20:21:08 2013

# Generated by iptables-save v1.3.5 on Wed Dec 11 20:21:08 2013

*filter

:INPUT ACCEPT [0:0]

:FORWARD ACCEPT [0:0]

:OUTPUT ACCEPT [94:16159]

:RH-Firewall-1-INPUT - [0:0]

-A INPUT -j RH-Firewall-1-INPUT

-A FORWARD -j RH-Firewall-1-INPUT

-A FORWARD -s 172.16.36.0/255.255.255.0 -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j TCPMSS --set-mss 1356

-A RH-Firewall-1-INPUT -i lo -j ACCEPT

-A RH-Firewall-1-INPUT -p icmp -m icmp --icmp-type any -j ACCEPT

-A RH-Firewall-1-INPUT -p esp -j ACCEPT

-A RH-Firewall-1-INPUT -p ah -j ACCEPT

-A RH-Firewall-1-INPUT -d 224.0.0.251 -p udp -m udp --dport 5353 -j ACCEPT

-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT

-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT

-A RH-Firewall-1-INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT

-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 1723 -j ACCEPT

-A RH-Firewall-1-INPUT -s 172.16.36.0/255.255.255.0 -j ACCEPT

-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited

COMMIT

# Completed on Wed Dec 11 20:21:08 2013

八、设置开机自动建立ppp设备节点(系统重新启动后有可能会丢失此文件,导致pptp客户端拨号出现错误619)

vi /etc/rc.d/rc.local#编辑

mknod /dev/ppp c 108 0#在文件最后添加此行代码

:wq!#保存,退出

至此,CentOS下PPTP VPN服务器搭建完成,可以在Windows客户端建立VPN连接,输入服务器外网IP地址,用上面配置的账号、密码进行连接。

原文链接:http://www.osyunwei.com/archives/7407.html

CentOS 5下安装配置 PPTP VPN 服务器

CentOS 5下安装配置 PPTP VPN 服务器

一、centos5下PPTP VPN服务器安装(pptpd VPN需要内核支持mppe)
虚拟专用网(VPN)被定义为通过一个公用网络(通常是因特网)建立一个临时的、安全的连接,是一条穿过混乱的公用网络的安全、稳定的隧道。虚拟专用网是对企业内部网的扩展。虚拟专用网可以帮助远程用户、公司分支机构、商业伙伴及供应商同公司的内部网建立可信的安全连接,并保证数据的安全传输。虚拟专用网可用于不断增长的移动用户的全球因特网接入,以实现安全连接;可用于实现企业网站之间安全通信的虚拟专用线路,用于经济有效地连接到商业伙伴和用户的安全外联网虚拟专用网。
PPTP 全称为 Point to Point Tunneling Protocol -- 点到点隧道协议,是VPN协议中的一种。
配置步骤如下:

1、安装ppp和iptables(如果确认已经安装可以省略)

yum install -y ppp iptables 

2、下载并安装pptpd

32位版

wget http://poptop.sourceforge.net/yum/stable/packages/pptpd-1.3.4-2.rhel5.i386.rpm rpm -ivh pptpd-1.3.4-2.rhel5.i386.rpm 

64位版

wget http://poptop.sourceforge.net/yum/stable/packages/pptpd-1.3.4-2.rhel5.x86_64.rpm rpm -ivh pptpd-1.3.4-2.rhel5.x86_64.rpm 

3、配置/etc/pptpd.conf

echo localip 192.168.88.1 >> /etc/pptpd.conf echo remoteip 192.168.88.8-88 >> /etc/pptpd.conf 

注:为拨入VPN的用户动态分配192.168.88.8~192.168.88.88之间的IP

添加vpn用户

echo myusername pptpd mynpassword \* >> /etc/ppp/chap-secrets 

注:这里的myusername和mypassword即为PPTP VPN的登录用户名和密码,密码后的*号保留

设置DNS为Google的DNS.

echo ms-dns 8.8.8.8 >> /etc/ppp/options.pptpd echo ms-dns 8.8.4.4 >> /etc/ppp/options.pptpd 

编辑/etc/sysctl.conf文件,修改内核设置,使其支持转发。

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

就是将net.ipv4.ip_forward = 0改为1

运行下面的命令让配置生效。

sysctl -p 

最后开启iptables转发

/sbin/iptables -t nat -A POSTROUTING -s 192.168.88.0/24 -o eth0 -j MASQUERADE 

保存防火墙规则

/etc/init.d/iptables save 

最后设置iptables和pptpd开机自动启动

chkconfig pptpd on chkconfig iptables on 

启动pptpd服务

/etc/init.d/pptpd start 

或者

service pptpd start 

启动成功后就可以使用帐号myusername密码mypassword登录您的pptpdvpn了

二、Windows 下 PPTP VPN 客户端配置

参照图例新建连接

\

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.4 安装VPN服务器pptpd

centos 6.4 安装VPN服务器pptpd

详细安装教程:


1、检查服务器是否有必要的支持.如果检查结果没有这些支持的话,是不能安装pptp的,执行指令:

#modprobe ppp-compress-18 && echo ok

这条执行执行后,显示”ok”则表明通过.不过接下来还需要做另一个检查,输入指令:

#cat /dev/net/tun

如果这条指令显示结果为下面的文本,则表明通过:

cat: /dev/net/tun: File descriptor in bad state

上述两条均通过,才能安装pptp.否则就只能考虑openvpn,或者请你的服务商来解决这个问题.

2、安装ppp和iptables(iptables可选).默认情况下,完整的CentOS是带有这两个组件的,但是精简版的系统可能没有.我们输入下面的命令来确认,如果没有则进行安装,有的话系统不会做任何动作:

#yum install -y ppp iptables

3、安装pptp.这个软件在yum源里是没有的,我们需要手动下载,我们先切换到tmp目录:

#cd /tmp

然后执行下面的命令来下载pptp安装包:

#wget http://acelnmp.googlecode.com/files/pptpd-1.3.4-1.rhel5.1.i386.rpm (32位系统使用)

#wget http://acelnmp.googlecode.com/files/pptpd-1.3.4-1.rhel5.1.x86_64.rpm (64位系统使用)

如果你的CentOS是32位的,则执行32位的那条指令;如果是64位的CentOS,则执行64位的那条指令.

接下来安装pptp,同样分32位和64位系统:

#rpm -ivh pptpd-1.3.4-1.rhel5.1.i386.rpm (32位系统使用)

#rpm -ivh pptpd-1.3.4-1.rhel5.1.x86_64.rpm (64位系统使用)

4、配置pptp.首先我们要编辑/etc/pptpd.conf文件:

#vim /etc/pptpd.conf

找到”locapip”和”remoteip”这两个配置项,将前面的”;”注释符去掉,更改为你期望的IP段值.localip表示服务器的IP,remoteip表示分配给客户端的IP地址,可以设置为区间.这里我们使用pptp默认的配置:

localip 192.168.0.1

remoteip 192.168.0.234-238,192.168.0.245

注意,这里的IP段设置,将直接影响后面的iptables规则添加命令.请注意匹配的正确性,如果你嫌麻烦,建议就用本文的配置,就可以一直复制命令和文本使用了.

接下来我们再编辑/etc/ppp/options.pptpd文件,为VPN添加Google DNS:

#vim /etc/ppp/options.pptpd

在末尾添加下面两行:

ms-dns 8.8.8.8

ms-dns 8.8.4.4

5、设置pptp VPN账号密码.我们需要编辑/etc/ppp/chap-secrets这个文件:

#vim /etc/ppp/chap-secrets

在这个文件里面,按照”用户名 pptpd 密码 *”的形式编写,一行一个账号和密码.比如添加用户名为test,密码为1234的用户,则编辑如下内容:

test pptpd 1234 *

6、修改内核设置,使其支持转发.编辑/etc/sysctl.conf文件:

#vim /etc/sysctl.conf

将”net.ipv4.ip_forward”改为1,变成下面的形式.

net.ipv4.ip_forward=1

保存退出,并执行下面的命令来生效它:

#sysctl -p

7、添加iptables转发规则.经过前面的6个步骤,我们的VPN已经可以拨号了,但是还不能访问任何网页.最后一步就是添加iptables转发规则了,输入下面的指令:

#iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE

需要注意的是,这个指令中的”192.168.0.0/24″是根据之前的配置文件中的”localip”网段来改变的,比如你设置的”10.0.0.1″网段,则应该改为”10.0.0.0/24″.此外还有一点需要注意的是eth0,如果你的外网网卡不是eth0,而是eth1(比如SoftLayer的服务器就是这样的情况),那么请记得将eth0也更改为对应的网卡编号,不然是上不了网的.

然后我们输入下面的指令让iptables保存我们刚才的转发规则,以便重启系统后不需要再次添加:

#/etc/init.d/iptables save

然后我们重启iptables:

#/etc/init.d/iptables restart

8、重启pptp服务.输入下面的指令重启pptp:

#/etc/init.d/pptpd restart

现在你已经可以连接自己的VPN并浏览网页了.不过我们还需要做最后的一步.

9、设置开机自动运行服务.我们最后一步是将pptp和iptables设置为开机自动运行,这样就不需要每次重启服务器后手动启动服务了,当然你不需要自动启动服务的话可以忽略这一步,输入指令:

#chkconfig pptpd on

#chkconfig iptables on

这样就大功告成了,赶快到Windows下建立一个VPN连接,IP填写自己的服务器IP,用户名和密码填写自己设置好的用户名和密码,点击”连接”,成功后就可以使用服务器去浏览网页啦.


备注:

多ip服务器转发指定规则

iptables -t nat -A POSTROUTING -s 192.168.8.0/24 -j SNAT --to-source 192.168.8.1

or

iptables -t nat -A POSTROUTING -s 192.168.8.0/24 -j SNAT --to-source 服务器外网IP

如果iphone之类的设备能连上,访问网页或者youtube特别慢,需要做如下修改:

vi /etc/ppp/ip-up

增加一行

/sbin/ifconfig $1 mtu 1400

或者修改iptables规则

iptables -A FORWARD -p tcp --syn -s 192.168.8.0/24 -j TCPMSS --set-mss 1356

1356的值可能需要自己调整,调节到能保证网络正常使用情况下的最大值。


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架设VPN服务器的分享已经结束,谢谢您的关注,如果想了解更多关于CentOS 5下安装配置 PPTP VPN 服务器、Centos 6.2搭建VPN服务、centos 6.4 安装VPN服务器pptpd、Centos 6.5 环境下使用pptpd搭建vpn服务器的相关知识,请在本站进行查询。

本文标签: