Ang sitwasyon
Nakatanggap ako ng demo na bersyon ng mga produkto ng C-Terra VPN na bersyon 4.3 sa loob ng tatlong buwan. Gusto kong malaman kung magiging mas madali ang buhay ko sa engineering pagkatapos lumipat sa bagong bersyon.
Ngayon ay hindi mahirap, isang bag ng instant na kape 3 sa 1 ay dapat sapat. Sasabihin ko sa iyo kung paano makakuha ng mga demo. Susubukan kong buuin ang mga scheme ng GRE-over-IPsec at IPsec-over-GRE.
Paano makakuha ng demo
Ito ay sumusunod mula sa figure na upang makakuha ng isang demo kailangan mong:
- Sumulat ng liham sa [protektado ng email] mula sa isang corporate address;
- Sa liham, ipahiwatig ang TIN ng iyong organisasyon;
- Ilista ang mga produkto at ang kanilang dami.
Ang mga demo ay may bisa sa loob ng tatlong buwan. Hindi nililimitahan ng vendor ang kanilang pag-andar.
Pagpapalawak ng imahe
Ang demo ng Security Gateway ay isang imahe ng virtual machine. Gumagamit ako ng VMWare Workstation. Ang kumpletong listahan ng mga sinusuportahang hypervisors at virtualization environment ay available sa website ng vendor.
Bago ka magsimula, pakitandaan na walang mga interface ng network sa default na imahe ng virtual machine:
Ang lohika ay malinaw, ang gumagamit ay dapat magdagdag ng maraming mga interface hangga't kailangan niya. Magdadagdag ako ng apat nang sabay-sabay:
Ngayon sinisimulan ko ang virtual machine. Kaagad pagkatapos ng paglunsad, ang gateway ay nangangailangan ng isang username at password.
Mayroong ilang mga console sa S-Terra Gateway na may iba't ibang mga account. Bibilangin ko ang kanilang numero sa isang hiwalay na artikulo. Sa ngayon:
Login as: administrator
Password: s-terra
Sinisimulan ko ang gateway. Ang pagsisimula ay isang pagkakasunud-sunod ng mga aksyon: pagpasok ng isang lisensya, pag-set up ng isang biological random number generator (keyboard simulator - ang aking record ay 27 segundo) at paglikha ng isang mapa ng interface ng network.
Mapa ng mga interface ng network. Naging mas madali
Binati ng Bersyon 4.2 ang aktibong user ng mga mensahe:
Starting IPsec daemonβ¦.. failed
ERROR: Could not establish connection with daemon
Ang aktibong user (ayon sa isang hindi kilalang engineer) ay isang user na makakapag-set up ng kahit ano nang mabilis at walang dokumentasyon.
Nagkaproblema bago subukang mag-set up ng IP address sa interface. Ito ay tungkol sa mapa ng interface ng network. Kinailangan itong gawin:
/bin/netifcfg enum > /home/map
/bin/netifcfg map /home/map
service networking restart
Bilang resulta, nilikha ang isang mapa ng interface ng network na naglalaman ng pagmamapa ng mga pangalan ng pisikal na interface (0000:02:03.0) at ang kanilang mga lohikal na pagtatalaga sa operating system (eth0) at tulad ng Cisco na console (FastEthernet0/0):
#Unique ID iface type OS name Cisco-like name
0000:02:03.0 phye eth0 FastEthernet0/0
Ang mga lohikal na pagtatalaga ng mga interface ay tinatawag na mga alias. Ang mga alias ay iniimbak sa /etc/ifaliases.cf file.
Sa bersyon 4.3, kapag ang virtual machine ay unang nagsimula, isang interface na mapa ay awtomatikong nilikha. Kung babaguhin mo ang bilang ng mga interface ng network sa virtual machine, mangyaring muling likhain ang mapa ng interface:
/bin/netifcfg enum > /home/map
/bin/netifcfg map /home/map
systemctl restart networking
Scheme 1: GRE-over-IPsec
Nag-deploy ako ng dalawang virtual na gateway, lumipat ako tulad ng ipinapakita sa figure:
Hakbang 1. I-set up ang mga IP address at ruta
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
Sinusuri ang pagkakakonekta ng 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
Hakbang 2: I-set up ang GRE
Kumuha ako ng isang halimbawa ng pag-set up ng GRE mula sa mga opisyal na script. Gumagawa ako ng gre1 file sa /etc/network/interfaces.d na direktoryo kasama ang mga nilalaman.
Para sa 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
Para sa 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
Itinaas ko ang interface sa system:
root@VG1:~# ifup gre1
root@VG2:~# ifup gre1
Sinusuri:
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
Ang C-Terra Gateway ay may built-in na packet sniffer - tcpdump. Magsusulat ako ng traffic dump sa isang pcap file:
root@VG2:~# tcpdump -i eth0 -w /home/dump.pcap
Nagsisimula akong mag-ping sa pagitan ng mga interface ng GRE:
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
Ang GRE tunnel ay gumagana at tumatakbo:
Hakbang 3. I-encrypt gamit ang GOST GRE
Itinakda ko ang uri ng pagkakakilanlan - ayon sa address. Pagpapatotoo gamit ang isang paunang natukoy na susi (ayon sa Mga Tuntunin ng Paggamit, dapat gamitin ang mga digital na sertipiko):
VG1(config)#
crypto isakmp identity address
crypto isakmp key KEY address 172.16.1.254
Itinakda ko ang mga parameter ng IPsec Phase I:
VG1(config)#
crypto isakmp policy 1
encr gost
hash gost3411-256-tc26
auth pre-share
group vko2
Itinakda ko ang mga parameter ng IPsec Phase II:
VG1(config)#
crypto ipsec transform-set TSET esp-gost28147-4m-imit
mode tunnel
Gumagawa ako ng listahan ng pag-access para sa pag-encrypt. Naka-target na trapiko - GRE:
VG1(config)#
ip access-list extended LIST
permit gre host 172.16.1.253 host 172.16.1.254
Lumilikha ako ng isang mapa ng crypto at itinatali ito sa interface ng 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
Para sa VG2, ang pagsasaayos ay naka-mirror, ang mga pagkakaiba ay:
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
Sinusuri:
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
Mga istatistika ng 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
Walang mga packet sa GRE traffic dump:
Konklusyon: gumagana nang tama ang GRE-over-IPsec scheme.
Larawan 1.5: IPsec-over-GRE
Wala akong planong gumamit ng IPsec-over-GRE sa network. Kinokolekta ko dahil gusto ko.
Para i-deploy ang GRE-over-IPsec scheme sa kabilang banda:
- Ayusin ang listahan ng access sa pag-encrypt - naka-target na trapiko mula LAN1 hanggang LAN2 at kabaliktaran;
- I-configure ang pagruruta sa pamamagitan ng GRE;
- Mag-hang ng cryptomap sa GRE interface.
Bilang default, walang GRE interface sa tulad ng Cisco gateway console. Ito ay umiiral lamang sa operating system.
Idinaragdag ko ang GRE interface sa tulad ng Cisco console. Upang gawin ito, ini-edit ko ang /etc/ifaliases.cf file:
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="*")
kung saan ang gre1 ay ang pagtatalaga ng interface sa operating system, ang Tunnel0 ay ang pagtatalaga ng interface sa tulad ng Cisco console.
Muli kong kinakalkula ang hash ng file:
root@VG1:~# integr_mgr calc -f /etc/ifaliases.cf
SUCCESS: Operation was successful.
Ngayon ang interface ng Tunnel0 ay lumitaw sa tulad ng Cisco console:
VG1# show run
interface Tunnel0
ip address 1.1.1.1 255.255.255.252
mtu 1400
Pagwawasto sa listahan ng pag-access para sa pag-encrypt:
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
Kino-configure ko ang pagruruta sa pamamagitan ng 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
Inalis ko ang cryptomap mula sa Fa0 / 0 at itinatali ito sa interface ng GRE:
VG1(config)#
interface Tunnel0
crypto map CMAP
Para sa VG2 ito ay katulad.
Sinusuri:
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
Mga istatistika ng 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
Sa ESP traffic dump, ang mga packet na naka-encapsulate sa GRE:
Konklusyon: Ang IPsec-over-GRE ay gumagana nang tama.
Mga resulta ng
Sapat na ang isang tasa ng kape. Nag-sketch ako ng mga tagubilin para sa pagkuha ng demo na bersyon. Na-configure ang GRE-over-IPsec at na-deploy vice versa.
Ang mapa ng mga interface ng network sa bersyon 4.3 ay awtomatiko! Sinusubukan ko pa.
Hindi kilalang inhinyero
t.me/anonymous_engineer
Pinagmulan: www.habr.com