Linux: Ubuntu 18.04.4 LTS (GNU/Linux 4.15.0-91-generic x86_64)
- Eth0 1.1.1.1/32 IP fafo
- ipip-ipsec0 192.168.0.1/30 o le a avea ma a tatou alavai
Miktoik: CCR 1009, RouterOS 6.46.5
- Eth0 10.0.0.2/30 IP totonu mai le kamupani. O le NAT IP fafo a le kamupani e tu'uina atu e malosi.
- ipip-ipsec0 192.168.0.2/30 o le a avea ma a tatou alavai
Matou te fatuina se alalaupapa IPsec i luga o se masini Linux e faʻaaoga ai le racoon. O le a ou le faʻamatalaina auiliiliga, o loʻo i ai se mea lelei
Fa'apipi'i afifi mana'omia:
sudo install racoon ipsec-tools
Matou te faʻapipiʻiina racoon, o le a galue faʻapitoa e pei o se ipsec server. Talu ai e le mafai e le mikrotik i le autu autu ona tuʻuina atu se faʻamatalaga faʻaopoopo tagata faʻatau, ma o le tuatusi IP i fafo lea e fesoʻotaʻi atu ai i Linux e malosi, e faʻaaoga ai se ki muaʻi (faʻatagaina upu) o le a le aoga, talu ai e tatau ona fetaui le upu faʻamaonia ma le tuatusi IP o le 'au fa'afeso'ota'i, po'o le fa'asinomaga.
O le a matou faʻaaogaina le faʻatagaina e faʻaaoga ai ki RSA.
E fa'aoga e le racoon daemon ki i le RSA format, ma fa'aogaina e mikrotik le fa'atulagaina PEM. Afai e te gaosia ki e faʻaaoga ai le faʻaogaina o le plainrsa-gen e sau ma le racoon, o le a le mafai ona e faʻaliliuina le ki lautele mo Mikrotika i le PEM format ma lana fesoasoani - e liliu naʻo le tasi itu: PEM i le RSA. E le mafai e le openssl poʻo le ssh-keygen ona faitau le ki na faia e plainrsa-gen, o lea e le mafai ai foi ona faʻaaogaina le liua.
O le a matou fatuina se ki PEM e faʻaaoga ai openssl ona faʻaliliu lea mo le racoon e faʻaaoga ai plainrsa-gen:
# Генерируем ключ
openssl genrsa -out server-name.pem 1024
# Извлекаем публичный ключ
openssl rsa -in server-name.pem -pubout > server-name.pub.pem
# Конвертируем
plainrsa-gen -i server-name.pem -f server-name.privet.key
plainrsa-gen -i server-name.pub.pem -f server-name.pub.key
O le a matou tuʻuina ki na maua i totonu o le pusa: /etc/racoon/certs/server. Aua nei galo e seti le e ona le tagata faʻaoga i lalo o lona igoa o le racoon daemon e faʻalauiloa (masani aʻa) i le 600 faʻatagaga.
O le a ou faʻamatalaina le seti mikrotik pe a faʻafesoʻotaʻi e ala i WinBox.
Tu'u mai le server-name.pub.pem ki i mikrotik: Menu “File” - “Upload”.
Tatala le vaega "IP" - "IP sec" - "Ki" tab. O lea ua matou fa'atupuina ki - o le "Generate Key" fa'amau, ona fa'aulufale atu lea o le microtika public key "Expor Pub. Key", e mafai ona e sii maia mai le vaega "Files", kiliki-i luga o le faila - "Download".
Matou te faʻaulufale mai le racoon public key, "Import", i le lisi pa'ū i lalo o le "File name" fanua matou te suʻeina le server-name.pub.pem na matou siiina muamua.
E mana'omia le fa'aliliuina ole ki fa'alaua'itele mikrotik
plainrsa-gen -i mikrotik.pub.pem -f mikrotik.pub.key
ma tuu i totonu o le /etc/racoon/certs folder, aua nei galo e ona ma aia tatau.
Racoon config ma faʻamatalaga: /etc/racoon/racoon.conf
log info; # Уровень логирования, при отладке используем Debug или Debug2.
listen {
isakmp 1.1.1.1 [500]; # Адрес и порт, на котором будет слушать демон.
isakmp_natt 1.1.1.1 [4500]; # Адрес и порт, на котором будет слушать демон для клиентов за NAT.
strict_address; # Выполнять обязательную проверку привязки к указанным выше IP.
}
path certificate "/etc/racoon/certs"; # Путь до папки с сертификатами.
remote anonymous { # Секция, задающая параметры для работы демона с ISAKMP и согласования режимов с подключающимися хостами. Так как IP, с которого подключается Mikrotik, динамический, то используем anonymous, что разрешает подключение с любого адреса. Если IP у хостов статический, то можно указать конкретный адрес и порт.
passive on; # Задает "серверный" режим работы демона, он не будет пытаться инициировать подключения.
nat_traversal on; # Включает использование режима NAT-T для клиентов, если они за NAT.
exchange_mode main; # Режим обмена параметрами подключения, в данном случае ---согласование.
my_identifier address 1.1.1.1; # Идентифицируем наш linux хост по его ip адресу.
certificate_type plain_rsa "server/server-name.priv.key"; # Приватный ключ сервера.
peers_certfile plain_rsa "mikrotik.pub.key"; # Публичный ключ Mikrotik.
proposal_check claim; # Режим согласования параметров ISAKMP туннеля. Racoon будет использовать значения подключающегося хоста (инициатора) для срока действия сессии и длины ключа, если его срок действия сессии больше, или длина его ключа короче, чем у инициатора. Если срок действия сессии короче, чем у инициатора, racoon использует собственное значение срока действия сессии и будет отправлять сообщение RESPONDER-LIFETIME.
proposal { # Параметры ISAKMP туннеля.
encryption_algorithm aes; # Метод шифрования ISAKMP туннеля.
hash_algorithm sha512; # Алгоритм хеширования, используемый для ISAKMP туннеля.
authentication_method rsasig; # Режим аутентификации для ISAKMP туннеля - по RSA ключам.
dh_group modp2048; # Длина ключа для алгоритма Диффи-Хеллмана при согласовании ISAKMP туннеля.
lifetime time 86400 sec; Время действия сессии.
}
generate_policy on; # Автоматическое создание ESP туннелей из запроса, пришедшего от подключающегося хоста.
}
sainfo anonymous { # Параметры ESP туннелей, anonymous - указанные параметры будут использованы как параметры по умолчанию. Для разных клиентов, портов, протоколов можно задавать разные параметры, сопоставление происходит по ip адресам, портам, протоколам.
pfs_group modp2048; # Длина ключа для алгоритма Диффи-Хеллмана для ESP туннелей.
lifetime time 28800 sec; # Срок действия ESP туннелей.
encryption_algorithm aes; # Метод шифрования ESP туннелей.
authentication_algorithm hmac_sha512; # Алгоритм хеширования, используемый для аутентификации ESP туннелей.
compression_algorithm deflate; # Сжимать передаваемые данные, алгоритм сжатия предлагается только один.
}
mikrotik config
Toe fo'i i le vaega "IP" - "IPsec"
"Profiles" tab
Parakalafa
tāua
igoa
I lau pule faitalia (e ala i le faaletonu)
Hash Algorithm
sha512
Algoritm fa'ailoga
aes-128
DH-Vaega
modp2048
Proposhal_check
āiā
olaga Atoa
1d 00:00:00
NAT Traversal
moni (siaki le pusa)
DPD
120
DPD Ole maualuga ole toilalo
5
Peers tab
Parakalafa
tāua
igoa
I lau pule faitalia (e ta'ua mulimuli ane o MyPeer)
Address
1.1.1.1 (Masini IP Linux)
Tuatusi Fa'alotoifale
10.0.0.2 (IP WAN interface mikrotik)
tino mai
Leai se totogi
Faiga Faʻafesuiaʻi
tele
Faʻasalaga
sese
Lafo INITIAL_CONTACT
moni
Fa'ailoga Fautuaga
Parakalafa
tāua
igoa
I lau pule faitalia (e ta'ua mulimuli ane o MyPeerProposal)
Auth. Algorithms
sha512
Encr. Algorithms
aes-128-cbc
olaga Atoa
08:00:00
Vaega PFS
modp2048
"Identities" tab
Parakalafa
tāua
Paʻaga
La'u Peer
Atu. Metotia
rsa ki
Key
mikrotik.privet.key
Ki Mamao
server-name.pub.pem
Vaega o Faiga Fa'avae
Leai se totogi
Notrack filifili
gaogao
La'u ID Ituaiga
taʻavale
Ituaiga ID Mamao
taʻavale
Faafetaui E
id mamao
Faiga Fa'atonu
gaogao
Fausia Faiga Faavae
leai
Tab "Faiga Faʻavae - Lautele"
Parakalafa
tāua
Paʻaga
La'u Peer
Vaitafe
moni
Src. tuatusi
192.168.0.0/30
Dest. tuatusi
192.168.0.0/30
Maliega
255 (uma)
mamanu
sese
Tab "Faiga Faʻavae - Faʻatinoga"
Parakalafa
tāua
faatinoga
faʻailoga
Laʻasaga
mana'omia
IPsec Protocols
esp
Fautuaga
MyPeerProposal
E foliga mai, pei o aʻu, o loʻo e faʻapipiʻiina le snat / masquerade i luga o lau WAN interface; o lenei tulafono e manaʻomia ona fetuunai ina ia alu ese atu pusa ipsec i totonu o la matou alavai:
Alu i le vaega "IP" - "Firewall".
"NAT" tab, tatala la matou tulafono faʻapipiʻi/masquerade.
Avanoa Avanoa
Parakalafa
tāua
Faiga Fa'avae IPsec
fafo: leai
Toe amata le temoni racoon
sudo systemctl restart racoon
Afai e le amata le racoon i le toe amataina, ona i ai lea o se mea sese i le config; i le syslog, faʻaalia e le racoon faʻamatalaga e uiga i le numera laina lea na iloa ai le mea sese.
A faʻapipiʻi le OS, e amata le racoon daemon aʻo leʻi faʻatupuina fesoʻotaʻiga fesoʻotaʻiga, ma matou faʻamaonia le filifiliga strict_address i le vaega faʻalogo; e tatau ona e faʻaopoopo le racoon unit i le systemd file
/lib/systemd/system/racoon.service, i le vaega [Iunite], laina After=network.target.
Ole taimi nei e tatau ona i luga a tatou ipsec tunnels, vaʻai i le gaioiga:
sudo ip xfrm policy
src 192.168.255.0/30 dst 192.168.255.0/30
dir out priority 2147483648
tmpl src 1.1.1.1 dst "IP NAT через который подключается mikrotik"
proto esp reqid 0 mode tunnel
src 192.168.255.0/30 dst 192.168.255.0/30
dir fwd priority 2147483648
tmpl src "IP NAT через который подключается mikrotik" dst 1.1.1.1
proto esp reqid 0 mode tunnel
src 192.168.255.0/30 dst 192.168.255.0/30
dir in priority 2147483648
tmpl src "IP NAT через который подключается mikrotik" dst 1.1.1.1
proto esp reqid 0 mode tunnel
Afai e le o i luga alavai, va'ai i le syslog, po'o le journalctl -u racoon.
Ole taimi nei e te manaʻomia le faʻapipiʻiina o fesoʻotaʻiga L3 ina ia mafai ai ona faʻaogaina auala. E i ai filifiliga eseese, o le a matou faʻaogaina le IPIP, talu ai e lagolagoina e mikrotik, o le a ou faʻaaogaina vti, ae, o le mea e leaga ai, e leʻi faʻatinoina i mikrotik. E ese mai le IPIP ona e mafai ona faʻapipiʻi faʻapipiʻi multicast ma tuʻu fwmarks i luga o paʻu, lea e mafai ai ona faʻamama i iptables ma iproute2 (faiga faʻavae faʻavae). Afai e te manaʻomia le maualuga o galuega, ona, mo se faʻataʻitaʻiga, GRE. Ae aua neʻi galo matou te totogia mo galuega faʻaopoopo ma se ulu ulu tele.
E mafai ona e vaʻai i le faʻaliliuga o se iloiloga lelei o fesoʻotaʻiga tunnel
I luga ole Linux:
# Создаем интерфейс
sudo ip tunnel add ipip-ipsec0 local 192.168.255.1 remote 192.168.255.2 mode ipip
# Активируем
sudo ip link set ipip-ipsec0 up
# Назначаем адрес
sudo ip addr add 192.168.255.1/30 dev ipip-ipsec0
Ole taimi nei e mafai ona e fa'aopoopo auala mo feso'ota'iga i tua o mikrotik
sudo ip route add A.B.C.D/Prefix via 192.168.255.2
Ina ia mafai ona siitia a tatou atinaʻe ma auala pe a uma le toe faʻafouina, e manaʻomia ona tatou faʻamatalaina le atinaʻe i /etc/network/interfaces ma faʻaopopo auala iina i le post-up, pe tusi mea uma i se faila e tasi, mo se faʻataʻitaʻiga, /etc/ ipip-ipsec0.conf ma toso i luga o le post-up, aua neʻi galo e uiga i le faila faila, aia tatau ma faʻatinoina.
Lalo o se faʻataʻitaʻiga faila
#!/bin/bash
ip tunnel add ipip-ipsec0 local 192.168.255.1 remote 192.168.255.2 mode ipip
ip link set ipip-ipsec0 up
ip addr add 192.168.255.1/30 dev ipip-ipsec0
ip route add A.B.C.D/Prefix via 192.168.255.2
luga o Mikrotik:
Vaega "Fesoasoani", faʻaopoopo se atinaʻe fou "IP tunnel":
Tab "IP tunnel" - "Aoao"
Parakalafa
tāua
igoa
I lau pule faitalia (e ta'ua mulimuli ane o le IPIP-IPsec0)
TAGATA
1480 (pe a le faʻamaonia, e amata ona tipi le mikrotik i le 68)
Tuatusi Fa'alotoifale
192.168.0.2
Tuatusi Mamao
192.168.0.1
IPsec Secret
Taofi le fanua (a leai o le a faia se Peer fou)
Taofiofi
Faʻagata le fanua (a leai o le a tape pea le atinaʻe, talu ai o le mikrotika e iai lana lava faatulagaga mo nei afifi ma e le galue ma Linux)
DSCP
mautofi
Aua le Vaevae
leai
Oomi TCP MSS
moni
Fa'ataga le Ala Anapogi
moni
Vaega “IP” – “Addresses”, faaopoopo le tuatusi:
Parakalafa
tāua
Address
192.168.0.2/30
Ofisa
IPIP-IPsec0
Ole taimi nei e mafai ona e faʻaopoopo auala i le fesoʻotaʻiga i tua o se masini Linux; pe a faʻaopoopo se auala, o le faitotoa o le a avea ma a tatou IPIP-IPsec0 interface.
PS
Talu ai o la matou Linux server o loʻo faʻaaogaina, e talafeagai le setiina o le Clamp TCP MSS parakalafa mo fesoʻotaʻiga ipip i luga:
fatu se faila /etc/iptables.conf ma mea nei:
*mangle
-A POSTROUTING -o ipip+ -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
COMMIT
ma i totonu /etc/network/interfaces
post-up iptables-restore </etc/iptables.conf
O loʻo ou tamoʻe le nginx i luga o le upega tafaʻilagi i tua o mikrotik (ip 10.10.10.1), faʻaoga mai le Initaneti, faʻaopoopo i /etc/iptables.conf:
*nat
-A PREROUTING -d 1.1.1.1/32 -p tcp -m multiport --dports 80,443 -j DNAT --to-destination 10.10.10.1
#На mikrotik, в таблице mangle, надо добавить правило route с назначением 192.168.0.1 для пакетов с адресом источника 10.10.10.1 и портов 80, 443.
# Так же на linux работает OpenVPN сервер 172.16.0.1/24, для клиентов которые используют подключение к нему в качестве шлюза даем доступ в интернет
-A POSTROUTING -s 172.16.0.0/24 -o eth0 -j SNAT --to-source 1.1.1.1
COMMIT
Aua ne'i galo e fa'aopoopo le fa'atagaga talafeagai i iptables pe afai e mafai ona e fa'amama pepa.
Ia soifua maloloina!
puna: www.habr.com