OpenSWAN
Z wiki linux-user
Linia 28: | Linia 28: | ||
ip zew 81.192.0.186 | ip zew 81.192.0.186 | ||
lokalna sieć 10.0.0.0/16 | lokalna sieć 10.0.0.0/16 | ||
− | + | '''oddział B''' | |
serwer linux | serwer linux | ||
ip zew 81.192.0.185 | ip zew 81.192.0.185 | ||
Linia 80: | Linia 80: | ||
==== znaczenie opcji ==== | ==== znaczenie opcji ==== | ||
− | authby=rsasig uwierzytelnianie za pomocą RSA | + | *'''authby=rsasig''' uwierzytelnianie za pomocą RSA |
− | left=81.192.0.186 lokalny adres rutera serwera A | + | *'''left=81.192.0.186''' lokalny adres rutera serwera A |
− | leftsubnet=10.0.0.0/16 sieć LAN za ruterem serwera A | + | *'''leftsubnet=10.0.0.0/16''' sieć LAN za ruterem serwera A |
− | leftrsasigkey=O8wq3… klucz publiczny serwera A | + | *'''leftrsasigkey=O8wq3…''' klucz publiczny serwera A |
− | right=81.192.0.185 ip bramy serwera B | + | *'''right=81.192.0.185''' ip bramy serwera B |
− | rightsubnet=10.1.0.0/16 sieć LAN za serwerem B | + | *'''rightsubnet=10.1.0.0/16''' sieć LAN za serwerem B |
− | rightrsasigkey=8qw9Hwdf… klucz publiczny serwera B | + | *'''rightrsasigkey=8qw9Hwdf…''' klucz publiczny serwera B |
+ | |||
+ | === Generowanie kluczy RSA === | ||
+ | Musimy wygenerować odpowiednie klucze potrzebne do autoryzacji serwerów. Aby to uczynić wydajemy odpowiednie polecenia na obu serwerach | ||
+ | ipsec rsasigkey 1024 > /etc/ipsec.d/rsa.key | ||
+ | jeżeli po tym poleceniu dostajemy błąd w stylu | ||
+ | ipsec rsasigkey: configdir is required | ||
+ | możemy użyć polecenia w inny sposób | ||
+ | ipsec rsasigkey 1024 --configdir /etc/pki/nssdb/ > /etc/ipsec.d/rsa.key | ||
+ | Po wygenerowaniu kluczy na obu serwerach należy przekopiować klucz publiczny, który zaczyna się od opcji ''pubkey=…'' do pliku ''/etc/ipsec.conf'' w miejsce przy opcji ''leftrsasigkey=….'' W taki sam sposób musisz przekopiować klucz publiczny '''serwera A''' na '''serwer B''' do pliku ''/etc/ipsec.conf/'' w miejsce opcji ''rightrsasigkey=…'' i w analogiczny sposób z '''serwera B''' na '''serwer A'''. Kolejnym krokiem jest przekopiowanie w odpowiednie miejsce klucza prywatnego. Aby to uczynić edytujemy plik ''/etc/ipsec.secrets'' zmieniamy go w następujący sposób, kopiując z pliku ''/etc/ipsec.d/rsa.key'' sekcje od ''Modules:'' do końca pliku | ||
+ | |||
+ | '''serwer A''' | ||
+ | vim /etc/ipsec.secrets | ||
+ | 81.192.0.186 81.192.0.185: RSA { | ||
+ | Modulus:0xb10c2d1d1b87d51b919e2f7e550ff83d57fa776e74b88f559659857fdfa | ||
+ | 61d0fbb27a9ac7da9671d97283aa8258ca922267fc83d9b68219d71b2f3999ce49349 | ||
+ | d904ed1f887928ga722b85b281306e4f977604b74fcf1ef50ca147d52ad95d0fc3cc4 | ||
+ | 7e8e6992a511ebfbba0d43360a6ae4c399e4beea3559b763d556fbb0785 | ||
+ | PublicExponent: 0x03 | ||
+ | # everything after this point is CKA_ID in hex format when using NSS | ||
+ | PrivateExponent: 0x2xc949962dadb0f6eef6b2e2cea15274d5d0c48f | ||
+ | Prime1: 0x2xc949962dadb0f6eef6b2e2cea15274d5r0c48f | ||
+ | Prime2: 0x2xc949962dadb0f6eef6b2e2cea15274d5r0c48f | ||
+ | Exponent1: 0x2xc949962dadb0f6eef6b2e2cea15274d5r0c48f | ||
+ | Exponent2: 0x2xc949962dadb0f6eef6b2e2cea15274d5r0c48f | ||
+ | Coefficient: 0x2xc949962dadb0f6eef6b2e2cea15274d5r0c48f | ||
+ | CKAIDNSS: 0x2xc949962dadb0f6eef6b2e2cea15274d5r0c48f | ||
+ | }Tak samo postępujemy na '''serwerze B''' zmieniając jedynie kolejność adresów IP. Pierwszy IP wskazuje na maszyne lokalną następny na maszyne odległą. | ||
+ | |||
+ | === Operacje końcowe === | ||
+ | |||
+ | Aby zweryfikować poprawność naszej konfiguracji włączamy '''ipsec''' na obu serwerach | ||
+ | /etc/init.d/ipsec start | ||
+ | lub | ||
+ | ipsec setup start | ||
+ | a następnie wydajemy polecenie | ||
+ | ipsec verify | ||
+ | jeżeli dostajemy błąd typu | ||
+ | NETKEY detected, testing for disabled ICMP send_redirects [FAILED] | ||
+ | NETKEY detected, testing for disabled ICMP accept_redirects [FAILED] | ||
+ | musimy wyłączyć send_redirects oraz accept_redirects dla ICMP, wydajemy polecenie | ||
+ | echo 0 > /proc/sys/net/ipv4/conf/default/accept_redirects | ||
+ | echo 0 > /proc/sys/net/ipv4/conf/default/send_redirects | ||
+ | jeżeli wszystko ruszyło jak należy możemy rozpocząć połączenie wydając polecenie | ||
+ | ipsec auto --up linux-to-linux | ||
+ | w tym słowo ''linux-to-linux'' jest nazwą połączenia zawartą w pliku ''/etc/ipsec.conf''. Po tych operacjach powinniśmy mieć możliwość połączenia się z '''bramy A''' do '''bramy B''' i na odwrót. Aby zweryfikować czy napewno wszystko poszło jak należy i jesteśmy połączeni z '''serwerem B''' możemy wydać polecenie | ||
+ | ip xfrm state | ||
+ | Do rozwiązania ewentualnych problemów może pomóc nam polecenie | ||
+ | ipsec auto --status | ||
+ | |||
+ | <br /><google1 style="4"></google1> |