利用Raspberry PI 3打造AWS VPN用户网关 - 嘶吼 RoarTalk – 网络安全行业综合服务平台,4hou.com

利用Raspberry PI 3打造AWS VPN用户网关

fanyeee 安全工具 2018-02-28 12:40:38
268354
收藏

导语:在本文中,我们将为读者详细介绍如何利用Raspberry PI搭建用户网关,以实现家庭网络和远程AWS VPC子网之间的安全桥接。

上一篇文章中,我们为读者展示了如何使用OpenVPN等VPN软件为AWS私有资源创建安全隧道。而在本文中,我们将为读者详细介绍如何利用Raspberry PI搭建用户网关,以实现家庭网络和远程AWS VPC子网之间的安全桥接。

1.png

首先,我们首先要知道家庭路由器的公有IP地址:

1.png

接下来,登录AWS管理控制台,导航至VPC仪表板,并创建一个新的VPN用户网关:

1.png

然后,创建一个虚拟专用网关:

1.png

并将其附加到目标VPC

1.png

随后,使用用户网关和虚拟专用网关创建VPN连接:

1.png

注:务必将Home CIDR子网添加到静态IP前缀部分。

创建好VPN连接后,点击“Tunnel Details”选项卡,就会看到两条备用的隧道:

1.png

创建VPN连接可能需要几分钟的时间。准备就绪后,选择连接,然后选择“Download Configuration”,打开配置文件,记下预共享密码和隧道IP

tunnel-group 52.47.119.151 type ipsec-l2l
tunnel-group 52.47.119.151 ipsec-attributes
   pre-shared-key irCAIDE1NFxyOiE4w49ijHfPMjTW9rL6

我使用的是Raspbian系统的Raspberry PI 3Quand Core CPU 1.2 GHz1 GB RAM),启用了SSH服务器(默认用户名和密码:pi/raspberry),可以通过下列命令来登录并操作这个系统:

1.png

需要注意的是,必须安装IPsec内核支持。因此,必须在PI上安装openswan,具体命令如下所示:

sudo apt-get install -y openswan lsof

然后,更新/etc/ipsec.conf文件,具体命令如下所示:

version 2.0     # conforms to second version of ipsec.conf specification
# basic configuration
config setup
        # Enable core dumps (might require system changes, like ulimit -C)
        dumpdir=/var/run/pluto/
        # NAT-TRAVERSAL support, see README.NAT-Traversal
        nat_traversal=yes
        virtual_private=
        # OE is now off by default. Uncomment and change to on, to enable.
        oe=off
        # which IPsec stack to use. auto will try netkey, then klips then mast
        protostack=netkey
include /etc/ipsec.d/*.conf

然后,在/etc/ipsec.d/home-to-aws.conf中创建一个新的IPsec连接,具体命令如下所示:

conn home-to-aws
 type=tunnel
 authby=secret
 #left=%defaultroute
 left=192.168.1.81
 leftid=89.95.X.Y
 leftnexthop=%defaultroute
 leftsubnet=192.168.0.0/16
 right=52.47.119.151
 rightsubnet=10.0.0.0/16
 pfs=yes
 auto=start

·leftRaspberry PI私有IP

·leftid:家庭路由器的公有IP

·leftsubnet:家庭子网的CIDR

·right:虚拟专用网关隧道IP

·rightsubnetVPCCIDR

将隧道预共享密码添加到/var/lib/openswan/ipsec.secrets.inc文件中:

89.95.X.Y 52.47.119.151 : PSK“irCAIDE1NFxyOiE4w49ijHfPMjTW9rL6”

为了启用IPv4转发功能,请编辑/etc/sysctl.conf,并确保删除以下各行前面的注释符号:


net.ipv4.ip_forward=1
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.default.accept_redirects = 0

运行sysctl -p以重新加载。然后,重新启动IPsec服务:

service ipsec restart

验证服务是否能够正常运行:

1.png

如果返回到AWS Dashboard,则应该看到第1个隧道状态已改为UP

1.png

添加一个新的路由条目,通过VPN网关将流量转发到家庭子网:

1.png

注意:请按照上述相同步骤设置第2条隧道,以实现VPN连接的弹性和高可用性。

在专用子网中启动一个EC2实例来验证VPN连接是否可以正常运行:

1.png

仅允许来自家庭网关CIDRSSH

1.png

创建实例后,使用服务器私有IP地址通过SSH进行连接:

1.png

1.png

好极了!我们现在就可以安全地连接到自己的私有EC2实例了。

要想从同一家庭网络中的其他机器建立连接的话,请添加一条静态路由,如下所述:

1 - Windows系统

    route add 10.0.0.0 MASK 255.255.0.0 192.168.1.81

1.png

2 - Linux系统

    sudo up route add -net 10.0.0.0 netmask 255.255.0.0 gw 192.168.31.232

3 - Mac OS X系统

    sudo route -n add 10.0.0.0/16 192.168.31.232

好了,我们来测试一下:

1.png

  • 分享至
取消

感谢您的支持,我会继续努力的!

扫码支持

打开微信扫一扫后点击右上角即可分享哟

发表评论

 
本站4hou.com,所使用的字体和图片文字等素材部分来源于原作者或互联网共享平台。如使用任何字体和图片文字有侵犯其版权所有方的,嘶吼将配合联系原作者核实,并做出删除处理。
©2022 北京嘶吼文化传媒有限公司 京ICP备16063439号-1 本站由 提供云计算服务