首先,推荐跑下面的脚本:

https://github.com/BoizZ/PPTP-L2TP-IPSec-VPN-auto-installation-script-for-CentOS-7

这个脚本将pptp l2tp  ipsec都按照,并且配置好,当然很多配置不准确

跑脚本的时候配置好ip规划,PPsk共享秘钥(这个后面客户端连接需要用到) 用户名 ,密码 (后面连接都需要用到)

PSK共享秘钥在/etc/ipsec.secrets可以找到和配置

用户名密码在/etc/ppp/chap-secrets 可以找到配置

下面的简单修改流程:

vim /etc/ipsec.conf

  1. config setup
  2. # NAT-TRAVERSAL support, see README.NAT-Traversal
  3. #nat_traversal=yes
  4. # exclude networks used on server side by adding %v4:!a.b.c./
  5. virtual_private=%v4:10.0.0.0/,%v4:192.168.0.0/,%v4:172.16.0.0/
  6. # OE is now off by default. Uncomment and change to on, to enable.
  7. #oe=off
  8. # which IPsec stack to use. auto will try netkey, then klips then mast
  9. protostack=netkey
  10. #force_keepalive=yes
  11. keep_alive=
  12.  
  13. conn L2TP-PSK-NAT
  14. rightsubnet=vhost:%priv
  15. also=L2TP-PSK-noNAT
  16.  
  17. conn L2TP-PSK-noNAT
  18. authby=secret
  19. pfs=no
  20. auto=add
  21. keyingtries=
  22. rekey=no
  23. ikelifetime=8h
  24. keylife=1h
  25. type=transport
  26. left=47.52.219.118 #这里要写外网ip
  27. leftid=47.52.219.118 #id随便填
  28. leftprotoport=/ #端口
  29. right=%any
  30. rightprotoport=/%any
  31. dpddelay=
  32. dpdtimeout=
  33. dpdaction=clear
  34. leftnexthop=%defaultroute
  35. rightnexthop=%defaultroute
  36. ike=3des-sha1,aes-sha1,aes256-sha1,aes256-sha2_256
  37. phase2alg=3des-sha1,aes-sha1,aes256-sha1,aes256-sha2_256
  38. sha2-truncbug=yes

vim /etc/xl2tpd/xl2tpd.conf

  1. [global]
  2. ; ipsec saref = yes
  3. listen-addr = 外网ip
  4. auth file = /etc/ppp/chap-secrets (用户名密码文件)
  5. port =
  6. [lns default]
  7. ip range = 10.81.24.100-10.81.24.199 (这个根据自己的内网网段和需要的ip数配置)
  8. local ip = 10.81.24.1 (分配给自己的ip)
  9. refuse chap = yes
  10. refuse pap = yes
  11. require authentication = yes
  12. name = L2TPVPN
  13. ppp debug = yes
  14. pppoptfile = /etc/ppp/options.xl2tpd 这里有xl2tpd的一些配置
  15. length bit = yes

用户名和密码会保存在这里

  1. /etc/ppp/chap-secrets

vim /etc/ppp/options.xl2tpd

  1. #require-pap
  2. #require-chap
  3. #require-mschap
  4. ipcp-accept-local
  5. ipcp-accept-remote
  6. require-mschap-v2
  7. ms-dns 8.8.8.8
  8. ms-dns 8.8.4.4
  9. asyncmap
  10. auth
  11. #crtscts #这几个注释的是新的配置里面没有,原来有的,注释掉就正常了
  12. #lock
  13. hide-password
  14. #modem
  15. debug
  16. name l2tpd
  17. proxyarp
  18. lcp-echo-interval
  19. lcp-echo-failure
  20. mtu
  21. noccp
  22. connect-delay

vim /etc/pptpd.conf

  1. #ppp /usr/sbin/pppd
  2. option /etc/ppp/options.pptpd pptpd的一些配置
  3. #debug
  4. # stimeout
  5. #noipparam
  6. logwtmp
  7. #vrf test
  8. #bcrelay eth1
  9. #delegate
  10. #connections
  11. localip 10.81.24.2
  12. remoteip 10.81.24.200-

vim  /etc/xl2tpd/xl2tpd.conf

  1. [global]
  2. ; ipsec saref = yes
  3. listen-addr = 外网ip
  4. auth file = /etc/ppp/chap-secrets
  5. port =
  6. [lns default]
  7. ip range = 10.81.24.100-10.81.24.199
  8. local ip = 10.81.24.1
  9. refuse chap = yes
  10. refuse pap = yes
  11. require authentication = yes
  12. name = L2TPVPN
  13. ppp debug = yes
  14. pppoptfile = /etc/ppp/options.xl2tpd #这里有xl2tpd的一些配置
  15. length bit = yes

系统配置:

  1. net.ipv4.ip_forward =
  2. net.ipv4.conf.all.rp_filter =
  3. net.ipv4.conf.default.rp_filter =
  4. net.ipv4.conf.eth1.rp_filter = 这个允许转发的接口要配置好
  5. net.ipv4.conf.all.send_redirects =
  6. net.ipv4.conf.default.send_redirects =
  7. net.ipv4.conf.all.accept_redirects =
  8. net.ipv4.conf.default.accept_redirects =

防火墙配置

创建文件/usr/lib/firewalld/services/pptpd.xml并修改:

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <service>
  3. <short>pptpd</short>
  4. <description>PPTP</description>
  5. <port protocol="tcp" port="1723"/>
  6. </service>

创建文件/usr/lib/firewalld/services/l2tpd.xml并修改:

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <service>
  3. <short>l2tpd</short>
  4. <description>L2TP IPSec</description>
  5. <port protocol="udp" port="500"/>
  6. <port protocol="udp" port="4500"/>
  7. <port protocol="udp" port="1701"/>
  8. </service>
  1. firewall-cmd --reload
  2. firewall-cmd --permanent --add-service=pptpd
  3. firewall-cmd --permanent --add-service=l2tpd
  4. firewall-cmd --permanent --add-service=ipsec
  5. firewall-cmd --permanent --add-masquerade
  6. firewall-cmd --permanent --direct --add-rule ipv4 filter FORWARD -p tcp -i ppp+ -j TCPMSS --syn --set-mss
  7. firewall-cmd --reload
  1. 开机启动设置:
  2. systemctl enable pptpd ipsec xl2tpd
  3. systemctl restart pptpd ipsec xl2tpd

ipsec检查:全部ok ,碰到不是ok的,就看报错来解决,很多配置以及去掉了  会报错

  1. Verifying installed system and configuration files
  2.  
  3. Version check and ipsec on-path [OK]
  4. Libreswan 3.25 (netkey) on 3.10.-514.26..el7.x86_64
  5. Checking for IPsec support in kernel [OK]
  6. NETKEY: Testing XFRM related proc values
  7. ICMP default/send_redirects [OK]
  8. ICMP default/accept_redirects [OK]
  9. XFRM larval drop [OK]
  10. Pluto ipsec.conf syntax [OK]
  11. Two or more interfaces found, checking IP forwarding [OK]
  12. Checking rp_filter [OK]
  13. Checking that pluto is running [OK]
  14. Pluto listening for IKE on udp [OK]
  15. Pluto listening for IKE/NAT-T on udp [OK]
  16. Pluto ipsec.secret syntax [OK]
  17. Checking 'ip' command [OK]
  18. Checking 'iptables' command [OK]
  19. Checking 'prelink' command does not interfere with FIPS [OK]
  20. Checking for obsolete ipsec.conf options [OK]

centos7 配置PPTP、L2TP、IPSec服务的更多相关文章

  1. CentOS7部署l2tp/IPsec服务

    1.安装必要的工具 yum install vim net-tools wget unzip -y 2. 下载安装脚本 wget -O StackScript.zip http://files.cnb ...

  2. centos7配置nfs共享存储服务

    nfs 是一种网络文件系统,需要依赖rpc进行过程调度 注意nfs只验证id,验证用户名,并且只能在类unix os上进行文件共享服务,由于它的脆弱的验证机制,所以不适宜在internet上工作,在内 ...

  3. 如何在 Debian / Ubuntu 服务器上架设 L2TP / IPSec VPN

    本站的 Rio 最近在一台 Ubuntu 和一台 Debian 主机上配置了 L2TP / IPSec VPN,并在自己的博客上做了记录.原文以英文写就,我把它大致翻译了一下,结合我和 Rio 在设置 ...

  4. RouterOS安装以及搭建DHCP PPPoE PPTP L2TP服务

    1.安装routeros https://mikrotik.com/download 网站下载routeros镜像 vdi格式 :VirtualBox默认创建的硬盘文件格式 vmdk格式:VMware ...

  5. 配置L2TP IPsec VPN (CentOS 6.5)

    1. 安装相关包 yum install -y ppp iptables make gcc gmp-devel xmlto bison flex libpcap-devel lsof vim-enha ...

  6. PPTP vs. OpenVPN vs. L2TP/IPsec vs. SSTP

    Which is the Best VPN Protocol? PPTP vs. OpenVPN vs. L2TP/IPsec vs. SSTP Want to use a VPN? If you’r ...

  7. [原]CentOS 7.2 1511部署L2TP/IPsec服务器及客户端

    快过年了,感觉从去年开始,我们公司就变成了“别人的公司”,基本上提前一星期就放假了,好开心.正好可以利用这一段时间,把前段时间一些疑惑的问题解决下:) 然而挡在面前的一个拦路虎是:很多时候不能愉快的G ...

  8. PPTP&L2TP&PPPOE client and server configure

    一. PPPOE 1. server(参考http://laibulai.iteye.com/blog/1171898) (1)安装rp-pppoe:yum install rp-pppoe (2)配 ...

  9. 架设基于StrongSwan的L2tp/IPSec VPN服务器

    架设基于StrongSwan的L2tp/IPSec VPN服务器 参考: http://agit8.turbulent.ca/bwp/2011/01/setting-up-a-vpn-server-w ...

随机推荐

  1. Configuring spartan 6 using mcu and spi flash

    http://forums.xilinx.com/t5/General-Technical-Discussion/Configuring-spartan-6-using-mcu-and-spi-fla ...

  2. Android 交叉编译程序提示(not found)

    原因是缺少库文件, 解决办法:arm-linux-readelf -a helloword | grep NEEDED 拷贝so文件到安卓下 或者 arm-linux-gcc hello.c -o h ...

  3. 数学图形(2.20)3D曲线

    这一节主要是发布我自己写的3D曲线, (1)立体flower线圈 vertices = a = 10.1 b = 3.1 s = (a + b) / b o = i = to (**PI) j = m ...

  4. JNI/NDK开发指南(十)——JNI局部引用、全局引用和弱全局引用

    转自:http://blog.csdn.net/xyang81/article/details/44657385   这篇文章比较偏理论,详细介绍了在编写本地代码时三种引用的使用场景和注意事项.可能看 ...

  5. go语言基础之 if else的使用

    一.if_else 示例1: package main //必须有一个main包 import "fmt" func main() { a := 11 if a == 10 { f ...

  6. JS-为句柄添加监听函数

    具体谈如何实现JS为句柄添加监听函数之前先看一段代码,算是抛出这个问题. <html> <head> <title>JS为句柄添加监听函数</title> ...

  7. win10 mysql57密码重置

    [摘要: 1.my-default.ini 更名my.ini 正在解压的目次上面复造my-default.ini一份更名字为 my.ini. 2.翻开 Windows 情况变量设置, 新建变量名 MY ...

  8. Voice Commands (VCD) Cortana 微软小娜示例

    Cortana 样品 您可以创建自定义功能Cortana使用Cortana技能装备或遗留的声音命令(VCD)平台. 在这里,你可以找到相关的样品: Cortana技能装备 目前Cortana技巧是建立 ...

  9. Linux网络编程之聊天程序(TCP协议之select)

    服务器端:server.c #include <stdio.h> #include <stdlib.h> #include <errno.h> #include & ...

  10. 0x8002801D:库没有注册

    同一段代码,在测试机上运行成功,但在用户机上运行失败,并报错:无法将类型为GeoProcessorClass的COM对象强制转换为接口类型IGeoProcessor,此操作失败的原因是COM组件调用Q ...