×××服务是所有互联网企业中不可或缺的一个服务,它的存在大大方便了我们的办公效率。服务器出故障了,工程师们再也不用火急火燎的打车来公司处理问题了,可以在家拨号连到公司,轻松愉快的就把问题处理好了。当然这里我所说的是非硬件设备故障,真要是物理故障还是得打车去公司的⊙﹏⊙b汗。

    目前×××分为软件和硬件两种,有实力的大公司会选择硬件×××,稳定且配置简单。小公司为节约成本可以选择用软件来搭建。

    今天我们以PPTPD为例,学习如何在linux下快速构建属于我们自己的×××服务器。

 
    
  1. 操作系统:centos 5.8 x86_64 

  2. 单网卡和双网卡均可。
     

安装前系统环境检查:

检查系统内核是否支持MPPE补丁, 显示ok说明系统支持MPPE补丁,如果不支持,需要先安装kernel-devel

modprobe ppp-compress-18 && echo ok

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

cat /dev/net/tun

上述两条均通过,才能安装pptp。否则就需要考虑使用其它的×××服务软件了。

检查ppp和iptables是否安装,没有的话则需要安装一下,pptpd依赖这些软件。

安装命令如下:

安装pptpd:

rpm -ivh http://acelnmp.googlecode.com/files/pptpd-1.3.4-2.rhel5.x86_64.rpm

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

vim /etc/pptpd.conf 把下面字段前面的#去掉即可,这里设置默认网关和***客户端所可以获取到的ip地址范围: localip 192.168.66.1 remoteip 192.168.66.101-130

接下来再编辑/etc/ppp/options.pptpd:

vim /etc/ppp/options.pptpd 去掉ms-dns前面的#,并修改成如下字段,这里主要设置需要用到的DNS服务器: ms-dns 211.147.6.3 ms-dns 202.106.0.20

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

vim /etc/ppp/chap-secrets 直接输入如下字段,星号代表允许任意IP连接×××服务器: testuser pptpd testpass *

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

vim /etc/sysctl.conf 将“net.ipv4.ip_forward”改为1: net.ipv4.ip_forward=1

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

sysctl -p

添加iptables转发规则。

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE 
iptables -I INPUT -p tcp --dport 47 -j ACCEPT
iptables -I INPUT -p tcp --dport 53 -j ACCEPT 
iptables -I INPUT -p tcp --dport 1723 -j ACCEPT 
iptables -I INPUT -p gre -j ACCEPT

保存刚刚的防火墙设置。

/etc/init.d/iptables save

设置开机自动运行服务。

chkconfig pptpd on chkconfig iptables on

关于PPTPD服务器的控制方法:

启动pptpd服务: /etc/init.d/pptpd start 停止pptpd服务: /etc/init.d/pptpd stop 重启pptpd服务: /etc/init.d/pptpd restart 关闭服务并踢掉已经在线的***客户端: /etc/init.d/pptpd restart-kill 查看pptpd当前运行状态: /etc/init.d/pptpd status

客户端连接测试:

 

详细客户端×××配置方法请百度相关文章。

好了,大家都试试吧,如果有问题欢迎和我一起讨论。