ααΈαα»α : α’ααΌααα»αααΌ 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 ααΉαααααΆαααΆααααΌαααΌααααααααΈααααααΎα
ααΎαααΉααααααΎαααααΌαααΌααααααααΈ IPsec αα
ααΎαααΆαααΈαααΈαα»α
αααααααΎ racoon α αααα»αβααΉαβαα·αβαααααΆααβαααα’α·αβααβααΊβααα’βαα½αβ
ααα‘αΎααααα ααα αΆαααΆα αα
sudo install racoon ipsec-tools
ααΎαααααααα ααΆαααααααα racoon ααΆααΉαααΎααα½ααΆαααΆαααΈααα ipsec ααΆαααααααααα αααααΆα mikrotik αααα»ααααααααααα·αα’αΆα αααααΌααααααα·ααΈαααααα’ααααααααΆαα’αα·αα·ααααααααααΆααα α αΎαα’αΆααααααΆα IP ααΆααααα αααααΆααααΆαααα ααΈαα»α ααΊααΆααααα ααΆαααααΎαααααααΆαα αααααααααΆαα»α (ααΆαα’αα»ααααΆαααΆααααααααΆαα) ααΉααα·αααααΎαααΆααα αααααααΆααααααααΆααααααΌαααααααΌαααααΆααΆαα½αα’αΆααααααΆα IP αααα αααΆαααΈααααααΆαα α¬ααΆαα½αα§ααααααααααα’ααααααααΆαα
ααΎαααΉαααααΎααΆαα’αα»ααααΆααααααααΎααααΆααα α»α RSA α
αααα·α racoon ααααΎααααΆααα α»α αααα»ααααααα RSA α αΎα mikrotik ααααΎαααααα PEM α ααααα·αααΎα’ααααααααΎααααααααααΎα§αααααααααΎααααΆααααααααΆαααααααΆααααααΆαα½α racoon αααα’αααααΉααα·αα’αΆα αααααααααααΆααΆααααααααΆαα Mikrotika αα ααΆαααααα PEM αααααΆααααα½αααααααΆαα - ααΆααααααααααααα»ααα·ααα αα½αααα»αααααα PEM αα RSA α ααΆαα openssl α¬ ssh-keygen αα·αα’αΆα α’αΆααααααααΆααααααΎαααα plainrsa-gen ααΆααα ααΌα ααααααΆααααααααααΉααα·αα’αΆα ααααΎαα½αααΆααΆαααα
ααΎαααΉααααααΎαααΌααα PEM αααααααΎ openssl α αΎααααααΆααααααααααααΆαααααΆαα racoon αααααααΎ plinrsa-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 ααααΌαααΆαααΎαααααΎαααΆα (ααΆααααααΆααΆ root) ααα 600 αα·αααα·α
αααα»αααΉααααααΆααα’αααΈααΆαααα‘αΎα mikrotik αα αααααααΆααααΆαααα WinBox α
αααα ααααΌααα server-name.pub.pem αα ααΆαα mikrotikα αααΊαα»α "α―αααΆα" - "αααα»αα‘αΎα" α
ααΎαααααα "IP" - "IP sec" - ααααΆαα "ααααΆααα α»α " α α₯α‘αΌααααααΎααααααΎααα - αααΌαα»α "αααααΎααα" αααααΆααααααΆαα ααααααΆααΆααα mikrotika "Expor Pub α αααααΉα" α’αααα’αΆα ααΆαααααΆααΈααααα "α―αααΆα" α α»α ααΆαααααΆαααΎα―αααΆα - "ααΆααα" α
ααΎαααΆαα αΌαααΌαααααΆααΆααααααα racoon "ααΆαα αΌα" αα αααα»ααααααΈαααααΆααα α»αααααΆα "αααααα―αααΆα" ααΎαααααΎα server-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; # Π‘ΠΆΠΈΠΌΠ°ΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΡΠ΅ Π΄Π°Π½Π½ΡΠ΅, Π°Π»Π³ΠΎΡΠΈΡΠΌ ΡΠΆΠ°ΡΠΈΡ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½.
}
ααΆαααααααα ααΆαααααααα mikrotik
αααα‘αααα ααααα "IP" - "IPsec"
ααααΆαα "αααααααα·ααΌα"
αααΆαααΆαααααα
ααααα
ααααα
ααΆαααΆααααααα
α
α·αααααααα’ααα (ααΆαααααΆαααΎα)
αααα½ααααααααΆα Hash
sha512
αααα½ααααααααΆαααΆαα’αα·αααααΈα
aes-128
DH-αααα»α
modp2048
Proposhal_check
ααΆαααΆαααΆα
ααΈαα·α
1d 00:00:00
NAT ααααααΆαα
αα·α (ααΈααααα’αα)
DPD
120
DPD αααΆαααα’αα·ααααΆ
5
ααααΆαααα·αααααααα·
αααΆαααΆαααααα
ααααα
ααααα
ααΆααααααΆαα»αα·αααα·ααααα’ααα (ααα
αααα α
ααΆ MyPeer)
α’αΆαααααααΆα
1.1.1.1 (αααΆαααΈα IP ααΈαα»α
)
α’αΆαααααααΆααααα»ααααα»α
10.0.0.2 (α
ααα»α
αααααΆαα IP WAN mikrotik)
αααααααα·ααΌα
ααααΆαααΎα
ααααααααΆααααααΌα
ααααΆαα
α’αααα
αα·ααα·α
ααααΎ INITIAL_CONTACT
ααΆααΆααα·α
ααααΆααααααΎ
αααΆαααΆαααααα
ααααα
ααααα
ααΆααααααΆαα»αα·αααα·ααααα’ααα (ααα
αααα α
ααΆ MyPeerProposal)
αα·αααα·α αααα½ααααααααΆα
sha512
Encr. αααα½ααααααααΆα
aes-128-cbc
ααΈαα·α
08:00:00
αααα»α PFS
modp2048
ααααΆαα "α’ααααααααΆα"
αααΆαααΆαααααα
ααααα
αα·αααααααααα
MyPeer
α’αΆαα αα·ααΈααΆααααα
αα rsa
αααααΉα
mikrotik.privet.key
ααααΈα
ααααΆα
server-name.pub.pem
αααα»αααααΌααααααααΆα
ααααΆαααΎα
αααααααααΆαα Notrack
ααα
ααααααααααααααΆαααααααααα»α
αααααα
ααααααααααααααΆααααΈα
ααααΆα
αααααα
ααααα½αααα
ααααααααΆααααΈα
ααααΆα
ααΆαααααααα
ααΆαααααααααααα
ααα
αααααΎααααααΆααα
αα
ααααΆαα "αααααΆααα - ααΌαα
"
αααΆαααΆαααααα
ααααα
αα·αααααααααα
MyPeer
ααααΌααααααααΈ
ααΆααΆααα·α
Src. α’αΆαααααααΆα
192.168.0.0/30
αααα α’αΆαααααααΆα
192.168.0.0/30
αα·ααΈααΆα
255 (ααΆααα’αα)
αααααααααΌ
αα·ααα·α
ααααΆαα "αααααΆααα - αααααααΆα"
αααΆαααΆαααααα
ααααα
αααααααΆα
α’αα·αααααΈα
ααααα·α
ααΆαααΆα
αα·ααΈααΆα IPsec
αα·ααα
ααααΎ
MyPeerProposal
ααΆαα
αααΎαααΌα
αααα»αααα α’αααααΆαααααααα
ααΆαααααααα snat/masquerade αα
ααΎα
ααα»α
αααααΆαα WAN ααααα’ααα α
αααΆαααααα
αΆαααΆα
αααααΌααααααααΌαααΎααααΈα±αααααα
ααααααααΆα ipsec α
ααα
αΌααα
αααα»αααααΌαααΌααααααααΈααααααΎαα
α
αΌααα
ααΆααααααα "IP" - "αααααΆααααααΎα" α
ααααΆαα "NAT" ααΎαα
αααΆαα snat/masquerade ααααααΎαα
ααααΆααααααα·αααααα
αααΆαααΆαααααα
ααααα
αααααΆααα IPsec
α
ααα ααααΆα
α αΆααααααΎααα·ααΆα racoon α‘αΎααα·α
sudo systemctl restart racoon
ααααα·αααΎ racoon αα·αα αΆααααααΎααα αααα αΆααααααΎαα‘αΎααα·α αααααΆαααα α»ααα αααα»αααΆαααααα α αΎααα αααα»α syslog racoon αααα αΆαααααααΆαα’αααΈααααααααΆαααααααα α»αααααΌαααΆαααααΎαα
αα
αααααα OS α
αΆααααααΎα αααα·α racoon α
αΆααααααΎα αα»ααααα
ααα»α
αααααΆαααααααΆαααααΌαααΆαααΎαα‘αΎα α αΎαααΎαααΆααααααΆαααααααΎα strict_address αα
αααα»ααααααααααΆαα α’αααααααΌαααααααα―αααΆ racoon αα
α―αααΆα systemd
/lib/systemd/system/racoon.service αα
αααα»αααααα [Unit] αααααΆαα 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 αααααΆα mikrotik ααΆααααααΆ αααα»αααΉαααααΎ vti ααα»ααααααΆα’αα»ααααΆαα·αααΆααααααΌαααΆαα’αα»αααααα αααα»α mikrotik ααα ααΆαα»αααααΆααΈ IPIP αααααααΆ ααΆα’αΆα αααααααα»αααΆα multicast αα·αααΆαα fwmarks ααΎαααα ααααααααΆα ααααα½αααΆα’αΆα αααααααα»α iptables αα·α iproute2 (ααΆααααααΌαααΆααααααΆααα)α ααααα·αααΎα’αααααααΌαααΆααα»αααΆαα’αα·ααααΆ αααα§ααΆα ααα GRE α ααα»αααααα»αααααα ααΆααΎαα αααΆααααααΆαααα»αααΆαααααααααΆαα½αααΉαααααΆαααα
α’αααα’αΆα
ααΎαααΎαααΆαααααααααααΆααα·αα·αααα‘αΎααα·αααααα’ααα
ααα»α
αααααΆααααααΌαααΌααααααααΈ
αα ααΎααΈαα»α α
# Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ
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"α
ααααΆαα "ααααΌαααΌααααααααΈ IP" - "ααΌαα
"
αααΆαααΆαααααα
ααααα
ααααα
ααΆααααααΆαα»αα·αααα·ααααα’ααα (ααα
αααα α
ααΆ IPIP-IPsec0)
αα»αααα
1480 (ααααα·αααΎαα·αααΆααααααΆαα mikrotik α
αΆααααααΎαααΆαα mtu ααα 68)
α’αΆαααααααΆααααα»ααααα»α
192.168.0.2
α’αΆααααααΆαααΈα
ααααΆα
192.168.0.1
αααααΆαα IPsec
αα·αααααΎαααΆαααΆα (ααΎαα·αααΌα
αααααα Peer ααααΈααΉαααααΌαααΆααααααΎα)
αααααΆβααΈαα·α
α’αααααααΆα (ααΎαα·αααΌα
αααααα α
ααα»α
αααααΆααααΉααα·αααΆαα·α
αα
αααααΆα mikrotika ααΆαααααααααααΆαααααα½ααααααΆαααααα
ααααΆααααα α αΎααα·αααααΎαααΆαααΆαα½αααΈαα»α
)
ααΈα αααΈα αααΈα ααΈ
αααα
αα»αααααα
αα
ααα TCP MSS
ααΆααΆααα·α
α’αα»ααααΆαα±ααααααΌαααΏα
ααΆααΆααα·α
ααααα "IP" - "α’αΆααααααΆα" ααααααα’αΆααααααΆα:
αααΆαααΆαααααα
ααααα
α’αΆαααααααΆα
192.168.0.2/30
α
ααα»α
αααααΆαα
IPIP-IPsec0
α₯α‘αΌαααα α’αααα’αΆα ααααααααααΌααα ααΆαααααααΆααα ααΈααααααααΆαααΈαααΈαα»α αα αααααααααααααΌα α αααααααΌαααΉαααΆα ααα»α αααααΆαα IPIP-IPsec0 ααααααΎαα
PS
αααααΆααααΆαααΈαααααΈαα»α ααααααΎαααΆαααααααα’ααααααΆα ααΆααα ααα»αααααα»αααΆαααααααααΆαααΆαααααα 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 ααααα·αααΎα’αααααΆαααΎαααααΎαααΆα packet filtersα
αααααΆαααα’ααα!
ααααα: www.habr.com