Linux: Ubuntu 18.04.4 LTS (GNU/Linux 4.15.0-91-умумии x86_64)
- Eth0 1.1.1.1/32 IP беруна
- ipip-ipsec0 192.168.0.1/30 нақби мо хоҳад буд
Миктоик: CCR 1009, RouterOS 6.46.5
- Eth0 10.0.0.2/30 IP дохилӣ аз провайдер. IP-и берунаи NAT провайдер динамикӣ аст.
- ipip-ipsec0 192.168.0.2/30 нақби мо хоҳад буд
Мо нақби IPsec-ро дар мошини Linux бо истифода аз racoon эҷод мекунем. Ман тафсилотро тавсиф намекунам, як чизи хубе ҳаст
Бастаҳои заруриро насб кунед:
sudo install racoon ipsec-tools
Мо racoon-ро танзим мекунем, он шартан ҳамчун сервери ipsec амал мекунад. Азбаски микротик дар реҷаи асосӣ идентификатори иловагии муштариро интиқол дода наметавонад ва суроғаи IP-и беруние, ки тавассути он ба Linux пайваст мешавад, динамикӣ аст, бо истифода аз калиди пешакии муштарак (авторизатсияи парол) кор намекунад, зеро парол бояд ё бо суроғаи IP мувофиқ бошад. мизбони пайвасткунанда ё бо идентификатор.
Мо иҷозатро бо истифода аз калидҳои RSA истифода хоҳем кард.
Демон racoon калидҳоро дар формати RSA истифода мебарад ва mikrotik формати PEM -ро истифода мебарад. Агар шумо калидҳоро бо истифода аз утилитаи plainrsa-gen тавлид кунед, ки бо racoon меояд, пас шумо наметавонед калиди ҷамъиятии Микротикаро бо ёрии он ба формати PEM табдил диҳед - он танҳо дар як самт табдил меёбад: PEM ба RSA. На openssl ва на ssh-keygen калиди тавлидшударо тавассути plainrsa-gen хонда наметавонанд, аз ин рӯ бо истифода аз онҳо низ табдил додан ғайриимкон хоҳад буд.
Мо калиди PEM-ро бо истифода аз openssl тавлид мекунем ва сипас онро барои racoon бо истифода аз 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
Мо калидҳои гирифташударо дар ҷузвдон ҷойгир мекунем: /etc/racoon/certs/server. Фаромӯш накунед, ки соҳиби корбаре, ки бо номи он демон racoon оғоз шудааст (одатан реша) ба 600 иҷозат таъин кунед.
Ман танзимоти микротикро ҳангоми пайвастшавӣ тавассути WinBox тавсиф мекунам.
Калиди server-name.pub.pem-ро ба микротик бор кунед: Менюи "Файлҳо" - "Боркунӣ".
Бахши "IP" - "IP sec" - ҷадвали "Калидҳо" -ро кушоед. Ҳоло мо калидҳоро тавлид мекунем - тугмаи "Таҷдиди калид" ва сипас калиди ҷамъиятии микротикаи "Export Pub" -ро содир мекунем. Калид, шумо метавонед онро аз бахши "Файлҳо" зеркашӣ кунед, тугмаи рости мушро пахш кунед - "Зеркашӣ".
Мо калиди ҷамъиятии racoon-ро ворид мекунем, "Ворид", дар рӯйхати афтанда дар майдони "Номи файл" мо сервер-name.pub.pem-ро, ки қаблан бор карда будем, ҷустуҷӯ мекунем.
Калиди ҷамъиятии mikrotik бояд табдил дода шавад
plainrsa-gen -i mikrotik.pub.pem -f mikrotik.pub.key
ва онро дар папкаи /etc/racoon/certs гузоред, дар бораи соҳиб ва ҳуқуқҳо фаромӯш накунед.
конфигуратсияи racoon бо шарҳҳо: /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; # Сжимать передаваемые данные, алгоритм сжатия предлагается только один.
}
конфигуратсияи микротик
Бозгашт ба бахши "IP" - "IPsec"
Ҷадвали "Профилҳо"
Параметр
арзиши
ном
Бо ихтиёри шумо (бо нобаёнӣ)
Алгоритми ҳаш
ШАХНУН
Алгоритми рамзгузорӣ
aes-128
DH-гурӯҳ
modp2048
Санҷиши пешниҳод
Даъво
Умр
1г 00:00:00
NAT Traversal
дуруст (қуттичаро қайд кунед)
DPD
120
DPD Нокомии ҳадди аксар
5
Ҷадвали ҳамсолон
Параметр
арзиши
ном
Бо ихтиёри шумо (минбаъд MyPeer номида мешавад)
Нишонӣ
1.1.1.1 (мошинҳои IP Linux)
Суроғаи маҳаллӣ
10.0.0.2 (Интерфейси IP WAN микротик)
Чеҳра
Пешфарз
Усули мубодила
асосӣ
Пасванди
бардурӯғ
Ирсоли INITIAL_CONTACT
ҳақиқӣ
Ҷадвали пешниҳод
Параметр
арзиши
ном
Бо ихтиёри шумо (минбаъд MyPeerProposal номида мешавад)
Автор. Алгоритмҳо
ШАХНУН
Encr. Алгоритмҳо
aes-128-cbc
Умр
08:00:00
Гурӯҳи PFS
modp2048
Ҷадвали "Шахсиятҳо"
Параметр
арзиши
Ҳамсол
MyPeer
Атух. Усул
калиди rsa
калид
mikrotik.privet.key
Калиди дурдаст
server-name.pub.pem
Гурӯҳи Шаблонҳои Сиёсат
Пешфарз
Занҷири Нотрак
холӣ аст
Навъи ID ман
мошин
Навъи ID-и дурдаст
мошин
Match By
ID-и дурдаст
Танзимоти режим
холӣ аст
Эҷоди сиёсат
Не
Ҷадвали "Сиёсат - умумӣ"
Параметр
арзиши
Ҳамсол
MyPeer
нақби
ҳақиқӣ
Src. Суроға
192.168.0.0/30
Дест. Суроға
192.168.0.0/30
Протокол
255 (ҳама)
Шаблон
бардурӯғ
Ҷадвали "Сиёсат - Амал"
Параметр
арзиши
Чорабиниҳои
шифргузори
сатҳи
талаб мекунанд
Протоколҳои IPsec
Махсусан
Пешниҳод
MyPeerProposal
Эҳтимол, мисли ман, шумо дар интерфейси WAN-и худ snat/masquerade танзим кардаед; ин қоида бояд танзим карда шавад, то бастаҳои содиротии ipsec ба нақби мо ворид шаванд:
Ба қисмати "IP" - "Сивер" гузаред.
Ҷадвали "NAT", қоидаи snat/masquerade моро кушоед.
Ҷадвали пешрафта
Параметр
арзиши
Сиёсати IPsec
берун: нест
Аз нав оғоз кардани деви ракон
sudo systemctl restart racoon
Агар racoon ҳангоми бозоғозӣ оғоз накунад, пас дар конфигуратсия хатогӣ вуҷуд дорад; дар syslog, racoon маълумотро дар бораи рақами сатре, ки дар он хатогӣ ошкор шудааст, нишон медиҳад.
Вақте, ки OS пурбор мешавад, демони racoon пеш аз кушода шудани интерфейсҳои шабака оғоз мешавад ва мо дар бахши гӯш кардан варианти strict_addressро муайян кардем; шумо бояд воҳиди раконро ба файли systemd илова кунед
/lib/systemd/system/racoon.service, дар фасли [Воҳид], сатри After=network.target.
Акнун нақбҳои ipsec мо бояд боло бошанд, ба натиҷа нигаред:
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
Агар нақбҳо боло набошанд, ба syslog ё journalctl -u racoon нигаред.
Акнун ба шумо лозим аст, ки интерфейсҳои L3-ро танзим кунед, то трафикро масир кардан мумкин бошад. Вариантҳои гуногун мавҷуданд, мо IPIP-ро истифода хоҳем кард, зеро микротик онро дастгирӣ мекунад, ман vti -ро истифода мебарам, аммо, мутаассифона, он ҳанӯз дар mikrotik татбиқ нашудааст. Он аз IPIP бо он фарқ мекунад, ки он метавонад ба таври иловагӣ мултипликатсияро фаро гирад ва фwмаркҳоро ба пакетҳо гузорад, ки тавассути онҳо онҳоро дар iptables ва iproute2 (маршруткунии бар асоси сиёсат) филтр кардан мумкин аст. Агар ба шумо функсияи ҳадди аксар лозим бошад, пас, масалан, GRE. Аммо фаромӯш накунед, ки мо барои функсияҳои иловагӣ бо сари калон пардохт мекунем.
Шумо метавонед тарҷумаи шарҳи хуби интерфейсҳои нақбро бубинед
Дар 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
Акнун шумо метавонед хатсайрҳоро барои шабакаҳои паси mikrotik илова кунед
sudo ip route add A.B.C.D/Prefix via 192.168.255.2
Барои он ки интерфейс ва масирҳои мо пас аз бозоғозӣ баланд шаванд, мо бояд интерфейсро дар /etc/network/interfaces тавсиф кунем ва дар он ҷо хатсайрҳоро дар пас аз боло илова кунем ё ҳама чизро дар як файл нависед, масалан, /etc/ ipip-ipsec0.conf ва онро тавассути пас аз боло кашед, дар бораи соҳиби файл, ҳуқуқҳо фаромӯш накунед ва онро иҷрошаванда созед.
Дар зер як файли намунавӣ оварда шудааст
#!/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
Дар Микротик:
Бахши "Интерфейсҳо", интерфейси нави "Tunnel IP" илова кунед:
Ҷадвали "Нақби IP" - "Умумӣ"
Параметр
арзиши
ном
Бо ихтиёри шумо (минбаъд IPIP-IPsec0 номида мешавад)
MTU
1480 (агар муайян нашуда бошад, микротик ба буридани mtu ба 68 оғоз мекунад)
Суроғаи маҳаллӣ
192.168.0.2
Суроғаи дурдаст
192.168.0.1
Сирри IPsec
Майдонро ғайрифаъол кунед (дар акси ҳол як ҳамсоли нав эҷод мешавад)
Нигоҳдоранда
Майдонро ғайрифаъол кунед (дар акси ҳол интерфейс ҳамеша хомӯш мешавад, зеро микротика барои ин бастаҳо формати худро дорад ва бо Linux кор намекунад)
DSCP
меравам
Фрагментатсия накунед
Не
TCP MSS-ро пахш кунед
ҳақиқӣ
Роҳи зудро иҷозат диҳед
ҳақиқӣ
Бахши "IP" - "Адресҳо", суроғаро илова кунед:
Параметр
арзиши
Нишонӣ
192.168.0.2/30
интерфейс
IPIP-IPsec0
Акнун шумо метавонед хатсайрҳоро ба шабака дар паси мошини Linux илова кунед; ҳангоми илова кардани масир, шлюз интерфейси IPIP-IPsec0 мо хоҳад буд.
PS
Азбаски сервери Linux-и мо гузаранда аст, дар он танзим кардани параметри Clamp TCP MSS барои интерфейсҳои ipip маъно дорад:
файли /etc/iptables.conf бо мундариҷаи зерин эҷод кунед:
*mangle
-A POSTROUTING -o ipip+ -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
COMMIT
ва дар /etc/network/interfaces
post-up iptables-restore < /etc/iptables.conf
Ман nginx дар шабака дар паси mikrotik кор мекунад (ip 10.10.10.1), онро аз Интернет дастрас кунед ва онро ба /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
Фаромӯш накунед, ки иҷозатҳои мувофиқро ба iptables илова кунед, агар шумо филтрҳои пакетӣ фаъол бошед.
Саломат бошед!
Манбаъ: will.com