阿里云ECS部署L2TP/IPSEC,访问服务器内网

准备工作

三台阿里云ECS服务器,操作系统CentOS7

服务器名称内网ip公网
服务器A172.26.245.47
服务器B172.26.245.48
服务器C172.26.245.49

服务器A有弹性公网ip可以上网,在这个服务器上部署L2TP/IPSEC服务,服务器B和服务器C没有公网ip,需要通过服务器A上网

自建NAT网关

添加路由

按以下顺序打开路由表页面

阿里云控制台 - 专有网络管理控制台 - 路由表

路由表
管理,然后点添加路由条目

添加路由条目
按上图填写表单,然后确定

地址转换

登录服务器A,依次执行以下命令

  1. 阿里云ECS的防火墙默认没有开启,先开启防火墙
    1. systemctl enable firewalld
    2. systemctl start firewalld
  2. 地址转换
    1. firewall-cmd --add-masquerade --permanent
    2. firewall-cmd --reload
  3. ip转发
    1. echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
    2. sysctl -p
  4. 内网添加白名单(三台服务器都需要添加)
    1. firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='172.26.245.1/24' port protocol='tcp' port='0-65535' accept"
    2. firewall-cmd --reload

部署xl2tpd

以下在服务器A操作

安装服务

  1. 安装EPEL源(CentOS7官方源中已经去掉了xl2tpd):yum install -y epel-release
  2. 安装xl2tpd和libreswan(openswan已经停止维护):yum install -y xl2tpd libreswan lsof

修改配置

  • xl2tpd配置文件

vim /etc/xl2tpd/xl2tpd.conf,内容如下

# ip range是分配给vpn客户端的ip范围
# local ip是本机内网ip
[lns default]
ip range = 172.26.243.100-172.26.243.110 # 分配给vpn客户端的ip范围
local ip = 172.26.245.47 # 本机内网ip
require chap = yes
refuse pap = yes
require authentication = yes
name = LinuxVPNserver
ppp debug = yes
pppoptfile = /etc/ppp/options.xl2tpd
length bit = yes
  • pppoptfile文件

vim /etc/ppp/options.xl2tpd,内容如下

ipcp-accept-local
ipcp-accept-remote
ms-dns 8.8.8.8
ms-dns 114.114.114.114
name xl2tpd
auth
idle 1800
mtu 1410
mru 1410
nodefaultroute
debug
proxyarp
connect-delay 5000
refuse-pap
refuse-mschap
require-mschap-v2
persist
logfile /var/log/xl2tpd.log
  • ipsec配置文件

vim /etc/ipsec.conf,内容如下

# config setup下的protostack=netkey和dumpdir=/var/run/pluto/为新增项
# 其他保持默认即可
# 缩进使用TAB
config setup
	plutodebug=none
	protostack=netkey # 此项新增
	dumpdir=/var/run/pluto/ # 此项新增
	virtual_private=%v4:10.0.0.0/8,%v4:192.168.0.0/16,%v4:172.16.0.0/12,%v4:25.0.0.0/8,%v4:100.64.0.0/10,%v6:fd00::/8,%v6:fe80::/10

include /etc/ipsec.d/*.conf
  • 新建/etc/ipsec.d/l2tp-ipsec.conf

内容如下

# left=172.26.245.47是本机内网ip
# 缩进使用TAB
conn L2TP-PSK-NAT
	rightsubnet=0.0.0.0/0
	dpddelay=10
	dpdtimeout=20
	dpdaction=clear
	forceencaps=yes
	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=172.26.245.47 # 本机内网ip
	leftprotoport=17/1701
	right=%any
	rightprotoport=17/%any
  • 设置用户名密码

vim /etc/ppp/chap-secrets,追加用户名密码

# 格式为:用户名 类型 密码 允许访问的ip
vpnuser * vpnpassword *
  • 设置预共享密钥PSK

vim /etc/ipsec.d/default.secrets,内容如下

# 将MyPSK替换为自己的秘钥
: PSK "MyPSK"
  • 防火墙配置
firewall-cmd --permanent --add-service=ipsec # 放行ipsec服务,安装时会自定生成此服务
firewall-cmd --permanent --add-port=1701/udp # xl2tp的端口,默认1701
firewall-cmd --permanent --add-port=4500/udp # ipsec的端口
firewall-cmd --permanent --add-port=500/udp # ipsec的端口
firewall-cmd --permanent --add-masquerade # 启用NAT转发功能,自建NAT网关时已经配置过
firewall-cmd --reload # 重载配置
  • 修改内核参数

vim /etc/sysctl.conf,追加以下内容

net.ipv4.ip_forward = 1 # ip转发,自建NAT网关时已经配置过
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.all.rp_filter = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
net.ipv4.conf.default.rp_filter = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.eth0.accept_redirects = 0
net.ipv4.conf.eth0.rp_filter = 0
net.ipv4.conf.eth0.send_redirects = 0
net.ipv4.conf.lo.accept_redirects = 0
net.ipv4.conf.lo.rp_filter = 0
net.ipv4.conf.lo.send_redirects = 0
  • 启动ipsec和xl2tpd
systemctl enable ipsec
systemctl start ipsec
systemctl enable xl2tpd
systemctl start xl2tpd
  • 安全组规则

按照下图配置,并将服务器A添加到此安全组

安全组规则

将vpn网段添加到白名单

分别在三台服务器执行以下命令

firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='172.26.243.1/24' port protocol='tcp' port='0-65535' accept
firewall-cmd --reload

win10连接vpn

  • 打开网络和Internet设置,选择vpn选项卡,点添加vpn连接

添加vpn连接
按上图添加vpn连接

  • 适配器设置

适配器设置(安全)
适配器设置(网络)

  • 开启服务

IPsec Policy AgentRouting and Remote AccessRemote Access Connection Manager

启动以上三个服务,并改为自动启动

  • 修改注册表

注册表路径:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Rasman\Parameters

新建ProhibitIpSec项,DWORD类型,值设置为1

新建AllowL2TPWeakCrypto项,DWORD类型,值设置为1

重启电脑

完成

连接vpn,即可通过内网访问访问服务器A、B、C

参考链接

centos7 搭建xl2tpd 服务
win10系统 L2TP连接尝试失败
centos7 阿里云专有网络利用firewalld自建NAT网关

  • 6
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: 阿里云ECS(Elastic Compute Service)服务器部署Java Web项目的整个流程如下: 1. 购买阿里云ECS服务器:首先,需要在阿里云官网购买一个ECS服务器。选择适合的配置和操作系统(如CentOS、Ubuntu等),并确保服务器已经成功启动。 2. 连接到ECS服务器:使用SSH(Secure Shell)工具,如Putty等,通过服务器的公网IP地址和默认的22端口,连接到ECS服务器。 3. 安装Java开发环境:在ECS服务器上安装Java开发环境,包括JDK(Java Development Kit)和JRE(Java Runtime Environment)。可以通过命令行方式或者下载安装包方式进行安装。 4. 配置服务器环境:根据需要,可以安装并配置容器化技术如Docker,以及服务器软件如Tomcat、Nginx等,用于部署和运行Java Web项目。 5. 上传项目文件:将Java Web项目的相关文件(如WAR包或者源代码)上传到ECS服务器。可以使用FTP(File Transfer Protocol)工具,如FileZilla等,将文件上传到服务器的指定目录。 6. 构建和部署项目:在ECS服务器上使用命令行工具,进入项目文件所在的目录,使用Maven或者Gradle等构建工具,运行构建命令,编译、打包Java Web项目。 7. 配置项目运行环境:根据项目要求,可能需要修改配置文件,如数据库连接信息、缓存配置等。可以使用文本编辑器或者命令行工具进行修改。 8. 启动项目:使用命令行工具,运行Java Web项目的启动命令,如启动Tomcat容器。可以查看启动日志,确认项目是否成功启动。 9. 监控和管理项目:使用阿里云的应用监控工具或者第三方工具,对Java Web项目进行监控和管理,如查看应用的性能指标、错误日志和访问日志等。 10. 绑定域名和配置SSL证书(可选):如果需要通过域名访问Java Web项目,可以在阿里云的域名服务中,将域名解析到ECS服务器的公网IP地址,并配置SSL证书,实现HTTPS访问。 总结起来,阿里云ECS服务器部署Java Web项目的流程包括购买服务器、连接服务器、安装Java开发环境、配置服务器环境、上传项目文件、构建和部署项目、配置项目运行环境、启动项目、监控和管理项目,以及绑定域名和配置SSL证书(可选)。 ### 回答2: 阿里云ECS服务器部署JavaWeb项目的整个流程如下: 1. 登录阿里云官网,购买一台ECS服务器,选择合适的配置和系统镜像。 2. 在云服务器ECS的控制台上,找到已购买的服务器实例,并记录下服务器实例的公网IP地址。 3. 在本地开发环境,将JavaWeb项目打包成war文件。 4. 使用FTP工具(如FileZilla)将war文件上传到ECS服务器。连接ECS服务器的方法为使用用户名和密码连接到服务器实例的公网IP。 5. 在ECS服务器上安装Java运行环境,执行以下命令: ``` yum update -y # 更新系统 yum install java-1.8.0-openjdk-devel -y # 安装Java环境 ``` 6. 配置ECS服务器的防火墙规则,允许对应的端口访问。通常JavaWeb项目使用的是8080端口,可以在ECS的安全组中开放对应的端口。 7. 在ECS服务器上启动Tomcat服务器,执行以下命令: ``` cd /usr/local # 进入Tomcat安装目录 wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-9/v9.0.52/bin/apache-tomcat-9.0.52.tar.gz # 下载Tomcat tar -zxvf apache-tomcat-9.0.52.tar.gz # 解压Tomcat cd apache-tomcat-9.0.52/bin # 进入Tomcat的bin目录 ./startup.sh # 启动Tomcat ``` 8. 在浏览器中输入ECS服务器的公网IP地址和Tomcat使用的端口号,例如:http://公网IP:8080/,即可访问部署好的JavaWeb项目。 以上就是阿里云ECS服务器部署JavaWeb项目的整个流程。当然,根据具体的项目和需求,可能会涉及到其他配置和操作,例如数据库的连接、SSL证书的安装等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值