ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

VPN搭建(预共享密钥)---Centos部署服务器

2019-05-14 14:54:20  阅读:1773  来源: 互联网

标签:Centos xl2tpd 192.168 1.100 密钥 conf net VPN ipv4


序言

本文操作经过实验认证,目前我正在使用的VPN的方案
任何服务器都绝对不能直接暴露在外网上,会被别人攻击,在公司的话整个网络就直接瘫痪了
最后会进行端口映射及防火墙的相关操作

环境说明

CentOS 7

安装包下载

yum install -y epel-release  # 安装EPEL源
yum install -y openswan ppp xl2tpd

服务器搭建

  1. vim /etc/ipsec.conf
    把下面192.168.1.100换成你自己VPS本机电脑IP地址,如果本机直接连接外网,请填写实际的外网固定IP。其他的不动
config setup	#替换此项目下的所有内容
    nat_traversal=yes
    virtual_private=%v4:10.0.0.0/8,%v4:192.168.0.0/16,%v4:172.16.0.0/12
    oe=off
    protostack=netkey
 
conn L2TP-PSK-NAT
    rightsubnet=vhost:%priv
    also=L2TP-PSK-noNAT
 
conn L2TP-PSK-noNAT
    authby=secret
    pfs=no
    auto=add
    keyingtries=3
    rekey=no
    ikelifetime=8h
    keylife=1h
    type=transport
    left=192.168.1.100    # ($esojourng.org)可用花生壳动态解析
    leftprotoport=17/1701
    right=%any
    rightprotoport=17/%any
    sha2-truncbug=yes

  1. vim /etc/ipsec.secrets
    192.168.1.100换成你自己VPS本机电脑IP地址,如果本机直接连接外网,请填写实际的公网IP, YourPsk你自己定一个密钥,到时候连***的时候在安全设置里要用
192.168.1.100 %any: PSK "YourPsk"
  1. vim /etc/sysctl.conf
    确保下面的字段都有,对应的值或下面一样。省事的话直接在/etc/sysctl.conf的末尾直接把下面内容的粘过去。
	net.ipv4.ip_forward = 1
	net.ipv4.conf.default.rp_filter = 0
	net.ipv4.conf.all.send_redirects = 0
	net.ipv4.conf.default.send_redirects = 0
	net.ipv4.conf.all.log_martians = 0
	net.ipv4.conf.default.log_martians = 0
	net.ipv4.conf.default.accept_source_route = 0
	net.ipv4.conf.all.accept_redirects = 0
	net.ipv4.conf.default.accept_redirects = 0
	net.ipv4.icmp_ignore_bogus_error_responses = 1

让修改后的sysctl.conf生效:

sysctl -p

有可以报一些关于ipv6的error,不要管它,继续下一步

  1. 验证ipsec的运行状态
    systemctl start ipsec.service
    ipsec verify
    systemctl enable ipsec.service  # 开机启动

如何只有红框内这种报错,可以忽略!在这里插入图片描述
如果有failed,就无法进行下去,那需要自己去百度、google找答案吧,我搭建的时候是没有遇到,记得把selinux关掉。
5. vim /etc/xl2tpd/xl2tpd.conf
内容如下:

[global]
ipsec saref = yes
listen-addr = 192.168.1.100 ;服务器地址
[lns default]
ip range = 192.168.1.2-192.168.1.99 ;这里是*** client的内网ip地址范围
local ip = 192.168.1.100               ;这里是*** server的内网地址
refuse chap = yes
refuse pap = yes
require authentication = yes
ppp debug = yes
pppoptfile = /etc/ppp/options.xl2tpd
length bit = y
  1. vim /etc/ppp/options.xl2tpd
    内容如下:
require-mschap-v2
ms-dns 192.168.1.245   	# 自己的DNS服务器地址
ms-dns 192.168.1.246	# 自己的DNS服务器地址
asyncmap 0
auth
crtscts
lock
hide-password
modem
debug
name l2tpd
proxyarp
lcp-echo-interval 30
lcp-echo-failure 4
  1. /etc/ppp/chap-secrets
    此配置文件是设置***的用户名,密码:
	vim /etc/ppp/chap-secrets

格式如下:
在这里插入图片描述
此设置表示,账户为admin,密码为123,可以在任何可以上网的客机上登陆此服务器 。

  1. 启动 xl2tpd 服务
	systemctl start xl2tpd.service
	systemctl enable xl2tpd.service  # 开机启动
  1. 开放端口及转发
    本文使用的是iptables防火墙,如果机器上使用的是firewalld防火墙,你可以百度去查如何设置,也可以直接卸载

安装防火墙

   yum -y remove firewalld.services
   yum -y install iptables-services
   systemctl start iptables.service	 # 启动防火墙
   systemctl enable iptables.service  # 开机启动防火墙

配置防火墙

iptables -t nat -A POSTROUTING -m policy --dir out --pol none -j MASQUERADE
iptables -A FORWARD -i ppp+ -p all -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth1 -j MASQUERADE  
# 192.168.1.0/24为xl2tpd.conf里写的client的IP段
# eth1为192.168.1.100的网卡名,ifconfig可查看

重启电脑即服务器就配置完成了,客户端电脑请看我的WINDOWS客户端配置

外网端口映射

外网路由器请自己映射好500、4500、1701,这样才可以正常使用
思科交换机映射举例

ip nat inside source static udp 192.168.1.100 500 10.10.10.10 500 extendable
ip nat inside source static udp 192.168.1.100 4500 10.10.10.10 4500 extendable
ip nat inside source static udp 192.168.1.100 1701 10.10.10.10 1701 extendable

本人的经验分享,希望可以帮助到你们,如何不对的地方,可以评论留言,帮我指正一下,如果帮助了你,请给我点个赞吧

标签:Centos,xl2tpd,192.168,1.100,密钥,conf,net,VPN,ipv4
来源: https://blog.csdn.net/zhouf00/article/details/90081635

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有