技术频道导航
HTML/CSS
.NET技术
IIS技术
PHP技术
Js/JQuery
Photoshop
Fireworks
服务器技术
操作系统
网站运营

赞助商

分类目录

赞助商

最新文章

搜索

Linux CentOS 6.4/6.5 配置VPN【图文|详细教程】

作者:admin    时间:2016-11-11 1:19:59    浏览:

本文VPN配置方法在CentOS 6.4/6.5上测试有效,更高版本未进行测试验证,不过应该也适用。

之前写过《windows vps服务器搭建VPN教程》,也一直使用的是windows搭建的VPN,不过最近发现速度有些慢,经常需多次连接才成功,故想试试linux下的VPN效果如何,于是拿一台英国的VPS进行操作,系统是CentOS 6.5。本文记录的是我的整个搭建过程,还有其中遇到的问题及解决方法。

1、安装ppptd

1) rpm pptp

# rpm -Uvh http://poptop.sourceforge.net/yum/stable/rhel6/pptp-release-current.noarch.rpm

rpm pptp

rpm pptp

2) install pptpd

# yum install pptpd

install pptpd

install pptpd

2、配置VPN本地及客户端IP

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

# vim /etc/pptpd.conf

注:执行vim指令若返回“-bash: vim:command not found”则表示未安装vim,如何安装?请看怎样安装vim

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

localip 192.168.0.1
remoteip 192.168.0.234-238,192.168.0.245

 配置VPN本地及客户端IP

配置VPN本地及客户端IP

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

3、配置VPN DNS

我们编辑/etc/ppp/options.pptpd文件,。

# vim /etc/ppp/options.pptpd

在末尾添加下面两行(Google DNS):

ms-dns 8.8.8.8
ms-dns 8.8.4.4

配置VPN DNS

配置VPN DNS

4、设置VPN账号密码

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

# vim /etc/ppp/chap-secrets

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

client01 pptpd 123456 *

设置VPN账号密码

设置VPN账号密码

5、设置支持转发

编辑/etc/sysctl.conf文件:

# vim /etc/sysctl.conf

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

net.ipv4.ip_forward=1

保存退出。

设置支持转发 

设置支持转发

接下来还需执行下面的命令来使它生效:

# sysctl -p

使sysctl设置生效

使sysctl设置生效

6、添加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也更改为对应的网卡编号eth1,不然是上不了网的。我们怎么知道是eth0还是eth1?

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

# /etc/init.d/iptables save

然后我们重启iptables:

# /etc/init.d/iptables restart

添加iptables转发规则

添加iptables转发规则

7、重启pptp服务

输入下面的指令重启pptp:

# /etc/init.d/pptpd restart

重启pptp服务

重启pptp服务

看到返回:

Shutting down pptpd: [OK]
Starting pptpd: [OK]

则表示重启成功。如果重启失败,可以先停止,再启动。命令为:

# /etc/init.d/pptpd stop
# /etc/init.d/pptpd start

8、设置开机自动运行服务

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

# chkconfig pptpd on
# chkconfig iptables on

至此,VPN配置完毕!

接下来,就是在你的电脑配置VPN网络访问了,配置方法可看这里《怎样使用VPN访问网站》。

知识扩展

怎样安装vim

先判断vim的安装情况,输入:

# rpm -qa|grep vim

如果 vim 已经正确安装,会返回下面的三行代码:

vim-minimal-7.0.109-6.el5
vim-common-7.0.109-7.2.el5
vim-enhanced-7.0.109-7.2.el5

如果少了其中的某一条,比如 vim-enhanced 的,就用命令:

# yum -y install vim-enhanced

来安装,如果上面的三条都沒有返回, 可以直接用:

# yum -y install vim*

命令安装。

安装vim

安装vim

如何判断服务器外网网卡是eth0还是eth1?

判断服务器外网网卡编号是eth0还是eth1,我们可以通过一个命令的返回信息进行判断。输入:

# ethtool eth0

如果返回:

Settings for eth0:
             Link detected: yes

则表明外网网卡编号是eth0

判断网卡编号是否eth0

判断网卡编号是否eth0

标签: vpn  CentOS  
  • IT热文
  • 站长推荐