16 marca 2016

Klient OpenVPN - pierwsze kroki

Postawienie dobrze zabezpieczonego połączenia VPN, jest jak się okazuje czynnością dość pracochłonną. Szczególnie warty uwagi jest pierwszy link, który opowiada o dobrym zabezpieczeniu całej usługi:
Moje pierwsze kroki, sprowadziły się do rozwiązania kilku problemów, związanych z systemem operacyjnym (Ubuntu) jak i usługodawcą VPN. Pierwsza próba odpalenia zakończyła się błędem:
Wed Mar 16 10:10:10 2016 ERROR: Cannot ioctl TUNSETIFF tap: Operation not permitted (errno=1)
Wed Mar 16 10:10:10 2016 Exiting due to fatal error
A więc klient, musi w jakiś sposób uzyskać prawa super użytkownika, aby działać na urządzeniu tun/tab, na co jest kilka rozwiązań:
Najprościej jest oczywiście, gdy posiadamy prawa root-a. Możemy wtedy wykonać komendę (gdzie w pliku secret.txt, w kolejnych linijkach zapisany jest login i hasło):
openvpn --config vpn_provider/conf.ovpn --ca vpn_provider/ca.crt \
        --auth-nocache --auth-user-pass secret.txt
Kolejny problem, z którym się spotkałem to niedziałające DNS-y. Czasami usługodawca VPN nie oferuje takiej usługi ze swojej strony, a ISP nie zgadza się na łączenie ze swoimi serwerami DNS, dla osób spoza sieci. DNS-owe zapytania, można przerzucić na router (192.168.1.1), co może nie być najlepszym pomysłem ze względów bezpieczeństwa, można też skorzystać z publicznych serwerów DNS (np. google). Nie wiem jak dokładnie wybierane są serwery DNS-owe z pliku /etc/resolve.conf, przez aplikacje, ale to co zaobserwowałem (przynajmniej w stosunku do komendy ping), warto wpisy o nowych serwerach podać jako pierwsze.
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 8.8.8.8
namseerver 8.8.4.4

1 komentarz: