NAT ಪೂರೈಕೆದಾರರ ಹಿಂದೆ Linux ಯಂತ್ರ ಮತ್ತು Mikrotik ನಡುವಿನ IPIP IPsec VPN ಸುರಂಗ

ಲಿನಕ್ಸ್: ಉಬುಂಟು 18.04.4 LTS (GNU/Linux 4.15.0-91-generic 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. ಒದಗಿಸುವವರ ಬಾಹ್ಯ NAT IP ಕ್ರಿಯಾತ್ಮಕವಾಗಿದೆ.
  • ipip-ipsec0 192.168.0.2/30 ನಮ್ಮ ಸುರಂಗವಾಗಿರುತ್ತದೆ

ನಾವು ರಕೂನ್ ಅನ್ನು ಬಳಸಿಕೊಂಡು Linux ಗಣಕದಲ್ಲಿ IPsec ಸುರಂಗವನ್ನು ರಚಿಸುತ್ತೇವೆ. ನಾನು ವಿವರಗಳನ್ನು ವಿವರಿಸುವುದಿಲ್ಲ, ಒಳ್ಳೆಯದು ಇದೆ ಲೇಖನ у vvpoloskin.

ಅಗತ್ಯವಿರುವ ಪ್ಯಾಕೇಜ್‌ಗಳನ್ನು ಸ್ಥಾಪಿಸಿ:

sudo install racoon ipsec-tools

ನಾವು ರಕೂನ್ ಅನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡುತ್ತೇವೆ, ಇದು ಷರತ್ತುಬದ್ಧವಾಗಿ ipsec ಸರ್ವರ್ ಆಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ. ಮೈಕ್ರೊಟಿಕ್ ಮುಖ್ಯ ಮೋಡ್‌ನಲ್ಲಿ ಹೆಚ್ಚುವರಿ ಕ್ಲೈಂಟ್ ಐಡೆಂಟಿಫೈಯರ್ ಅನ್ನು ರವಾನಿಸಲು ಸಾಧ್ಯವಾಗದ ಕಾರಣ ಮತ್ತು ಲಿನಕ್ಸ್‌ಗೆ ಸಂಪರ್ಕಿಸುವ ಬಾಹ್ಯ IP ವಿಳಾಸವು ಡೈನಾಮಿಕ್ ಆಗಿರುವುದರಿಂದ, ಪೂರ್ವ ಹಂಚಿಕೆಯ ಕೀ (ಪಾಸ್‌ವರ್ಡ್ ಅಧಿಕಾರ) ಅನ್ನು ಬಳಸುವುದು ಕಾರ್ಯನಿರ್ವಹಿಸುವುದಿಲ್ಲ, ಏಕೆಂದರೆ ಪಾಸ್‌ವರ್ಡ್ ಅನ್ನು IP ವಿಳಾಸದೊಂದಿಗೆ ಹೊಂದಾಣಿಕೆ ಮಾಡಬೇಕು. ಸಂಪರ್ಕಿಸುವ ಹೋಸ್ಟ್, ಅಥವಾ ಗುರುತಿಸುವಿಕೆಯೊಂದಿಗೆ.

ನಾವು RSA ಕೀಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಅಧಿಕಾರವನ್ನು ಬಳಸುತ್ತೇವೆ.

ರಕೂನ್ ಡೀಮನ್ RSA ಸ್ವರೂಪದಲ್ಲಿ ಕೀಗಳನ್ನು ಬಳಸುತ್ತದೆ ಮತ್ತು mikrotik PEM ಸ್ವರೂಪವನ್ನು ಬಳಸುತ್ತದೆ. ನೀವು ರಕೂನ್‌ನೊಂದಿಗೆ ಬರುವ plainrsa-gen ಉಪಯುಕ್ತತೆಯನ್ನು ಬಳಸಿಕೊಂಡು ಕೀಗಳನ್ನು ರಚಿಸಿದರೆ, ನಂತರ ನೀವು Mikrotika ಗಾಗಿ ಸಾರ್ವಜನಿಕ ಕೀಲಿಯನ್ನು PEM ಸ್ವರೂಪಕ್ಕೆ ಅದರ ಸಹಾಯದಿಂದ ಪರಿವರ್ತಿಸಲು ಸಾಧ್ಯವಾಗುವುದಿಲ್ಲ - ಇದು ಒಂದು ದಿಕ್ಕಿನಲ್ಲಿ ಮಾತ್ರ ಪರಿವರ್ತಿಸುತ್ತದೆ: PEM ಗೆ RSA. Openssl ಅಥವಾ ssh-keygen ಗೆ plainrsa-gen ಮೂಲಕ ರಚಿಸಲಾದ ಕೀಲಿಯನ್ನು ಓದಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ, ಆದ್ದರಿಂದ ಅವುಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಪರಿವರ್ತನೆಯು ಸಾಧ್ಯವಾಗುವುದಿಲ್ಲ.

ನಾವು openssl ಅನ್ನು ಬಳಸಿಕೊಂಡು PEM ಕೀಲಿಯನ್ನು ರಚಿಸುತ್ತೇವೆ ಮತ್ತು ನಂತರ ಅದನ್ನು 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. ರಕೂನ್ ಡೀಮನ್ ಅನ್ನು ಯಾರ ಹೆಸರಿನಲ್ಲಿ ಪ್ರಾರಂಭಿಸಲಾಗಿದೆಯೋ (ಸಾಮಾನ್ಯವಾಗಿ ರೂಟ್) ಬಳಕೆದಾರರ ಮಾಲೀಕರನ್ನು 600 ಅನುಮತಿಗಳಿಗೆ ಹೊಂದಿಸಲು ಮರೆಯಬೇಡಿ.

WinBox ಮೂಲಕ ಸಂಪರ್ಕಿಸುವಾಗ ನಾನು mikrotik ಸೆಟಪ್ ಅನ್ನು ವಿವರಿಸುತ್ತೇನೆ.

mikrotik ಗೆ server-name.pub.pem ಕೀಯನ್ನು ಅಪ್‌ಲೋಡ್ ಮಾಡಿ: ಮೆನು “ಫೈಲ್ಸ್” - “ಅಪ್‌ಲೋಡ್”.

"IP" ವಿಭಾಗವನ್ನು ತೆರೆಯಿರಿ - "IP ಸೆಕೆಂಡ್" - "ಕೀಗಳು" ಟ್ಯಾಬ್. ಈಗ ನಾವು ಕೀಗಳನ್ನು ರಚಿಸುತ್ತೇವೆ - "ಜನರೇಟ್ ಕೀ" ಬಟನ್, ನಂತರ ಮೈಕ್ರೊಟಿಕಾ ಸಾರ್ವಜನಿಕ ಕೀ "ಎಕ್ಸ್‌ಪೋರ್ ಪಬ್ ಅನ್ನು ರಫ್ತು ಮಾಡಿ. ಕೀ", ನೀವು ಅದನ್ನು "ಫೈಲ್ಸ್" ವಿಭಾಗದಿಂದ ಡೌನ್‌ಲೋಡ್ ಮಾಡಬಹುದು, ಫೈಲ್ ಮೇಲೆ ಬಲ ಕ್ಲಿಕ್ ಮಾಡಿ - "ಡೌನ್‌ಲೋಡ್".

"ಫೈಲ್ ಹೆಸರು" ಕ್ಷೇತ್ರದ ಡ್ರಾಪ್-ಡೌನ್ ಪಟ್ಟಿಯಲ್ಲಿ ನಾವು ರಕೂನ್ ಪಬ್ಲಿಕ್ ಕೀ, "ಆಮದು" ಅನ್ನು ಆಮದು ಮಾಡಿಕೊಳ್ಳುತ್ತೇವೆ, ನಾವು ಈ ಹಿಂದೆ ಡೌನ್‌ಲೋಡ್ ಮಾಡಿದ server-name.pub.pem ಅನ್ನು ಹುಡುಕುತ್ತೇವೆ.

ಮೈಕ್ರೊಟಿಕ್ ಸಾರ್ವಜನಿಕ ಕೀಲಿಯನ್ನು ಪರಿವರ್ತಿಸುವ ಅಗತ್ಯವಿದೆ

plainrsa-gen -i mikrotik.pub.pem -f mikrotik.pub.key

ಮತ್ತು ಮಾಲೀಕರು ಮತ್ತು ಹಕ್ಕುಗಳ ಬಗ್ಗೆ ಮರೆಯದೆ, /etc/racoon/certs ಫೋಲ್ಡರ್‌ನಲ್ಲಿ ಇರಿಸಿ.

ಕಾಮೆಂಟ್‌ಗಳೊಂದಿಗೆ ರಕೂನ್ ಕಾನ್ಫಿಗರ್: /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"

"ಪ್ರೊಫೈಲ್" ಟ್ಯಾಬ್
ನಿಯತಾಂಕ
ಮೌಲ್ಯವನ್ನು

ಹೆಸರು
ನಿಮ್ಮ ವಿವೇಚನೆಯಿಂದ (ಡೀಫಾಲ್ಟ್ ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ)

ಹ್ಯಾಶ್ ಅಲ್ಗಾರಿದಮ್
sha512

ಗೂಢಲಿಪೀಕರಣ ಅಲ್ಗಾರಿದಮ್
aes-128

DH-ಗುಂಪು
modp2048

ಪ್ರಸ್ತಾವನೆ_ಪರಿಶೀಲನೆ
ಹಕ್ಕು

ಜೀವಮಾನ
1ಡಿ 00:00:00

NAT ಟ್ರಾವರ್ಸಲ್
ನಿಜ (ಪೆಟ್ಟಿಗೆಯನ್ನು ಪರಿಶೀಲಿಸಿ)

ಡಿಪಿಡಿ
120

DPD ಗರಿಷ್ಠ ವೈಫಲ್ಯ
5

ಪೀರ್ಸ್ ಟ್ಯಾಬ್
ನಿಯತಾಂಕ
ಮೌಲ್ಯವನ್ನು

ಹೆಸರು
ನಿಮ್ಮ ವಿವೇಚನೆಯಿಂದ (ಇನ್ನು ಮುಂದೆ MyPeer ಎಂದು ಉಲ್ಲೇಖಿಸಲಾಗುತ್ತದೆ)

ವಿಳಾಸ
1.1.1.1 (IP Linux ಯಂತ್ರಗಳು)

ಸ್ಥಳೀಯ ವಿಳಾಸ
10.0.0.2 (IP WAN ಇಂಟರ್ಫೇಸ್ ಮೈಕ್ರೊಟಿಕ್)

ಪ್ರೊಫೈಲ್
ಡೀಫಾಲ್ಟ್

ವಿನಿಮಯ ಮೋಡ್
ಮುಖ್ಯ

ನಿಷ್ಕ್ರಿಯ
ಸುಳ್ಳು

INITIAL_CONTACT ಅವರನ್ನು ಕಳುಹಿಸಿ
ನಿಜವಾದ

ಪ್ರಸ್ತಾವನೆಯ ಟ್ಯಾಬ್
ನಿಯತಾಂಕ
ಮೌಲ್ಯವನ್ನು

ಹೆಸರು
ನಿಮ್ಮ ವಿವೇಚನೆಯಿಂದ (ಇನ್ನು ಮುಂದೆ MyPeerProposal ಎಂದು ಉಲ್ಲೇಖಿಸಲಾಗುತ್ತದೆ)

ದೃಢೀಕರಣ. ಕ್ರಮಾವಳಿಗಳು
sha512

ಎನ್ಸಿಆರ್ ಕ್ರಮಾವಳಿಗಳು
aes-128-cbc

ಜೀವಮಾನ
08:00:00

PFS ಗುಂಪು
modp2048

"ಗುರುತುಗಳು" ಟ್ಯಾಬ್
ನಿಯತಾಂಕ
ಮೌಲ್ಯವನ್ನು

ಪೀರ್
ಮೈಪೀರ್

ಅತುಃ. ವಿಧಾನ
ಆರ್ಎಸ್ಎ ಕೀ

ಕೀ
mikrotik.privet.key

ರಿಮೋಟ್ ಕೀ
ಸರ್ವರ್-ಹೆಸರು.pub.pem

ನೀತಿ ಟೆಂಪ್ಲೇಟ್ ಗುಂಪು
ಡೀಫಾಲ್ಟ್

ನಾಟ್ರಾಕ್ ಚೈನ್
ಖಾಲಿ

ನನ್ನ ಐಡಿ ಪ್ರಕಾರ
ಕಾರು

ರಿಮೋಟ್ ಐಡಿ ಪ್ರಕಾರ
ಕಾರು

ಮೂಲಕ ಹೊಂದಾಣಿಕೆ
ರಿಮೋಟ್ ಐಡಿ

ಮೋಡ್ ಕಾನ್ಫಿಗರೇಶನ್
ಖಾಲಿ

ನೀತಿಯನ್ನು ರಚಿಸಿ
ಇಲ್ಲ

ಟ್ಯಾಬ್ "ನೀತಿಗಳು - ಸಾಮಾನ್ಯ"
ನಿಯತಾಂಕ
ಮೌಲ್ಯವನ್ನು

ಪೀರ್
ಮೈಪೀರ್

ಸುರಂಗ
ನಿಜವಾದ

Src. ವಿಳಾಸ
192.168.0.0/30

ಡೆಸ್ಟ್. ವಿಳಾಸ
192.168.0.0/30

ಪ್ರೋಟೋಕಾಲ್
255 (ಎಲ್ಲ)

ಟೆಂಪ್ಲೇಟು
ಸುಳ್ಳು

ಟ್ಯಾಬ್ "ನೀತಿಗಳು - ಕ್ರಿಯೆ"
ನಿಯತಾಂಕ
ಮೌಲ್ಯವನ್ನು

ಕ್ರಿಯೆ
ಎನ್‌ಕ್ರಿಪ್ಟ್ ಮಾಡಿ

ಮಟ್ಟ
ಅಗತ್ಯವಿರುತ್ತದೆ

IPsec ಪ್ರೋಟೋಕಾಲ್‌ಗಳು
ಇಎಸ್ಪಿ

ಪ್ರಸ್ತಾಪ
MyPeerProposal

ಹೆಚ್ಚಾಗಿ, ನನ್ನಂತೆಯೇ, ನಿಮ್ಮ WAN ಇಂಟರ್ಫೇಸ್‌ನಲ್ಲಿ ನೀವು ಸ್ನ್ಯಾಟ್/ಮಾಸ್ಕ್ವೆರೇಡ್ ಅನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಿದ್ದೀರಿ; ಹೊರಹೋಗುವ ipsec ಪ್ಯಾಕೆಟ್‌ಗಳು ನಮ್ಮ ಸುರಂಗಕ್ಕೆ ಹೋಗುವಂತೆ ಈ ನಿಯಮವನ್ನು ಸರಿಹೊಂದಿಸಬೇಕಾಗಿದೆ:
"IP" - "ಫೈರ್ವಾಲ್" ವಿಭಾಗಕ್ಕೆ ಹೋಗಿ.
"NAT" ಟ್ಯಾಬ್, ನಮ್ಮ ಸ್ನ್ಯಾಟ್/ಮಾಸ್ಕ್ವೆರೇಡ್ ನಿಯಮವನ್ನು ತೆರೆಯಿರಿ.

ಸುಧಾರಿತ ಟ್ಯಾಬ್
ನಿಯತಾಂಕ
ಮೌಲ್ಯವನ್ನು

IPsec ನೀತಿ
ಹೊರಗೆ: ಯಾವುದೂ ಇಲ್ಲ

ರಕೂನ್ ರಾಕ್ಷಸವನ್ನು ಮರುಪ್ರಾರಂಭಿಸಲಾಗುತ್ತಿದೆ

sudo systemctl restart racoon

ಮರುಪ್ರಾರಂಭಿಸಿದ ನಂತರ ರಕೂನ್ ಪ್ರಾರಂಭವಾಗದಿದ್ದರೆ, ಸಂರಚನೆಯಲ್ಲಿ ದೋಷವಿದೆ; ಸಿಸ್ಲಾಗ್‌ನಲ್ಲಿ, ರಕೂನ್ ದೋಷ ಪತ್ತೆಯಾದ ಸಾಲಿನ ಸಂಖ್ಯೆಯ ಮಾಹಿತಿಯನ್ನು ಪ್ರದರ್ಶಿಸುತ್ತದೆ.

OS ಬೂಟ್ ಮಾಡಿದಾಗ, ನೆಟ್‌ವರ್ಕ್ ಇಂಟರ್‌ಫೇಸ್‌ಗಳನ್ನು ತರುವ ಮೊದಲು ರಕೂನ್ ಡೀಮನ್ ಪ್ರಾರಂಭವಾಗುತ್ತದೆ, ಮತ್ತು ನಾವು ಆಲಿಸುವ ವಿಭಾಗದಲ್ಲಿ 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

ಸುರಂಗಗಳು ಮೇಲಕ್ಕೆ ಹೋಗದಿದ್ದರೆ, ಸಿಸ್ಲಾಗ್ ಅಥವಾ ಜರ್ನಲ್ಕ್ಟ್ಲ್ -ಯು ರಕೂನ್ ಅನ್ನು ನೋಡಿ.

ಈಗ ನೀವು L3 ಇಂಟರ್‌ಫೇಸ್‌ಗಳನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಬೇಕಾಗುತ್ತದೆ ಇದರಿಂದ ಟ್ರಾಫಿಕ್ ಅನ್ನು ರೂಟ್ ಮಾಡಬಹುದು. ವಿಭಿನ್ನ ಆಯ್ಕೆಗಳಿವೆ, ನಾವು IPIP ಅನ್ನು ಬಳಸುತ್ತೇವೆ, ಏಕೆಂದರೆ mikrotik ಅದನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ, ನಾನು vti ಅನ್ನು ಬಳಸುತ್ತೇನೆ, ಆದರೆ, ದುರದೃಷ್ಟವಶಾತ್, ಇದು mikrotik ನಲ್ಲಿ ಇನ್ನೂ ಕಾರ್ಯಗತಗೊಂಡಿಲ್ಲ. ಇದು IPIP ಯಿಂದ ಭಿನ್ನವಾಗಿದೆ, ಅದು ಹೆಚ್ಚುವರಿಯಾಗಿ ಮಲ್ಟಿಕಾಸ್ಟ್ ಅನ್ನು ಆವರಿಸುತ್ತದೆ ಮತ್ತು ಪ್ಯಾಕೆಟ್‌ಗಳ ಮೇಲೆ fwmarks ಅನ್ನು ಹಾಕುತ್ತದೆ, ಅದರ ಮೂಲಕ ಅವುಗಳನ್ನು 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

Mikrotik ನಲ್ಲಿ:

ವಿಭಾಗ "ಇಂಟರ್ಫೇಸ್ಗಳು", ಹೊಸ ಇಂಟರ್ಫೇಸ್ "ಐಪಿ ಸುರಂಗ" ಸೇರಿಸಿ:

ಟ್ಯಾಬ್ "IP ಸುರಂಗ" - "ಸಾಮಾನ್ಯ"
ನಿಯತಾಂಕ
ಮೌಲ್ಯವನ್ನು

ಹೆಸರು
ನಿಮ್ಮ ವಿವೇಚನೆಯಿಂದ (ಇನ್ನು ಮುಂದೆ IPIP-IPsec0 ಎಂದು ಉಲ್ಲೇಖಿಸಲಾಗುತ್ತದೆ)

ಎಂಟಿಯು
1480 (ನಿರ್ದಿಷ್ಟಪಡಿಸದಿದ್ದಲ್ಲಿ, mikrotik mtu ಅನ್ನು 68 ಕ್ಕೆ ಕತ್ತರಿಸಲು ಪ್ರಾರಂಭಿಸುತ್ತದೆ)

ಸ್ಥಳೀಯ ವಿಳಾಸ
192.168.0.2

ರಿಮೋಟ್ ವಿಳಾಸ
192.168.0.1

IPsec ರಹಸ್ಯ
ಕ್ಷೇತ್ರವನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿ (ಇಲ್ಲದಿದ್ದರೆ ಹೊಸ ಪೀರ್ ಅನ್ನು ರಚಿಸಲಾಗುತ್ತದೆ)

ಕೀಪಾಲ್
ಕ್ಷೇತ್ರವನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿ (ಇಲ್ಲದಿದ್ದರೆ ಇಂಟರ್ಫೇಸ್ ನಿರಂತರವಾಗಿ ಆಫ್ ಆಗುತ್ತದೆ, ಏಕೆಂದರೆ ಮೈಕ್ರೊಟಿಕಾ ಈ ಪ್ಯಾಕೇಜ್‌ಗಳಿಗೆ ತನ್ನದೇ ಆದ ಸ್ವರೂಪವನ್ನು ಹೊಂದಿದೆ ಮತ್ತು ಲಿನಕ್ಸ್‌ನೊಂದಿಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುವುದಿಲ್ಲ)

ಡಿಎಸ್‌ಸಿಪಿ
ಆನುವಂಶಿಕವಾಗಿ

ತುಣುಕು ಮಾಡಬೇಡಿ
ಇಲ್ಲ

ಕ್ಲಾಂಪ್ TCP MSS
ನಿಜವಾದ

ವೇಗದ ಮಾರ್ಗವನ್ನು ಅನುಮತಿಸಿ
ನಿಜವಾದ

ವಿಭಾಗ "IP" - "ವಿಳಾಸಗಳು", ವಿಳಾಸವನ್ನು ಸೇರಿಸಿ:

ನಿಯತಾಂಕ
ಮೌಲ್ಯವನ್ನು

ವಿಳಾಸ
192.168.0.2/30

ಇಂಟರ್ಫೇಸ್
IPIP-IPsec0

ಈಗ ನೀವು Linux ಯಂತ್ರದ ಹಿಂದಿನ ನೆಟ್‌ವರ್ಕ್‌ಗೆ ಮಾರ್ಗಗಳನ್ನು ಸೇರಿಸಬಹುದು; ಮಾರ್ಗವನ್ನು ಸೇರಿಸುವಾಗ, ಗೇಟ್‌ವೇ ನಮ್ಮ IPIP-IPsec0 ಇಂಟರ್ಫೇಸ್ ಆಗಿರುತ್ತದೆ.

PS

ನಮ್ಮ Linux ಸರ್ವರ್ ಟ್ರಾನ್ಸಿಟಿವ್ ಆಗಿರುವುದರಿಂದ, ಅದರ ಮೇಲೆ ipip ಇಂಟರ್ಫೇಸ್‌ಗಳಿಗಾಗಿ ಕ್ಲಾಂಪ್ TCP MSS ಪ್ಯಾರಾಮೀಟರ್ ಅನ್ನು ಹೊಂದಿಸಲು ಇದು ಅರ್ಥಪೂರ್ಣವಾಗಿದೆ:

ಕೆಳಗಿನ ವಿಷಯಗಳೊಂದಿಗೆ /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

ನಾನು mikrotik (ip 10.10.10.1) ಹಿಂದೆ ನೆಟ್‌ವರ್ಕ್‌ನಲ್ಲಿ nginx ಚಾಲನೆಯಲ್ಲಿದೆ, ಅದನ್ನು ಇಂಟರ್ನೆಟ್‌ನಿಂದ ಪ್ರವೇಶಿಸುವಂತೆ ಮಾಡಿ, ಅದನ್ನು /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 ಗೆ ಸೂಕ್ತವಾದ ಅನುಮತಿಗಳನ್ನು ಸೇರಿಸಲು ಮರೆಯಬೇಡಿ.

ಆರೋಗ್ಯಕರವಾಗಿರಿ!

ಮೂಲ: www.habr.com

ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ