yoyo 发表于 2014-9-16 18:04:36

CentOS Linux系统上安装配置VPN(PPTP)

系统环境: CentOS 5.4 Final
网卡: eth0: 98.126.x.x
先检查系统的MPPE,基本上CentOS本身都有,看到ok就可继续往下进行,不行的话就去打一下补丁,网上到处都是。
modprobe ppp-compress-18 && echo ok
CentOS5.4系统本身安装已经带了ppp版本,可以用这个版本,也可以重新安装,这里我卸载了,全部自己重新安装。
rpm -q ppp
rpm -e rp-pppoe
rpm -e ppp
rm -rf /etc/ppp
所需要的软件如下:
wget http://acelnmp.googlecode.com/fi ... -1.rhel5.1.i386.rpm
wget http://poptop.sourceforge.net/yu ... -9.0.rhel5.i386.rpm
(由于sourceforge的网址失效了,所以更新两个网址)
wget http://www.ctohome.com/linux-vps-pack/vpn/pptpd-1.3.4-1.rhel5.1.i386.rpm
wget http://www.ctohome.com/linux-vps-pack/vpn/ppp-2.4.4-9.0.rhel5.i386.rpm
1.安装
rpm -ivh pptpd-1.3.4-1.rhel5.1.i386.rpm
rpm -ivh ppp-2.4.4-9.0.rhel5.i386.rpm
2.设置Server基本配置
主要的配置文件是放在
/etc/pptpd.conf
/etc/ppp/options.pptpd
/etc/ppp/chap-secrets
vi /etc/pptpd.conf
在配置的最下面添加如下信息
localip 192.168.8.1-30
remoteip 192.168.8.50-80,192.168.8.100-200
(1)定义vpn服务器上的IP。(是客户机连上后能与vpn 服务通信的IP,也就是客户机可能过这个地址访问vpn 服务器)
(2)定义客户端的IP 段。(用-来连接连续的ip,用半角逗号来分隔不同段的ip)
vi /etc/ppp/options.pptpd
在最后增加一行
ms-dns 4.2.2.2 (你可以改成你自己常用的dns)
vi /etc/ppp/chap-secrets 给用户权限和分配IP
格式:用户,服务 密码 * (通陪符)
# vi /etc/ppp/chap-secrets
内容如下:
# Secrets for authentication using CHAP
# client      server secret          IP addresses
test01       pptpd   123456                *    (自动获取)
test02       pptpd   654321            192.168.7.230    (指定IP)
3.打开linux内核的路由功能(保证每次开机都得运行打开路由功能,加入vi /etc/rc.local)
echo “1″>/proc/sys/net/ipv4/ip_forward
(确认系统SELINUX是否关闭 vi /etc/selinux/config,看看里面SELINUX=disabled)
或者编辑/etc/sysctl.conf加入下面的语句:
net.ipv4.ip_forward = 1
要使sysctl立即生效, 运行下面的命令: -
sysctl -p
4.如果开启了iptables,就需要下面规则
打开 1723,47端口
iptables -A INPUT -p tcp --dport 1723 -j ACCEPT
iptables -A INPUT -p tcp --dport 47 -j ACCEPT
5.启动和停止VPN服务
# /etc/rc.d/init.d/pptpd start    启动
# /etc/rc.d/init.d/pptpd stop   关闭
# /etc/rc.d/init.d/pptpd restart 重启
为了使VPN服务可以在系统引导的时候自动启动,执行:
# chkconfig pptpd on
用netstat -anl 查看一下服务器上是否以开放了1723端口
6.这样VPN的服务器就应该可以正常启动了,可是想正常的使用,还需要一条命令,这条命令在网络中很多文章里面是没有的。
下面是可以实现连接VPN上网的方法:
/sbin/iptables -t nat -I POSTROUTING -s 192.168.8.0/24 -j MASQUERADE

另外下面这个命令可实现绑定IP:
# iptables -t nat -A POSTROUTING -s 192.168.8.0/24 -o eth0 -j SNAT --to 98.126.x.x (NAT转换,可绑定ip)

查看NAT
iptables -t nat -L
或许还需要加这条路由才可以上网.(两块网卡用到的)
ip route add 192.168.0.0/16 via 192.168.8.1
Windows下创建VPN拨号连接客户端:
1、打开网络连接,点击左侧列表里面的“创建一个新的连接”,点击“下一步”。
2、选择“连接到我的工作场所的网络”,点击“下一步”。
3、选择“虚拟专用网络连接”,点击“下一步”。
4、在“公司名”的输入框里面输入任意名字,你自己喜欢即可,点击“下一步”。
5、在“主机名或ip地址”框里面输入vpn服务器上的域名或者ip地址,然后点击“下一步”,点击“完成”就创建完成连接了,网络连接窗口里面也多了一个连接图标。
6、点击图标,然后打开一个连接的窗口,然后输入刚才在/etc/ppp/chap-secrets添加的用户名和密码,然后点击“连接”,如果配置没有问题,就会连接上了,现在所用的ip都会显示服务器上的ip地址。


来源:yoyo blog


悠悠 发表于 2014-10-24 02:20:29

对于一些比较新的版本,经常会出现一些版本不兼容的情况,如:

“ppp = 2.4.4 is needed by pptpd-1.3.4-2.rhel5.x86_64”或者“ppp = 2.4.4 is needed by pptpd-1.3.4-2.rhel5.x86”
解决办法就是找到对应的版本:

ppp 2.4.4——————>pptpd 1.3.4
ppp 2.4.5——————>pptpd 1.4.0

imuu 发表于 2014-11-4 17:43:09

好文章,支持下。

悠悠 发表于 2014-11-13 11:51:05

很多时候连不上是因为防火墙开着,所以关闭iptables就好了。

yoyo 发表于 2017-1-18 14:37:51

补充一个pptpd 1.4.0的下载地址
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

xt19950121 发表于 2017-8-3 11:19:56

好贴:lol
页: [1]
查看完整版本: CentOS Linux系统上安装配置VPN(PPTP)