Centos 6.x VPN 配置

VPN的英文全称是“Virtual Private Network”,翻译过来就是“虚拟专用网络”。顾名思义,虚拟专用网络我们可以把它理解成是虚拟出来的企业内部专线。它可以通过特殊的加密的通讯协议在连接在Internet上的位于不同地方的两个或多个企业内部网之间建立一条专有的通讯线路,就好比是架设了一条专线一样,但是它并不需要真正的去铺设光缆之类的物理线路。这就好比去电信局申请专线,但是不用给铺设线路的费用,也不用购买路由器等硬件设备。VPN技术原是路由器具有的重要技术之一,目前在交换机,防火墙设备或Windows等软件里也都支持VPN功能,一句话,VPN的核心就是在利用公共网络建立虚拟私有网。

虚拟专用网(VPN)被定义为通过一个公用网络(通常是因特网)建立一个临时的、安全的连接,是一条穿过混乱的公用网络的安全、稳定的隧道。虚拟专用网是对企业内部网的扩展。虚拟专用网可以帮助远程用户、公司分支机构、商业伙伴及供应商同公司的内部网建立可信的安全连接,并保证数据的安全传输。虚拟专用网可用于不断增长的移动用户的全球因特网接入,以实现安全连接;可用于实现企业网站之间安全通信的虚拟专用线路,用于经济有效地连接到商业伙伴和用户的安全外联网虚拟专用网。

PPTP 全称为 Point to Point Tunneling Protocol — 点到点隧道协议,是VPN协议中的一种。

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

$ modprobe ppp-compress-18 && echo ok

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

$ cat /dev/net/tun

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

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

上述两条均通过,才能安装pptp。否则就只能考虑openvpn,或者请vps空间商的技术客服为你的VPS打开TUN/TAP/PPP功能了,貌似有部分vps控制面板上提供打开TUN/TAP/PPP功能的按钮。

建议使用yum 安装,可以自动解决依赖关系第一:安装ppp和iptablesPPTPD要求Linux内核支持mppe,一般来说CentOS安装时已经包含了(这步我就没有安装):

$ yum install -y perl ppp iptables #centos默认安装了iptables和ppp

判断 ppp 是否可用:

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

如果出現跟上面一樣的訊息「No such device or address」,那不用擔心,這表示 ppp 是可用的,可以正常架設 pptp。

如果出現的是「Permission denied」,表示 ppp 是關閉的,下面的步驟就可以不用再看了。

第二:安装pptpd的方法是直接用yum安装,让电脑自动选择对应的版本:先加入yum源:

[root@~]$ rpm -Uvh http://poptop.sourceforge.net/yum/stable/rhel6/pptp-release-current.noarch.rpmRetrieving http://poptop.sourceforge.net/yum/stable/rhel6/pptp-release-current.noarch.rpmwarning: /var/tmp/rpm-tmp.UDo346: Header V3 DSA/SHA1 Signature, key ID 862acc42: NOKEYPreparing...                ########################################### [100%]   1:pptp-release           ########################################### [100%][root@~]$ yum install -y pptpdLoaded plugins: fastestmirror, securityLoading mirror speeds from cached hostfile * rpmforge: ftp.riken.jppoptop-stable                          | 2.2 kB     00:00     poptop-stable/primary_db               | 5.5 kB     00:00     pptp-stable                            | 2.2 kB     00:00     pptp-stable/primary_db                 |  18 kB     00:00     Setting up Install ProcessResolving Dependencies--> Running transaction check---> Package pptpd.x86_64 0:1.4.0-1.el6 will be installed--> Finished Dependency ResolutionDependencies Resolved=========================================================================== Package                Arch         Version        Repository        Size===========================================================================Installing: pptpd                  x86_64       1.4.0-1.el6    poptop-stable     74 kTransaction Summary===========================================================================Install       1 Package(s)Total download size: 74 kInstalled size: 174 kDownloading Packages:pptpd-1.4.0-1.el6.x86_64.rpm                                |  74 kB     00:00     warning: rpmts_HdrFromFdno: Header V3 DSA/SHA1 Signature, key ID 862acc42: NOKEYRetrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-PPTPImporting GPG key 0x862ACC42: Userid : PPTP Software Signing Key  Package: pptp-release-4-7.rhel6.noarch (installed) From   : /etc/pki/rpm-gpg/RPM-GPG-KEY-PPTPRunning rpm_check_debugRunning Transaction TestTransaction Test SucceededRunning TransactionWarning: RPMDB altered outside of yum.  Installing : pptpd-1.4.0-1.el6.x86_64                              1/1   Verifying  : pptpd-1.4.0-1.el6.x86_64                              1/1 Installed:  pptpd.x86_64 0:1.4.0-1.el6                                             Complete!

第三:安装完成,开始相关的配置工作:1.配置文件/etc/ppp/options.pptpd

$ cp /etc/ppp/options.pptpd /etc/ppp/options.pptpd.bak$ vi /etc/ppp/options.pptpd#解析:我还建议是在原配置文件上添加内容来配置pptp ,省的不必要的麻烦和问题#将如下内容添加到到options.pptpd中:ms-dns 8.8.8.8ms-dns 8.8.4.4

解析:ms-dns 8.8.8.8, ms-dns 8.8.4.4是使用google的dns服务器。

2.配置文件/etc/ppp/chap-secrets

$ cp /etc/ppp/chap-secrets   /etc/ppp/chap-secrets.bak$ vi /etc/ppp/chap-secrets#chap-secrets内容如下:# Secrets for authentication using CHAP# client server secret IP addressesmyusername pptpd mypassword * #myusername是你的vpn帐号,mypassword是你的vpn的密码,*表示对任何ip,记得不要丢了这个星号。

3.配置文件/etc/pptpd.conf

$ cp /etc/pptpd.conf     /etc/pptpd.conf.bak$ vi /etc/pptpd.conf#添加下面两行:localip 192.168.9.10remoteip 192.168.9.11-20  #表示vpn客户端获得ip的范围

4.配置文件/etc/sysctl.conf

$ vi /etc/sysctl.conf     #修改内核设置,使其支持转发#将net.ipv4.ip_forward = 0 改成 net.ipv4.ip_forward = 1#保存修改后的文件,生效之$ /sbin/sysctl -p

第四:启动pptp vpn服务

$ /sbin/service pptpd start #或者 service pptpd startShutting down pptpd:                                       [  OK  ]Starting pptpd:                                            [  OK  ]#设置自动启动$ chkconfig pptpd --list #检查是否自启动pptpd          0:off1:off2:off3:off4:off5:off6:off$ chkconfig pptpd on  # 开启动自动$ chkconfig pptpd --list #确认自启动状态 2\3\4\5 are on.pptpd          0:off1:off2:on3:on4:on5:on6:off

第五:配置和启动iptables

$ vi /bin/iptables.sh  # 注意, 我这里是自己定义的iptables.sh。 也可以直接执行下面语句即可:#----------For VPN Setting----------------------#iptables --flush POSTROUTING --table natiptables --flush FORWARDiptables -A INPUT -p tcp -m tcp --dport 1723 -j ACCEPT iptables -A INPUT -p gre -j ACCEPTiptables -t nat -A POSTROUTING -s 192.168.9.0/24 -o em1 -j MASQUERADE ##注意: ##  1. 如果你的外网网卡不是em1,而是eth0,那么要改一下 -o eth0, 可能使用ifconfig回车确认##  2. 这个指令中的“192.168.9.0/24”是要根据上面的配置文件中的“localip”网段来设置##说明:##  pptp 是以 GRE (Generic Routing Encapsulation) 封包透過 1723 Port 進行傳輸,並且設定 VPN 的網段是由哪個網路介面轉送對外的封包。$ /sbin/service iptables restart #或者 service iptables restartiptables: Flushing firewall rules:                         [  OK  ]iptables: Setting chains to policy ACCEPT: filter          [  OK  ]iptables: Unloading modules:                               [  OK  ]

接下来就可以设置本地的VPN链接了,具体设置可以网搜索上一下,Windows的可视化界面非常简单。

参考:

http://www.dabu.info/centos6-4-structures-pptp-vpn.html

CentOS 5/6 快速安裝 VPN Server (PPTP)

http://zyan.cc/pptp_vpn/

Centos 6.x VPN 配置

相关文章:

你感兴趣的文章:

标签云: