CentOS下单网卡安装配置PPTP VPN

VPN(Virtual Private Network,虚拟专用网络)是专用网络的延伸,它可以通过共享Internet或公共网络连接模拟点对点专用连接的方式,在本地计算机和远程计算机之间发送数据。

它具有良好的保密性和不受干扰性,使双方能够进行自由而安全的点对点连接。

Linux下常用的VPN服务有两个,一个是pptp,另一个则是openvpn。前者更简单一些,但是只有独立服务器和XEN VPS可以搭建;后者则没有任何限制。前者搭建出来的VPN,不需要特殊的VPN客户端,直接在Windows下创建VPN拨号连接即可;而后者需要安装一个客户端来进行拨号

网络实验环境:

服务器版本:CentOS 5.9

VPN服务器:eth0=199.68.199.121

内网IP地址:192.168.1.100-200(通过NAT分配给使用者)

外网IP地址:199.68.199.121

一、检查服务器是否有必要的支持。

如果检查结果没有这些支持的话,是不能安装pptp的。执行指令:

#modprobe ppp-compress-18 && echo ok

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

#cat /dev/net/tun

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

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

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

Cent os 5.5内核版本在2.6.15以上,因此下面检查可以忽略:

检查PPP是否支持MPPE(这个要先装了ppp再运行,不然是结果0)

用以下命令检查PPP是否支持MPPE:

#strings ‘/usr/sbin/pppd’ |grep -i mppe | wc –lines

如果以上命令输出为“0”则表示不支持;输出为“30”或更大的数字就表示支持,MPPE(Microsoft Point to Point Encryption,微软点对点加密)。

二、安装ppp和iptables。

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

#yum install -y ppp iptables

三、安装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位的那条指令。注意不要搞错了,搞错后面会报错客户端连接不上619或者800,并提示pptpd-logwtmp.so找不到。

接下来安装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位系统使用)

四、配置pptp。

首先我们要编辑/etc/pptpd.conf文件:

#vim /etc/pptpd.conf

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

localip 199.68.199.121

remoteip 192.168.1.100-200

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

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

#vim /etc/ppp/options.pptpd

在末尾添加下面两行:

一般只需修改ms-dns,分配给VPN客户端的DNS服务器IP地址

name pptpd

refuse-pap

refuse-chap

refuse-mschap

require-mschap-v2

require-mppe-128

proxyarp

lock

nobsdcomp

novj

novjccomp

nologfd

idle 2592000 72个小时空闲断开

ms-dns 8.8.8.8

五、设置pptp VPN账号密码。

我们需要编辑/etc/ppp/chap-secrets这个文件:

#vim /etc/ppp/chap-secrets

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

test pptpd 1234 *(指定分配给test用户的ip)

六、修改内核设置,使其支持转发。

编辑/etc/sysctl.conf文件:

#vim /etc/sysctl.conf

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

net.ipv4.ip_forward=1

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

#sysctl -p

七、添加iptables转发规则。

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

#iptables -t nat -A POSTROUTING -o eth0 -s 192.168.1.0/24 -j SNAT –to 199.68.199.121

需要注意的是,这个指令中的“192.168.1.0/24”是根据之前的配置文件中的“remoteip”网段来改变的,比如你设置的 “10.0.0.1”网段,则应该改为“10.0.0.0/24”。此外还有一点需要注意的是eth0,如果你的外网网卡不是eth0,而是eth1(比如SoftLayer的服务器就是这样的情况,你可以用ifconfig命令来查看以太网口名称),那么请记得将eth0也更改为对应的网卡编号,不然是上不了网的!

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

#/etc/init.d/iptables save

然后我们重启iptables:

#/etc/init.d/iptables restart

八、重启pptp服务。

输入下面的指令重启pptp:

#/etc/init.d/pptpd restart

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

九、设置开机自动运行服务。

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

#chkconfig pptpd on

#chkconfig iptables on

十、各种设备里面怎么连我就不多说了

osx下就这样子:

时间: 2024-10-25 04:12:08

CentOS下单网卡安装配置PPTP VPN的相关文章

CentOS 6.2 配置pptp VPN(基于VPS)

一键搭建PPTP VPN脚本 下载Centos6.2一键搭建PPTP VPN脚本  代码如下 复制代码 #wget http://www.hi-vps.com/shell/vpn_centos6.sh #chmod a+x vpn_centos6.sh 安装Centos6.2PPTPVPN脚本#bash vpn_centos6.sh 执行完后有1.2.3种英文,对应如下中文意思. 1. 安装VPN服务 2. 修复VPN 3. 添加VPN用户 我们要安装PPTP vpn,当然输入1,然后enter

如何在Ubuntu下配置PPTP VPN

如何在Ubuntu下配置PPTP VPN 安装pptpd $ sudo apt-get install pptpd 编辑配置文件: $ sudo vi /etc/pptpd.conf 找到最下面,修改ip: localip 你的主机ip remoteip 10.100.0.2-10 第二行为分配的ip段  设置dns $ sudo vi /etc/ppp/pptpd-options 修改以下部分为google的dns: ms-dns 8.8.8.8 ms-dns 8.8.4.4 设置账号: $

CentOS 7.0安装配置LAMP服务器(Apache+PHP+MariaDB)

原文 CentOS 7.0安装配置LAMP服务器(Apache+PHP+MariaDB)     一.配置防火墙,开启80端口.3306端口 CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop firewalld.service #停止firewall systemctl disable firewalld.service #禁止firewall开机启动 2.安装iptables防火墙 yum i

CentOS 6.x安装配置

简述 VMware可以创建多个虚拟机,每个虚拟机上都可以安装各种类型的操作系统.安装方法也有很多种.下面,主要以ISO镜像安装为例,介绍CentOS 6.x的安装过程及相关的参数设置. 简述 创建虚拟机 安装CentOS 更多参考 创建虚拟机 打开VMware,单击右侧的[创建新虚拟机]选项,开始创建虚拟机. 选择[稍后安装操作系统],单击[下一步]按钮. 选择要在虚拟机上安装的[客户机操作系统]及对应的[版本],选择"Linux"与"CentOS"(注意:如果不是

CentOS 6.4安装配置ldap

CentOS 6.5安装配置ldap 时间:2015-07-14 00:54来源:blog.51cto.com 作者:"ly36843运维" 博客 举报 点击:274次 一.安装ldap [root@dev ~]# yum install openldap openldap-* -y [root@dev ~]# yum install nscd nss-pam-ldapd nss-* pcre pcre-* -y 二.配置ldap [root@dev ~]# cd /etc/openl

CentOS 7.x安装配置

简述 VMware可以创建多个虚拟机,每个虚拟机上都可以安装各种类型的操作系统.安装方法也有很多种.下面,主要以ISO镜像安装为例,介绍CentOS 7.x的安装过程及相关的参数设置. 简述 创建虚拟机 安装CentOS 重启系统 注意事项 更多参考 创建虚拟机 打开VMware,单击右侧的[创建新虚拟机]选项,开始创建虚拟机. 选择[稍后安装操作系统],单击[下一步]按钮. 选择要在虚拟机上安装的[客户机操作系统]及对应的[版本],选择"Linux"与"CentOS&quo

Redis 对比 Memcached 并在 CentOS 下进行安装配置详解_Redis

Redis 是一个开源.支持网络.基于内存.键值对的 Key-Value 数据库,本篇文章主要介绍了Redis 对比 Memcached 并在 CentOS 下进行安装配置详解,有兴趣的可以了解一下. 了解一下 Redis Redis 是一个开源.支持网络.基于内存.键值对的 Key-Value 数据库,使用 ANSI C 编写,并提供多种语言的 API ,它几乎没有上手难度,只需要几分钟我们就能完成安装工作,并让它开始与应用程序顺畅协作.换句话来说,只需投入一小部分时间与精力,大家就能获得立竿

CentOS 6.6安装配置LAMP服务器(Apache+PHP5+MySQL)_Linux

准备篇: CentOS 6.6系统安装配置图解教程 http://www.jb51.net/os/239738.html 1.配置防火墙,开启80端口.3306端口 vi /etc/sysconfig/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT :wq! #保存

CentOS 6.4安装配置LAMP服务器(Apache+PHP5+MySQL)_Linux

准备篇: 1.配置防火墙,开启80端口.3306端口vi /etc/sysconfig/iptables-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT #允许80端口通过防火墙-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT #允许3306端口通过防火墙 备注:很多网友把这两条规则添加到防火墙配置的最后一行,导致防火墙启动失败, 正