运维技术圈
PPTP的搭建及创建用户【shell一键部署】
583
0

shell脚本:

以下是隐藏的内容,需要以下用户组才有权限查看:“普通会员、”
************************************

Centos6.4版本:

1、安装ppptd

1) rpm pptp

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


2) install pptpd

# yum install pptpd


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

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

# vim /etc/pptpd.conf

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

localip 192.168.0.1  (服务器IP)
remoteip 192.168.0.234-238,192.168.0.245   (服务器分配给客户端的IP段)

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


4、设置VPN账号密码

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

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

"client01" pptpd "123456" *


5、设置支持转发

编辑/etc/sysctl.conf文件:

# vim /etc/sysctl.conf
将“net.ipv4.ip_forward”改为1,变成下面的形式:

net.ipv4.ip_forward=1
保存退出。

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

# sysctl -p


6、添加iptables转发规则

输入下面的指令(根据自己实际网络情况来定,此处的网络地址为要分配的VPN范围地址):

# iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE


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

# /etc/init.d/iptables save
然后我们重启iptables:

# /etc/init.d/iptables restart


7、重启pptp服务

输入下面的指令重启pptp:

# /etc/init.d/pptpd restart


再启动。命令为:
# /etc/init.d/pptpd stop
# /etc/init.d/pptpd start

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

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

# chkconfig pptpd on
# chkconfig iptables on

9、加入防火墙规则
# vi /etc/sysconfig/iptables
iptables -A INPUT -p tcp --dport 1723 -j ACCEPT
iptables -A INPUT -p tcp --dport 47 -j ACCEPT
-A FORWARD -i ppp+ -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j TCPMSS --set-mss 1356
-I FORWARD -p tcp --syn -i ppp+ -j TCPMSS --set-mss 1356

OK了。



centos创建用户:
创建一个用户名为:linlik

[root@localhost ~]# adduser linlik

为这个用户初始化密码,linux会判断密码复杂度,不过可以强行忽略:

[root@localhost ~]# passwd linlik
更改用户 linlik 的密码 。
新的 密码:
无效的密码: 密码未通过字典检查 - 过于简单化/系统化
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。

删除用户:
删除用户test:
#userdel linlik
删除用户以及用户目录:
#userdel -f linlik


centos下搭建的VPN速度慢解决方法:
在pptp所在的linux服务的iptables的*filter表中加入
-I FORWARD -p tcp --syn -i ppp+ -j TCPMSS --set-mss 1356或者执行下面命令:
/sbin/iptables -I FORWARD -p tcp --syn -i ppp+ -j TCPMSS --set-mss 1356


设置开机启动命令:
把启动程序的命令添加到/etc/rc.d/rc.local文件中(新增一行,把要开机启动的命令写在里面)
如下:
/etc/init.d/pptpd start
/sbin/iptables -I FORWARD -p tcp --syn -i ppp+ -j TCPMSS --set-mss 1356
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE

Centos7.0之后版本:
准备工作:
导入EPEL源
#rpm -ivh http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm#yum repolist#yum -y update
一、yum安装ppp和pptpd
#yum -y install ppp pptpd
二、 配置相关参数
1. 配置pptpd  1.1.运行 vim /etc/pptpd.conf 编辑配置文件,删除下列两行命令符前面的 # ,保存后退出      #localip 192.168.0.1      #remoteip 192.168.0.234-238,192.168.0.245  注:该处配置的IP和IP段为自定义VPN分配的网段,localip和remoteip保持在一个段中,可自行虚拟,但需与 添加iptables转发规则 处的保持一致;  1.2.运行 vim /etc/ppp/options.pptpd 编辑配置文件,删除下列两行命令符前面的 #,并写入当地DNS,保存后退出      ms-dns 223.5.5.5      ms-dns 223.6.6.6

1.3.设置VPN账号密码
我们需要编辑/etc/ppp/chap-secrets这个文件:
# vim /etc/ppp/chap-secrets
在这个文件里面,按照“"用户名" pptpd "密码" *”的形式编写,一行一个账号和密码,比如添加用户名为"client01",密码为"123456"的用户,则添加如下内容:
"client01" pptpd "123456" *

1.4.设置支持转发
编辑/etc/sysctl.conf文件:
# vim /etc/sysctl.conf
将“net.ipv4.ip_forward”改为1,变成下面的形式:
net.ipv4.ip_forward=1
保存退出。
接下来还需执行下面的命令来使它生效:
# sysctl -p

1.5.开启防火墙
CentOS 7默认使用的是firewall作为防火墙,使用iptables必须重新设置一下
1.直接关闭防火墙
# systemctl stop firewalld.service #停止firewall
# systemctl disable firewalld.service #禁止firewall开机启动
2.设置 iptables service
# yum -y install iptables-services

1.6.添加iptables转发规则
输入下面的指令(根据自己实际网络情况来定,此处的网络地址为要分配的VPN范围地址):
# iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
然后我们输入下面的指令让iptables保存我们刚才的转发规则,以便重启系统后不需要再次添加:
# /etc/init.d/iptables save
然后我们重启iptables:
# /etc/init.d/iptables restart

1.7.重启pptp服务
输入下面的指令重启pptp:
# /etc/init.d/pptpd restart
再启动。命令为:
# /etc/init.d/pptpd stop
# /etc/init.d/pptpd start

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

1.9.加入防火墙规则
# vi /etc/sysconfig/iptables
iptables -A INPUT -p tcp --dport 1723 -j ACCEPT
iptables -A INPUT -p tcp --dport 47 -j ACCEPT
-A FORWARD -i ppp+ -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j TCPMSS --set-mss 1356
-I FORWARD -p tcp --syn -i ppp+ -j TCPMSS --set-mss 1356
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE

OK了。
注:192.168.0.0/24为/etc/pptpd.conf配置的VPN分配的网段,请保持一致,以及最下方开机启动中的设置;
7.0版本以上参考:

centos下搭建的VPN速度慢解决方法:
在pptp所在的linux服务的iptables的*filter表中加入
-I FORWARD -p tcp --syn -i ppp+ -j TCPMSS --set-mss 1356或者执行下面命令:
# /sbin/iptables -I FORWARD -p tcp --syn -i ppp+ -j TCPMSS --set-mss 1356

设置开机启动命令:
把启动程序的命令添加到/etc/rc.d/rc.local文件中(新增一行,把要开机启动的命令写在里面)
如下:
systemctl restart pptpd
/sbin/iptables -I FORWARD -p tcp --syn -i ppp+ -j TCPMSS --set-mss 1356
/sbin/iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
注意:如果是centos7及以上版本,需要给权限后,文件中的命令才能在系统启动后执行,命令为:
# chmod +x /etc/rc.d/rc.local


1
打赏
收藏
点击回复
      全部留言
  • 0
更多回复
运维技术圈
      圈内贴子8
  • 圈子成员4
本圈子内的新贴

热门分类
推荐内容
扫一扫访问手机版