欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

阿里云 ubuntu16.04搭建IPSec服务

程序员文章站 2022-07-07 08:39:21
ipsec简介 ipsec(internet protocol security):是一组基于网络层的,应用密码学的安全通信协议族。ipsec不是具体指哪个协议,而是一个开放的协...

ipsec简介

ipsec(internet protocol security):是一组基于网络层的,应用密码学的安全通信协议族。ipsec不是具体指哪个协议,而是一个开放的协议族。

ipsec协议的设计目标:是在ipv4和ipv6环境中为网络层流量提供灵活的安全服务。

ipsec vpn:是基于ipsec协议族构建的在ip层实现的安全虚拟专用网。通过在数据包中插入一个预定义头部的方式,来保障osi上层协议数据的安全,主要用于保护tcp、udp、icmp和隧道的ip数据包。

由于阿里云上有一些限制,在阿里云ecs上部署待见ipsec和普通服务器有不一样的地方。

安装strongswan

apt-get update
apt-get install strongswan strongswan-plugin-xauth-generic

编辑/etc/ipsec.secrets

vi /etc/ipsec.secrets

增加:

: psk "test"
user1 : xauth "user1password"

其中psk是预共享密钥,是用于验证 l2tp/ipsec 连接的 unicode 字符串。user1为用户名, user1password是密码。

编辑 /etc/ipsec.conf

config setup
 cachecrls=yes
 uniqueids=yes

conn ios
 keyexchange=ikev1
 authby=xauthpsk
 xauth=server
 left=%defaultroute
 leftsubnet=0.0.0.0/0
 leftfirewall=yes
 right=%any
 rightsubnet=192.168.0.1/16
 rightsourceip=192.168.0.1/16
 rightdns=223.5.5.5
 auto=add

注意使用192.168网段而不是10.0.0.1网段,10.0.0.1网段在阿里云上好像有问题(据说被禁了?)。

重启 strongswan

ipsec restart

修改阿里云服务器对应安全组规则

增加 公网入网 udp 500和 udp 4500两个端口

打开ipv4转发,设置nat规则

sysctl net.ipv4.ip_forward=1

iptables -t nat -a postrouting -s 192.168.0.1/16 -o eth1 -j masquerade

注意是使用 eth1,而不是eth0.

ecs中eth1绑定外网网卡,eth0是内网网卡。