国内IPsec VPN的1.5方案。测试演示





情况



我收到了C-Terra VPN 4.3版的三个月试用版。我想了解在升级到新版本后,我的工程生活是否会变得更轻松。



今天并不难,一包三合一速溶咖啡就足够了。我会告诉你如何获得演示。我将尝试将GRE-over-IPsec和IPsec-over-GRE方案组合在一起。



如何获得演示







从图中可以得到所需的演示:



  • 公司地址写信给presale@s-terra.ru;
  • 在信中,注明您组织的TIN;
  • 列出产品及其数量。


演示有效期为三个月。供应商不限制其功能。



扩大图像



安全网关演示是一个虚拟机映像。我正在使用VMWare Workstation。供应商的网站上提供了受支持的管理程序和虚拟化环境的完整列表。



在开始活动步骤之前,请注意默认虚拟机映像中没有网络接口:







逻辑很明确,用户必须添加所需数量的接口。我将一次添加四个:







现在启动虚拟机。启动后,网关立即需要用户名和密码。



C-Terra网关具有多个使用不同帐户的控制台。我将在另一篇文章中计算它们的数量。直到那时:

Login as: administrator

Password: s-terra


初始化网关。初始化是一系列操作:输入许可证,设置生物随机数生成器(键盘模拟器-我的记录是27秒)并创建网络接口图。



网络接口卡。变得容易了



4.2版向活动用户发送消息:活动用户(根据匿名工程师)是可以快速配置任何内容而没有文档的用户。 甚至在尝试在接口上配置IP地址之前出了点问题。这都是关于网络接口映射的。必须这样做: 结果,创建了一个网络接口映射,其中包含物理接口名称(0000:02:03.0)及其在操作系统(eth0)和类似Cisco的控制台(FastEthernet0 / 0)中的 逻辑名称的映射:接口的逻辑名称称为别名。 ...别名存储在/etc/ifaliases.cf文件中。



Starting IPsec daemon….. failed

ERROR: Could not establish connection with daemon












/bin/netifcfg enum > /home/map

/bin/netifcfg map /home/map

service networking restart








#Unique ID iface type OS name Cisco-like name



0000:02:03.0 phye eth0 FastEthernet0/0






在版本4.3中,首次启动虚拟机时会自动创建接口映射。如果您更改虚拟机中的网络接口数量,请再次创建接口映射:



/bin/netifcfg enum > /home/map

/bin/netifcfg map /home/map

systemctl restart networking




图1:IP上的GRE



我部署了两个虚拟网关,如图所示进行了切换:







步骤1.配置IP地址和路由



VG1(config) #
interface fa0/0
ip address 172.16.1.253 255.255.255.0
no shutdown
interface fa0/1
ip address 192.168.1.253 255.255.255.0
no shutdown
ip route 0.0.0.0 0.0.0.0 172.16.1.254


VG2(config) #
interface fa0/0
ip address 172.16.1.254 255.255.255.0
no shutdown
interface fa0/1
ip address 192.168.2.254 255.255.255.0
no shutdown
ip route 0.0.0.0 0.0.0.0 172.16.1.253


检查IP连接性:



root@VG1:~# ping 172.16.1.254 -c 4
PING 172.16.1.254 (172.16.1.254) 56(84) bytes of data.
64 bytes from 172.16.1.254: icmp_seq=1 ttl=64 time=0.545 ms
64 bytes from 172.16.1.254: icmp_seq=2 ttl=64 time=0.657 ms
64 bytes from 172.16.1.254: icmp_seq=3 ttl=64 time=0.687 ms
64 bytes from 172.16.1.254: icmp_seq=4 ttl=64 time=0.273 ms

--- 172.16.1.254 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3005ms
rtt min/avg/max/mdev = 0.273/0.540/0.687/0.164 ms




步骤2.配置GRE配置GRE



的示例来自官方脚本。在/etc/network/interfaces.d目录中创建包含内容的文件gre1。



对于VG1:



auto gre1
iface gre1 inet static
address 1.1.1.1
netmask 255.255.255.252
pre-up ip tunnel add gre1 mode gre remote 172.16.1.254 local 172.16.1.253 key 1 ttl 64 tos inherit
pre-up ethtool -K gre1 tx off > /dev/null
pre-up ip link set gre1 mtu 1400
post-down ip link del gre1


对于VG2:



auto gre1
iface gre1 inet static
address 1.1.1.2
netmask 255.255.255.252
pre-up ip tunnel add gre1 mode gre remote 172.16.1.253 local 172.16.1.254 key 1 ttl 64 tos inherit
pre-up ethtool -K gre1 tx off > /dev/null
pre-up ip link set gre1 mtu 1400
post-down ip link del gre1


我调出系统中的界面:



root@VG1:~# ifup gre1
root@VG2:~# ifup gre1


我检查:



root@VG1:~# ip address show
8: gre1@NONE: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1400 qdisc noqueue state UNKNOWN group default qlen 1
    link/gre 172.16.1.253 peer 172.16.1.254
    inet 1.1.1.1/30 brd 1.1.1.3 scope global gre1
       valid_lft forever preferred_lft forever

root@VG1:~# ip tunnel show
gre0: gre/ip remote any local any ttl inherit nopmtudisc
gre1: gre/ip remote 172.16.1.254 local 172.16.1.253 ttl 64 tos inherit key 1


C-Terra网关具有内置的数据包嗅探器-tcpdump。我将流量转储到pcap文件中:



root@VG2:~# tcpdump -i eth0 -w /home/dump.pcap


我在GRE接口之间执行ping操作:



root@VG1:~# ping 1.1.1.2 -c 4
PING 1.1.1.2 (1.1.1.2) 56(84) bytes of data.
64 bytes from 1.1.1.2: icmp_seq=1 ttl=64 time=0.918 ms
64 bytes from 1.1.1.2: icmp_seq=2 ttl=64 time=0.850 ms
64 bytes from 1.1.1.2: icmp_seq=3 ttl=64 time=0.918 ms
64 bytes from 1.1.1.2: icmp_seq=4 ttl=64 time=0.974 ms

--- 1.1.1.2 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3006ms
rtt min/avg/max/mdev = 0.850/0.915/0.974/0.043 ms


GRE隧道处于活动状态并且正在工作:







步骤3.使用GRE加密GRE



设置识别类型-按地址。使用预定义的密钥进行身份验证(根据使用条款,您必须使用数字证书):



VG1(config)#
crypto isakmp identity address
crypto isakmp key KEY address 172.16.1.254


我设置了IPsec第一阶段参数:



VG1(config)#
crypto isakmp policy 1
encr gost
hash gost3411-256-tc26
auth pre-share
group vko2


我为IPsec阶段II设置了参数:



VG1(config)#
crypto ipsec transform-set TSET esp-gost28147-4m-imit
mode tunnel


我创建用于加密的访问列表。目标流量-GRE:



VG1(config)#
ip access-list extended LIST
permit gre host 172.16.1.253 host 172.16.1.254


我创建一个加密映射并将其绑定到WAN接口:



VG1(config)#
crypto map CMAP 1 ipsec-isakmp
match address LIST
set transform-set TSET
set peer 172.16.1.253
interface fa0/0
  crypto map CMAP


对于VG2,配置是镜像的,区别是:



VG2(config)#
crypto isakmp key KEY address 172.16.1.253
ip access-list extended LIST
permit gre host 172.16.1.254 host 172.16.1.253
crypto map CMAP 1 ipsec-isakmp
set peer 172.16.1.254


我检查:



root@VG2:~# tcpdump -i eth0 -w /home/dump2.pcap




root@VG1:~# ping 1.1.1.2 -c 4
PING 1.1.1.2 (1.1.1.2) 56(84) bytes of data.
64 bytes from 1.1.1.2: icmp_seq=1 ttl=64 time=1128 ms
64 bytes from 1.1.1.2: icmp_seq=2 ttl=64 time=126 ms
64 bytes from 1.1.1.2: icmp_seq=3 ttl=64 time=1.07 ms
64 bytes from 1.1.1.2: icmp_seq=4 ttl=64 time=1.12 ms

--- 1.1.1.2 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3006ms
rtt min/avg/max/mdev = 1.077/314.271/1128.419/472.826 ms, pipe 2


ISAKMP / IPsec统计信息:



root@VG1:~# sa_mgr show
ISAKMP sessions: 0 initiated, 0 responded

ISAKMP connections:
Num Conn-id (Local Addr,Port)-(Remote Addr,Port) State Sent Rcvd
1 1 (172.16.1.253,500)-(172.16.1.254,500) active 1086 1014

IPsec connections:
Num Conn-id (Local Addr,Port)-(Remote Addr,Port) Protocol Action Type Sent Rcvd
1 1 (172.16.1.253,*)-(172.16.1.254,*) 47 ESP tunn 480 480


GRE流量转储中没有数据包:







结论:GRE-over-IPsec方案正常运行。



图1.5:GRE上的IPsec



我不打算在网络上使用IPsec-over-GRE。我收集是因为我想要。







相反,要部署GRE-over-IPsec方案,您需要:



  • 修复用于加密的访问列表-目标流量从LAN1到LAN2,反之亦然;
  • 通过GRE配置路由;
  • 挂断GRE接口上的加密映射。


默认情况下,类似Cisco的网关控制台没有GRE接口。它仅存在于操作系统上。



我将GRE接口添加到类似Cisco的控制台中。为此,请编辑/etc/ifaliases.cf文件:



interface (name="FastEthernet0/0" pattern="eth0")
interface (name="FastEthernet0/1" pattern="eth1")
interface (name="FastEthernet0/2" pattern="eth2")
interface (name="FastEthernet0/3" pattern="eth3")
interface (name="Tunnel0" pattern="gre1")
interface (name="default" pattern="*")


其中gre1是操作系统中的接口名称,Tunnel0是类似Cisco的控制台中的接口名称。



我重新计算文件的哈希值:



root@VG1:~# integr_mgr calc -f /etc/ifaliases.cf

SUCCESS:  Operation was successful.


现在,Tunnel0接口已出现在类似Cisco的控制台中:



VG1# show run
interface Tunnel0
ip address 1.1.1.1 255.255.255.252
mtu 1400


更正用于加密的访问列表:



VG1(config)#
ip access-list extended LIST
permit ip 192.168.1.0 0.0.0.255 192.168.3.0 0.0.0.255


通过GRE配置路由:



VG1(config)#
no ip route 0.0.0.0 0.0.0.0 172.16.1.254
ip route 192.168.3.0 255.255.255.0 1.1.1.2


我从Fa0 / 0中删除了加密卡,并将其绑定到GRE接口:



VG1(config)#
interface Tunnel0
crypto map CMAP


对于VG2同样。



我检查:



root@VG2:~# tcpdump -i eth0 -w /home/dump3.pcap


root@VG1:~# ping 192.168.2.254 -I 192.168.1.253 -c 4
PING 192.168.2.254 (192.168.2.254) from 192.168.1.253 : 56(84) bytes of data.
64 bytes from 192.168.2.254: icmp_seq=1 ttl=64 time=492 ms
64 bytes from 192.168.2.254: icmp_seq=2 ttl=64 time=1.08 ms
64 bytes from 192.168.2.254: icmp_seq=3 ttl=64 time=1.06 ms
64 bytes from 192.168.2.254: icmp_seq=4 ttl=64 time=1.07 ms

--- 192.168.2.254 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3006ms
rtt min/avg/max/mdev = 1.064/124.048/492.972/212.998 ms




ISAKMP / IPsec统计信息:



root@VG1:~# sa_mgr show
ISAKMP sessions: 0 initiated, 0 responded

ISAKMP connections:
Num Conn-id (Local Addr,Port)-(Remote Addr,Port) State Sent Rcvd
1 2 (172.16.1.253,500)-(172.16.1.254,500) active 1094 1022

IPsec connections:
Num Conn-id (Local Addr,Port)-(Remote Addr,Port) Protocol Action Type Sent Rcvd
1 2 (192.168.1.0-192.168.1.255,*)-(192.168.2.0-192.168.2.255,*) * ESP tunn 352 352


在ESP流量转储中,数据包封装在GRE中:







结论:IPsec-over-GRE正常工作。



结果



一杯咖啡就足够了。草绘了有关如何获取演示的说明。配置GRE-over-IPsec并以其他方式部署。



4.3版中的网络接口映射是自动的!我正在进一步测试。



匿名工程师

t.me/anonimous_engineer



All Articles