作用就不多说了,之前按照网上的教程安装,经常发生链接错误或者链接成功不能上网,于是整理了一下。
修改内核,使其支持包转发
修改/etc/sysctl.conf
将net.ipv4.ip_forward
的值从0改为1,否则服务器将不会进行包转发操作
# sysctl -p
使内核配置生效
安装PPP和iptables
yum -y install ppp iptables
如果你需要用户连接到你的服务器后可以访问外网,则iptables是必要的,它主要用来做地址转换,将内网IP转换成公网IP(NAT),从而实现上网。否则用户只能访问你服务器上的内网。
安装pptp
rpm -Uvh http://poptop.sourceforge.net/yum/stable/rhel6/pptp-release-current.noarch.rpm yum install pptpd
配置pptp
修改配置文件/etc/pptpd.conf
,在最下面找到
#localip 192.168.0.1 #remoteip 192.168.0.234-238,192.168.0.245
将注释去掉,并改成你自己想要设置的IP段
localip就是指定你服务器的内网IP地址,其实即便网卡没有配置成这个地址也无所谓
remoteip就是用户连接到你的服务器后,服务器为用户分配的ip地址范围,注意格式。
localip 192.168.0.1 remoteip 192.168.0.234-238,192.168.0.245
配置options.pptpd
文件
修改/etc/ppp/options.pptpd
,找到下面字段,去掉注释,并修改成你想要为用户分配的dns服务器,一般指定google的即可
ms-dns 8.8.8.8 ms-dns 8.8.4.4
配置iptables转发规则
这步非常重要,实际配置过程中可以拨号成功但是不能上网大多数都是这个原因造成的
iptables -t nat -A POSTROUTING -s 192.168.0.1/24 -j SNAT --to-source 122.96.157.22
以上命令的作用就是让192.168.0.1这个段的ip地址,可以通过122.96.157.22这个公网地址上网。你需要将192.168.0.1/24替换成你在pptp.conf中设置的ip段和子网掩码,如果没有设置那么默认就好,将122.96.157.22替换成你服务器自己的公网ip地址。
service iptables save
将新增的转发规则写入文件保存,不执行此命令,服务器重启后上面的转发规则就没了
清空iptables转发规则
iptables -F -t nat iptables -X -t nat iptables -Z -t nat
如果不小心配置了错误的转发规则可以使用以上三条命令清空
service iptables save
清空后别忘了再次使用保存命令将清空后的配置写入文件,否则重启后上次配置的转发规则又回恢复。
添加VPN账号密码
以上配置完成后,我们就可以添加账号密码进行测试了
修改/etc/ppp/chap-secrets
,需要添加的4个字段分别为用户名,服务,密码,ip地址(如果为*,则表示随机分配,范围即为你在pptp.conf中的设置,添加多个帐号换行即可。保存以后我们就可以启动相关服务进行测试了。
# client server secret IP addresses bigfa pptpd mima * betty pptpd mima *
启动相关服务
service pptpd start service iptables start
将服务配置为开机自动启动
chkconfig pptpd on chkconfig iptables on
以上。
Responses