<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.habital.lv/index.php?action=history&amp;feed=atom&amp;title=%D0%9F%D0%BE%D0%B4%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BA_CheckPoint_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_strongswan_%D0%B8_libreswan</id>
	<title>Подключение к CheckPoint с помощью strongswan и libreswan - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.habital.lv/index.php?action=history&amp;feed=atom&amp;title=%D0%9F%D0%BE%D0%B4%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BA_CheckPoint_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_strongswan_%D0%B8_libreswan"/>
	<link rel="alternate" type="text/html" href="https://wiki.habital.lv/index.php?title=%D0%9F%D0%BE%D0%B4%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BA_CheckPoint_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_strongswan_%D0%B8_libreswan&amp;action=history"/>
	<updated>2026-04-24T16:24:40Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.13</generator>
	<entry>
		<id>https://wiki.habital.lv/index.php?title=%D0%9F%D0%BE%D0%B4%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BA_CheckPoint_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_strongswan_%D0%B8_libreswan&amp;diff=160&amp;oldid=prev</id>
		<title>Eugene: Created page with &quot;== Подключение к CheckPoint с помощью strongswan и libreswan ==  Евгений Мисник  &lt;br /&gt;  === 1 Сертификаты для подключе...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.habital.lv/index.php?title=%D0%9F%D0%BE%D0%B4%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BA_CheckPoint_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_strongswan_%D0%B8_libreswan&amp;diff=160&amp;oldid=prev"/>
		<updated>2021-01-28T18:21:45Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;== Подключение к CheckPoint с помощью strongswan и libreswan ==  Евгений Мисник  &amp;lt;br /&amp;gt;  === 1 Сертификаты для подключе...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Подключение к CheckPoint с помощью strongswan и libreswan ==&lt;br /&gt;
&lt;br /&gt;
Евгений Мисник&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 1 Сертификаты для подключения ===&lt;br /&gt;
&lt;br /&gt;
Для подключения к CheckPoint потребуются следующие сертификаты:&lt;br /&gt;
&lt;br /&gt;
* CA сертификат CheckPoint “internal_ca.pem”. Этот сертификат можно получить, подключившись к шлюзу CheckPoint на порт 18264:&lt;br /&gt;
&lt;br /&gt;
$ wget http://&amp;amp;lt;checkpoint gw address&amp;amp;gt;:18264/internal_ca.cer &amp;lt;br /&amp;gt;$ openssl x509 -inform DER -outform PEM -in internal_ca.cer -out internal_cap.pem&lt;br /&gt;
&lt;br /&gt;
* Сертификат сервера “checkpoint-cert.pem”. Его можно получить с адреса шлюза:&lt;br /&gt;
&lt;br /&gt;
$ openssl s_client -connect &amp;amp;lt;checkpoint gw address&amp;amp;gt;:443&lt;br /&gt;
&lt;br /&gt;
* CRL сертификат:&lt;br /&gt;
&lt;br /&gt;
$ wget http://&amp;amp;lt;checkpoint gw address&amp;amp;gt;:18264/ICA_CRL1.crl &amp;lt;br /&amp;gt;$ openssl crl -in ICA_CRL1.crl -inform DER -outform PEM -out ICA_CRL1.crl&lt;br /&gt;
&lt;br /&gt;
Срок действия сертификата “ICA_CRL1.crl” несколько дней. Поэтому “strongswan” будет пытаться обновить этот сертификат с CheckPoint шлюза.&lt;br /&gt;
&lt;br /&gt;
# openssl crl -in /etc/strongswan/ipsec.d/crls/ICA_CRL1.crl -text -noout &amp;lt;br /&amp;gt;Certificate Revocation List (CRL): &amp;lt;br /&amp;gt;        Version 2 (0x1) &amp;lt;br /&amp;gt;    Signature Algorithm: sha256WithRSAEncryption &amp;lt;br /&amp;gt;        Issuer: /O=smartcenter..i6sh4u &amp;lt;br /&amp;gt;        Last Update: Jan 10 06:04:27 2021 GMT &amp;lt;br /&amp;gt;        Next Update: Jan 17 06:04:27 2021 GMT &amp;lt;br /&amp;gt;        CRL extensions: &amp;lt;br /&amp;gt;            X509v3 Issuing Distrubution Point: critical &amp;lt;br /&amp;gt;                Full Name: &amp;lt;br /&amp;gt;                  URI:http://smartcenter.example.org:18264/ICA_CRL1.crl &amp;lt;br /&amp;gt;                  DirName: O = smartcenter..i6sh4u, CN = ICA_CRL1&lt;br /&gt;
&lt;br /&gt;
Подключаться “strongswan” будет к сайту “smartcenter”. Так как адреса для этого имени нет, то в файле “/etc/hosts” надо принудительно прописать IP-адрес:&lt;br /&gt;
&lt;br /&gt;
# cat /etc/hosts 127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4 &amp;lt;br /&amp;gt;::1         localhost localhost.localdomain localhost6 localhost6.localdomain6 &amp;lt;br /&amp;gt;&amp;amp;lt;checkpoint gw ip-address&amp;amp;gt;   smartcenter smartcenter.example.org&lt;br /&gt;
&lt;br /&gt;
Лог в файле “/var/log/messages” может выглядеть так:&lt;br /&gt;
&lt;br /&gt;
Jan 19 17:46:13 kvm charon: 16[CFG]   using trusted ca certificate &amp;amp;quot;O=smartcenter..i6sh4u&amp;amp;quot; &amp;lt;br /&amp;gt;Jan 19 17:46:13 kvm charon: 16[CFG] checking certificate status of &amp;amp;quot;O=smartcenter..i6sh4u, CN=smart VPN Certificate&amp;amp;quot; &amp;lt;br /&amp;gt;Jan 19 17:46:13 kvm charon: 16[CFG]   fetching crl from ’O=smartcenter..i6sh4u, CN=ICA_CRL1’ ... &amp;lt;br /&amp;gt;Jan 19 17:46:13 kvm charon: 16[LIB] unable to fetch from O=smartcenter..i6sh4u, CN=ICA_CRL1, no capable fetcher found &amp;lt;br /&amp;gt;Jan 19 17:46:13 kvm charon: 16[CFG]   fetching crl from ’http://smartcenter:18264/ICA_CRL1.crl’ ...&lt;br /&gt;
&lt;br /&gt;
Кроме этих сертификатов потребуется сертификат клиента, зарегистрированного на CheckPoint, “cpuser.p12”. Из этого сертификата надо получить сертификат клиента “cpuser.pem” и сертификат ключа “cpuser-key.pem”:&lt;br /&gt;
&lt;br /&gt;
$ openssl pkcs12 -in cpuser.p12 -nocerts -out cpuser-key.pem &amp;lt;br /&amp;gt;$ openssl pkcs12 -in cpuser.p12 -nokeys -out temp.pem&lt;br /&gt;
&lt;br /&gt;
Сертификат “temp.pem” содержит в себе сертификат пользователя и CA сертификат. С помощью редактора сертификат надо разделить на части, сохранить их как отдельные pem-файлы и с помощью openssl посмотреть содержимое сертификатов. Сертификат клиента будет содержать в себе что-то вроде этого: “Subject: O=smartcenter..i6sh4u, OU=users, CN=cpuser”.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 2 Настройка strongswan ===&lt;br /&gt;
&lt;br /&gt;
Расположение настроек strongswan в каждом дистрибутиве может отличаться. В CentOS 7, OL7 или RHEL 7 настройки располжены в каталоге “/etc/strongswan”:&lt;br /&gt;
&lt;br /&gt;
# tree -d /etc/strongswan &amp;lt;br /&amp;gt;/etc/strongswan &amp;lt;br /&amp;gt;_ ipsec.d &amp;lt;br /&amp;gt;  __ aacerts &amp;lt;br /&amp;gt;  __ acerts &amp;lt;br /&amp;gt;  __ cacerts &amp;lt;br /&amp;gt;  __ certs &amp;lt;br /&amp;gt;  __ crls &amp;lt;br /&amp;gt;  __ ocspcerts &amp;lt;br /&amp;gt;  __ private &amp;lt;br /&amp;gt;  __ reqs &amp;lt;br /&amp;gt;_ strongswan.d &amp;lt;br /&amp;gt;  __ charon &amp;lt;br /&amp;gt;_ swanctl &amp;lt;br /&amp;gt;   __ bliss &amp;lt;br /&amp;gt;   __ conf.d &amp;lt;br /&amp;gt;   __ ecdsa &amp;lt;br /&amp;gt;   __ pkcs12 &amp;lt;br /&amp;gt;   __ pkcs8 &amp;lt;br /&amp;gt;   __ private &amp;lt;br /&amp;gt;   __ pubkey &amp;lt;br /&amp;gt;   __ rsa &amp;lt;br /&amp;gt;   __ x509 &amp;lt;br /&amp;gt;   __ x509aa &amp;lt;br /&amp;gt;   __ x509ac &amp;lt;br /&amp;gt;   __ x509ca &amp;lt;br /&amp;gt;   __ x509crl &amp;lt;br /&amp;gt;   __ x509ocsp&lt;br /&gt;
&lt;br /&gt;
Файлы “internal_ca.pem”, “checkpoint-cert.pem” и “cpuser.pem”, &amp;lt;br /&amp;gt;“ICA_CRL1.crl”, “cpuser-key.pem” надо разместить в каталогах &amp;lt;br /&amp;gt;“/etc/strongswan/ipsec.d/cacerts”, “/etc/strongswan/ipsec.d/certs”, &amp;lt;br /&amp;gt;“/etc/strongswan/ipsec.d/crls” и в “/etc/strongswan/ipsec.d/private” соответственно.&lt;br /&gt;
&lt;br /&gt;
Файл “cpuser-key.pem” должен имет права “0600” и владельцем всех вышеуказанных файлов должен быть “root:root”.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 2.1 Файл конфигурации “ipsec.conf” ====&lt;br /&gt;
&lt;br /&gt;
Файл конфигурации “ipsec.conf” расположен в каталоге “/etc/strongswan”:&lt;br /&gt;
&lt;br /&gt;
# ipsec.conf - strongSwan IPsec configuration file &amp;lt;br /&amp;gt; &amp;lt;br /&amp;gt;# basic configuration &amp;lt;br /&amp;gt;config setup &amp;lt;br /&amp;gt;        # strictcrlpolicy=yes &amp;lt;br /&amp;gt;        # uniqueids = no &amp;lt;br /&amp;gt;        # charondebug=1 &amp;lt;br /&amp;gt;        # charondebug=&amp;amp;quot;cfg 2, dmn 2, ike 2, net 2, lib 3, knl 4&amp;amp;quot; &amp;lt;br /&amp;gt; &amp;lt;br /&amp;gt;# Add connections here. &amp;lt;br /&amp;gt;conn %default &amp;lt;br /&amp;gt;        # Left side is strongSwan - RoadWarrior &amp;lt;br /&amp;gt;        left=%defaultroute &amp;lt;br /&amp;gt;        leftcert=cpuser.pem # Cert of user - from /etc/strongswan/certs &amp;lt;br /&amp;gt;        leftid=&amp;amp;quot;/O=smartcenter..i6sh4u/OU=users/CN=cpuser&amp;amp;quot; &amp;lt;br /&amp;gt;        leftrsasigkey=%cert &amp;lt;br /&amp;gt;        auto=route &amp;lt;br /&amp;gt; &amp;lt;br /&amp;gt;conn remote &amp;lt;br /&amp;gt;        # Right side is CheckPoint &amp;lt;br /&amp;gt;        right=&amp;amp;lt;checkpoint gw ip-address&amp;amp;gt; &amp;lt;br /&amp;gt;        rightcert=checkpoint-cert.pem # Cert of FW - from /etc/strongswan/certs &amp;lt;br /&amp;gt;        rightid=&amp;amp;lt;checkpoint gw ip-address&amp;amp;gt; &amp;lt;br /&amp;gt;        # config &amp;lt;br /&amp;gt;        ike=aes256-sha1-modp1024 # check if IKE P1 are allowed under Global Prop. &amp;lt;br /&amp;gt;        esp=aes256-sha1 # check if IKE P2 are allowed &amp;lt;br /&amp;gt;        type=tunnel &amp;lt;br /&amp;gt;        keyexchange=ikev1 # use IKE v1 &amp;lt;br /&amp;gt;        keyingtries=3 &amp;lt;br /&amp;gt;        authby=rsasig &amp;lt;br /&amp;gt;        ikelifetime=8h # Lifetime for IKE Phase 1 &amp;lt;br /&amp;gt;        lifetime=1h # Lifetime for IKE Phase 2 &amp;lt;br /&amp;gt; &amp;lt;br /&amp;gt;conn net-192.168.xx.0 &amp;lt;br /&amp;gt;       also=remote &amp;lt;br /&amp;gt;       rightsubnet=192.168.xx.0/24 &amp;lt;br /&amp;gt;       auto=start &amp;lt;br /&amp;gt; &amp;lt;br /&amp;gt;conn net-192.168.yy.0 &amp;lt;br /&amp;gt;       also=remote &amp;lt;br /&amp;gt;       rightsubnet=192.168.yy.0/24 &amp;lt;br /&amp;gt;       auto=start&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 2.2 Файл “ipsec.secrets” ====&lt;br /&gt;
&lt;br /&gt;
Файл расположен в каталоге “/etc/strongswan”:&lt;br /&gt;
&lt;br /&gt;
# ipsec.secrets - strongSwan IPsec secrets file &amp;lt;br /&amp;gt;: RSA cpuser-key.pem &amp;amp;quot;key file password&amp;amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 2.3 Запуск “strongswan” ====&lt;br /&gt;
&lt;br /&gt;
Создание “IPsec VPN” между клиентом и CheckPoint выполняется несколькими командами:&lt;br /&gt;
&lt;br /&gt;
# strongswan start &amp;lt;br /&amp;gt;Starting strongSwan 5.7.2 IPsec [starter]... &amp;lt;br /&amp;gt;# strongswan up remote &amp;lt;br /&amp;gt;generating QUICK_MODE request 2566461280 [ HASH SA No ID ID ] &amp;lt;br /&amp;gt;sending packet: from local.ip.address[4500] to checkpoint.gw.ip[4500] (204 bytes) &amp;lt;br /&amp;gt;received packet: from checkpoint.gw.ip[4500] to local.ip.address[4500] (156 bytes) &amp;lt;br /&amp;gt;parsed QUICK_MODE response 2566461280 [ HASH SA No ID ID ] &amp;lt;br /&amp;gt;selected proposal: ESP:AES_CBC_256/HMAC_SHA1_96/NO_EXT_SEQ &amp;lt;br /&amp;gt;detected rekeying of CHILD_SA bank{3} &amp;lt;br /&amp;gt;CHILD_SA bank{4} established with SPIs c3789495_i 55115f06_o and TS local.ip.address/32 === checkpoint.gw.ip/32 &amp;lt;br /&amp;gt;generating QUICK_MODE request 2566461280 [ HASH ] &amp;lt;br /&amp;gt;sending packet: from local.ip.address[4500] to checkpoint.gw.ip[4500] (60 bytes) &amp;lt;br /&amp;gt;connection ’remote’ established successfully&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 3 Настройка libreswan ===&lt;br /&gt;
&lt;br /&gt;
В RHEL 7, OEL 7 или CentOS 7 файлы настроек находятся к каталогах “/etc” и “/etc/ipsec.d”.&lt;br /&gt;
&lt;br /&gt;
/etc/ipsec.conf &amp;lt;br /&amp;gt;/etc/ipsec.secrets &amp;lt;br /&amp;gt;/etc/ipsec.d/ipsec.conf &amp;lt;br /&amp;gt;/etc/ipsec.d/ipsec.secrets &amp;lt;br /&amp;gt;/etc/ipsec.d/cert9.db &amp;lt;br /&amp;gt;/etc/ipsec.d/key4.db &amp;lt;br /&amp;gt;/etc/ipsec.d/nsspassword&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 3.1 База данных “nssdb” ====&lt;br /&gt;
&lt;br /&gt;
Сертификаты клиента и сервера для “libreswan” хранятся в базе данных “nss”. Исходно база данных находится в “/etc/ipsec.d”. Для использования базы данных её надо инициализировать:&lt;br /&gt;
&lt;br /&gt;
# ipsec initnss&lt;br /&gt;
&lt;br /&gt;
Пароль для базы данных надо будет сохранить в файле “nsspassword”:&lt;br /&gt;
&lt;br /&gt;
# cat /etc/ipsec.d/nsspassword &amp;lt;br /&amp;gt;NSS Certificate DB:&amp;amp;lt;Here is my strong NSS password&amp;amp;gt;&lt;br /&gt;
&lt;br /&gt;
Вместо команды “ipsec initnss” можно воспользоваться командой “certutil”:&lt;br /&gt;
&lt;br /&gt;
# certutil -N -d sql:/etc/ipsec.d&lt;br /&gt;
&lt;br /&gt;
В базу данных надо занести сертификаты сервера и клиента (файл .p12):&lt;br /&gt;
&lt;br /&gt;
# ipsec import cpuser.p12&lt;br /&gt;
&lt;br /&gt;
Содержимое базы данных можно увидеть, используя “certutil”:&lt;br /&gt;
&lt;br /&gt;
# certutil -L -d sql:/etc/ipsec.d &amp;lt;br /&amp;gt; &amp;lt;br /&amp;gt;Certificate Nickname                Trust Attributes &amp;lt;br /&amp;gt;                                    SSL,S/MIME,JAR/XPI &amp;lt;br /&amp;gt; &amp;lt;br /&amp;gt;checkpoint-cert.pem                 P,, &amp;lt;br /&amp;gt;internal_ca.pem                     CT,, &amp;lt;br /&amp;gt;cpuser                              u,u,u&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 3.2 Конфигурационные файлы ====&lt;br /&gt;
&lt;br /&gt;
Исходный файл конфигурации “libreswan” - это “/etc/ipsec.conf”. В нём можно определить местонахождение логфайла, отладку:&lt;br /&gt;
&lt;br /&gt;
# /etc/ipsec.conf - Libreswan IPsec configuration file &amp;lt;br /&amp;gt;# &amp;lt;br /&amp;gt;# see ’man ipsec.conf’ and ’man pluto’ for more information &amp;lt;br /&amp;gt;# &amp;lt;br /&amp;gt;# For example configurations and documentation, see https://libreswan.org/wiki/ &amp;lt;br /&amp;gt; &amp;lt;br /&amp;gt;config setup &amp;lt;br /&amp;gt;        # Normally, pluto logs via syslog. &amp;lt;br /&amp;gt;        logfile=/var/log/pluto.log &amp;lt;br /&amp;gt;        # &amp;lt;br /&amp;gt;        # Do not enable debug options to debug configuration issues! &amp;lt;br /&amp;gt;        # &amp;lt;br /&amp;gt;        # plutodebug=&amp;amp;quot;control parsing&amp;amp;quot; &amp;lt;br /&amp;gt;        # plutodebug=&amp;amp;quot;all crypt&amp;amp;quot; &amp;lt;br /&amp;gt;        plutodebug=none &amp;lt;br /&amp;gt;        # &amp;lt;br /&amp;gt;        # NAT-TRAVERSAL support &amp;lt;br /&amp;gt;        # exclude networks used on server side by adding %v4:!a.b.c.0/24 &amp;lt;br /&amp;gt;        # It seems that T-Mobile in the US and Rogers/Fido in Canada are &amp;lt;br /&amp;gt;        # using 25/8 as &amp;amp;quot;private&amp;amp;quot; address space on their wireless networks. &amp;lt;br /&amp;gt;        # This range has never been announced via BGP (at least up to 2015) &amp;lt;br /&amp;gt;        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 &amp;lt;br /&amp;gt; &amp;lt;br /&amp;gt;# if it exists, include system wide crypto-policy defaults &amp;lt;br /&amp;gt;# include /etc/crypto-policies/back-ends/libreswan.config &amp;lt;br /&amp;gt; &amp;lt;br /&amp;gt;# It is best to add your IPsec connections as separate files in /etc/ipsec.d/ &amp;lt;br /&amp;gt;include /etc/ipsec.d/*.conf&lt;br /&gt;
&lt;br /&gt;
В каталоге “/etc/ipsec.d/” размещаются файлы соединений, например “/etc/ipsec.d/ipsec.conf”:&lt;br /&gt;
&lt;br /&gt;
# cat /etc/ipsec.d/ipsec.conf &amp;lt;br /&amp;gt;conn home &amp;lt;br /&amp;gt;        # Right side is libreswan &amp;lt;br /&amp;gt;        right=%defaultroute &amp;lt;br /&amp;gt;        rightcert=cpuser &amp;lt;br /&amp;gt;        # rightid=&amp;amp;quot;/O=smartcenter..i6sh4u/OU=users/CN=cpuser&amp;amp;quot; &amp;lt;br /&amp;gt;        rightid=%fromcert &amp;lt;br /&amp;gt;        rightrsasigkey=%cert &amp;lt;br /&amp;gt;        # Left side is CheckPoint &amp;lt;br /&amp;gt;        left=&amp;amp;lt;checkpoint gw ip-address&amp;amp;gt; &amp;lt;br /&amp;gt;        # leftsubnet=192.168.xx.0/24 &amp;lt;br /&amp;gt;        leftcert=checkpoint-cert.pem &amp;lt;br /&amp;gt;        # leftid=&amp;amp;lt;checkpoint gw ip-address&amp;amp;gt; &amp;lt;br /&amp;gt;        leftid=%fromcert &amp;lt;br /&amp;gt;        # Config &amp;lt;br /&amp;gt;        vti-interface=ip_vti0 &amp;lt;br /&amp;gt;        type=tunnel &amp;lt;br /&amp;gt;        keyingtries=3 &amp;lt;br /&amp;gt;        disablearrivalcheck=no &amp;lt;br /&amp;gt;        authby=rsasig &amp;lt;br /&amp;gt;        ike=aes256-sha1;modp1024 &amp;lt;br /&amp;gt;        phase2=esp &amp;lt;br /&amp;gt;        phase2alg=aes256-sha1 &amp;lt;br /&amp;gt;        pfs=no &amp;lt;br /&amp;gt;        ikelifetime=8h &amp;lt;br /&amp;gt;        salifetime=1h &amp;lt;br /&amp;gt;        ikev2=no &amp;lt;br /&amp;gt;        keyexchange=ike &amp;lt;br /&amp;gt;        auto=route &amp;lt;br /&amp;gt; &amp;lt;br /&amp;gt;conn net-192.168.xx.0 &amp;lt;br /&amp;gt;       also=home &amp;lt;br /&amp;gt;       leftsubnet=192.168.xx.0/24 &amp;lt;br /&amp;gt;       #auto=start&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 3.3 Запуск “libreswan” ====&lt;br /&gt;
&lt;br /&gt;
Запуск сервиса возможен как напрямую, так и через “systemctl”:&lt;br /&gt;
&lt;br /&gt;
# ipsec start &amp;lt;br /&amp;gt;Redirecting to: systemctl start ipsec.service &amp;lt;br /&amp;gt;# ipsec auto --up home &amp;lt;br /&amp;gt;au002 &amp;amp;quot;home&amp;amp;quot; #1: initiating Main Mode &amp;lt;br /&amp;gt;104 &amp;amp;quot;home&amp;amp;quot; #1: STATE_MAIN_I1: initiate &amp;lt;br /&amp;gt;106 &amp;amp;quot;home&amp;amp;quot; #1: STATE_MAIN_I2: sent MI2, expecting MR2 &amp;lt;br /&amp;gt;002 &amp;amp;quot;home&amp;amp;quot; #1: I am sending my cert &amp;lt;br /&amp;gt;002 &amp;amp;quot;home&amp;amp;quot; #1: I am sending a certificate request &amp;lt;br /&amp;gt;108 &amp;amp;quot;home&amp;amp;quot; #1: STATE_MAIN_I3: sent MI3, expecting MR3 &amp;lt;br /&amp;gt;002 &amp;amp;quot;home&amp;amp;quot; #1: Peer ID is ID_IPV4_ADDR: ’&amp;amp;lt;checkpoint gw ip-address&amp;amp;gt;’ &amp;lt;br /&amp;gt;002 &amp;amp;quot;home&amp;amp;quot; #1: certificate verified OK: CN=smart VPN Certificate,O=smartcenter..i6sh4u &amp;lt;br /&amp;gt;003 &amp;amp;quot;home&amp;amp;quot; #1: Authenticated using RSA &amp;lt;br /&amp;gt;004 &amp;amp;quot;home&amp;amp;quot; #1: STATE_MAIN_I4: ISAKMP SA established {auth=RSA_SIG cipher=aes_256 integ=sha group=MODP1024} &amp;lt;br /&amp;gt;002 &amp;amp;quot;home&amp;amp;quot; #2: initiating Quick Mode RSASIG+ENCRYPT+TUNNEL+UP+IKEV1_ALLOW+SAREF_TRACK+IKE_FRAG_ALLOW+ESN_NO {using isakmp#1 msgid:c80d7f54 proposal=AES_CBC_256-HMAC_SHA1_96 pfsgroup=no-pfs} &amp;lt;br /&amp;gt;117 &amp;amp;quot;home&amp;amp;quot; #2: STATE_QUICK_I1: initiate &amp;lt;br /&amp;gt;004 &amp;amp;quot;home&amp;amp;quot; #2: STATE_QUICK_I2: sent QI2, IPsec SA established tunnel mode {ESP/NAT=&amp;amp;gt;0xcfeff49e &amp;amp;lt;0xb0d447b9 xfrm=AES_CBC_256-HMAC_SHA1_96 NATOA=none NATD=&amp;amp;lt;checkpoint gw ip-address&amp;amp;gt;:4500 DPD=passive}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 3.4 Проверка “libreswan” ====&lt;br /&gt;
&lt;br /&gt;
Проверить настройки “libreswan” можно с помощью команды “ipsec verify”:&lt;br /&gt;
&lt;br /&gt;
# ipsec verify &amp;lt;br /&amp;gt;Verifying installed system and configuration files &amp;lt;br /&amp;gt; &amp;lt;br /&amp;gt;Version check and ipsec on-path                         [OK] &amp;lt;br /&amp;gt;Libreswan 3.25 (netkey) on 5.4.17-2036.102.0.2.el7uek.x86_64 &amp;lt;br /&amp;gt;Checking for IPsec support in kernel                    [OK] &amp;lt;br /&amp;gt; NETKEY: Testing XFRM related proc values &amp;lt;br /&amp;gt;         ICMP default/send_redirects                    [OK] &amp;lt;br /&amp;gt;         ICMP default/accept_redirects                  [OK] &amp;lt;br /&amp;gt;         XFRM larval drop                               [OK] &amp;lt;br /&amp;gt;Pluto ipsec.conf syntax                                 [OK] &amp;lt;br /&amp;gt;Two or more interfaces found, checking IP forwarding    [OK] &amp;lt;br /&amp;gt;Checking rp_filter                                      [OK] &amp;lt;br /&amp;gt;Checking that pluto is running                          [OK] &amp;lt;br /&amp;gt; Pluto listening for IKE on udp 500                     [OK] &amp;lt;br /&amp;gt; Pluto listening for IKE/NAT-T on udp 4500              [OK] &amp;lt;br /&amp;gt; Pluto ipsec.secret syntax                              [OK] &amp;lt;br /&amp;gt;Checking ’ip’ command                                   [OK] &amp;lt;br /&amp;gt;Checking ’iptables’ command                             [OK] &amp;lt;br /&amp;gt;Checking ’prelink’ command does not interfere with FIPS [OK] &amp;lt;br /&amp;gt;Checking for obsolete ipsec.conf options                [OK]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 4 Фаервол ===&lt;br /&gt;
&lt;br /&gt;
В настройках фаервола надо добавить “NAT masquerading”, протоколы аутентификации IPsec (AH) и энкапсуляции (ESP):&lt;br /&gt;
&lt;br /&gt;
# firewall-cmd --zone=public --permanent --add-rich-rule=’rule protocol value=&amp;amp;quot;esp&amp;amp;quot; accept’ &amp;lt;br /&amp;gt;# firewall-cmd --zone=public --permanent --add-rich-rule=’rule protocol value=&amp;amp;quot;ah&amp;amp;quot; accept’ &amp;lt;br /&amp;gt;# firewall-cmd --zone=public --permanent --add-masquerade&lt;br /&gt;
&lt;br /&gt;
А также добавить “UDP” порты и сервис “ipsec”:&lt;br /&gt;
&lt;br /&gt;
# firewall-cmd --zone=public --permanent --add-port=500/udp &amp;lt;br /&amp;gt;# firewall-cmd --zone=public --permanent --add-port=4500/udp &amp;lt;br /&amp;gt;# firewall-cmd --zone=public --permanent --add-service=&amp;amp;quot;ipsec&amp;amp;quot; &amp;lt;br /&amp;gt;# firewall-cmd --reload&lt;br /&gt;
&lt;br /&gt;
Посмотреть, что всё вышеуказанное включено в фаервол, можно с помощью команды “firewall-cmd --list-all”:&lt;br /&gt;
&lt;br /&gt;
# firewall-cmd --list-all &amp;lt;br /&amp;gt;public (active) &amp;lt;br /&amp;gt;  target: default &amp;lt;br /&amp;gt;  icmp-block-inversion: no &amp;lt;br /&amp;gt;  interfaces: wlo1 &amp;lt;br /&amp;gt;  sources: &amp;lt;br /&amp;gt;  services: ipsec rpc-bind ssh &amp;lt;br /&amp;gt;  ports: 500/udp 4500/udp &amp;lt;br /&amp;gt;  protocols: &amp;lt;br /&amp;gt;  masquerade: yes &amp;lt;br /&amp;gt;  forward-ports: &amp;lt;br /&amp;gt;  source-ports: &amp;lt;br /&amp;gt;  icmp-blocks: &amp;lt;br /&amp;gt;  rich rules: &amp;lt;br /&amp;gt;        rule protocol value=&amp;amp;quot;esp&amp;amp;quot;accept &amp;lt;br /&amp;gt;        rule protocol value=&amp;amp;quot;ah&amp;amp;quot;accept&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 5 Sysctl ===&lt;br /&gt;
&lt;br /&gt;
В дополнение к исходным настройкам strongswan, надо дополнительно внести изменения в сетевые настройки ядра. Для этого надо добавить следующие строки в файл “/etc/sysctl.conf”:&lt;br /&gt;
&lt;br /&gt;
# sysctl settings are defined through files in &amp;lt;br /&amp;gt;# /usr/lib/sysctl.d/, /run/sysctl.d/, and /etc/sysctl.d/. &amp;lt;br /&amp;gt;# &amp;lt;br /&amp;gt;# Vendors settings live in /usr/lib/sysctl.d/. &amp;lt;br /&amp;gt;# To override a whole file, create a new file with the same in &amp;lt;br /&amp;gt;# /etc/sysctl.d/ and put new settings there. To override &amp;lt;br /&amp;gt;# only specific settings, add a file with a lexically later &amp;lt;br /&amp;gt;# name in /etc/sysctl.d/ and put new settings there. &amp;lt;br /&amp;gt;# &amp;lt;br /&amp;gt;# For more information, see sysctl.conf(5) and sysctl.d(5). &amp;lt;br /&amp;gt;net.ipv4.ip_forward = 1 &amp;lt;br /&amp;gt;net.ipv4.conf.all.accept_redirects = 0 &amp;lt;br /&amp;gt;net.ipv4.conf.all.send_redirects = 0 &amp;lt;br /&amp;gt;net.ipv4.conf.all.rp_filter = 0 &amp;lt;br /&amp;gt;net.ipv4.conf.default.accept_source_route = 0 &amp;lt;br /&amp;gt;net.ipv4.conf.default.accept_redirects = 0 &amp;lt;br /&amp;gt;net.ipv4.conf.default.send_redirects = 0 &amp;lt;br /&amp;gt;net.ipv4.conf.default.rp_filter = 0 &amp;lt;br /&amp;gt;net.ipv4.conf.eno1.rp_filter = 0 &amp;lt;br /&amp;gt;net.ipv4.conf.wlo1.rp_filter = 0 &amp;lt;br /&amp;gt;net.ipv4.conf.ip_vti0.rp_filter = 0&lt;br /&gt;
&lt;br /&gt;
Наименования интерфейсов “eno1”, “wlo1”, “ip_vti0” могут отличаться, а также могут присутствовать и другие интерфейсы, например “virbr0”, “virbr0-nic”. Посмотреть все имеющиеся интерфейсы можно с помощью команды “ip a”.&lt;/div&gt;</summary>
		<author><name>Eugene</name></author>
	</entry>
</feed>