Różnice między wybraną wersją a wersją aktualną.
| Poprzednia rewizja po obu stronachPoprzednia wersjaNowa wersja | Poprzednia wersja | ||
| openvpn_-_użytkownicy_i_prosty_panel [2015/09/29 09:52] – kamil | openvpn_-_użytkownicy_i_prosty_panel [2025/01/11 18:58] (aktualna) – edycja zewnętrzna 127.0.0.1 | ||
|---|---|---|---|
| Linia 18: | Linia 18: | ||
| mkdir -p / | mkdir -p / | ||
| cd / | cd / | ||
| - | wget http://kamil.orchia.pl/tmp/simple_openvpn_panel.7z | + | svn export |
| - | 7z x simple_openvpn_panel.7z | + | chmod +x ./ |
| - | rm simple_openvpn_panel.7z | + | chmod -R o-rwx / |
| + | chown -R www-data: | ||
| </ | </ | ||
| ==== Konfiguracja ==== | ==== Konfiguracja ==== | ||
| Linia 35: | Linia 36: | ||
| mkdir / | mkdir / | ||
| cp ./ | cp ./ | ||
| - | nano / | + | </ |
| + | |||
| + | Przykładowy plik / | ||
| + | |||
| + | < | ||
| + | local 1.2.2.33 | ||
| + | port 12345 | ||
| + | proto tcp | ||
| + | dev tap | ||
| + | ca / | ||
| + | cert / | ||
| + | key / | ||
| + | dh / | ||
| + | server 1.2.3.0 255.255.255.0 | ||
| + | ifconfig-pool-persist / | ||
| + | push "route 10.20.0.0 255.255.255.0" | ||
| + | client-to-client | ||
| + | keepalive 10 120 | ||
| + | persist-key | ||
| + | persist-tun | ||
| + | status / | ||
| + | log / | ||
| + | verb 3 | ||
| + | auth SHA1 | ||
| + | cipher AES-128-CBC | ||
| + | tls-cipher DHE-RSA-AES128-SHA | ||
| + | client-cert-not-required | ||
| + | username-as-common-name | ||
| + | client-connect / | ||
| + | client-disconnect / | ||
| + | script-security 2 | ||
| + | auth-user-pass-verify / | ||
| + | up / | ||
| + | </ | ||
| + | |||
| + | Przykładowy plik / | ||
| + | < | ||
| + | # | ||
| + | |||
| + | pidfile="/ | ||
| + | |||
| + | pid="" | ||
| + | |||
| + | if [ -f $pidfile ]; | ||
| + | then | ||
| + | pid=`cat $pidfile` | ||
| + | fi | ||
| + | |||
| + | start() | ||
| + | { | ||
| + | if [ " | ||
| + | then | ||
| + | if [ "`ps aux | grep $pid | grep -v grep | wc -l`" == " | ||
| + | then | ||
| + | echo " | ||
| + | else | ||
| + | openvpn --cd / | ||
| + | fi | ||
| + | else | ||
| + | openvpn --cd / | ||
| + | fi | ||
| + | } | ||
| + | |||
| + | stop() | ||
| + | { | ||
| + | if [ " | ||
| + | then | ||
| + | if [ "`ps aux | grep $pid | grep -v grep | wc -l`" == " | ||
| + | then | ||
| + | kill $pid | ||
| + | echo "" | ||
| + | fi | ||
| + | fi | ||
| + | } | ||
| + | |||
| + | restart() | ||
| + | { | ||
| + | stop | ||
| + | sleep 5 | ||
| + | start | ||
| + | } | ||
| + | |||
| + | case " | ||
| + | ' | ||
| + | echo -ne " | ||
| + | start | ||
| + | echo " | ||
| + | ;; | ||
| + | ' | ||
| + | echo -ne " | ||
| + | stop | ||
| + | sleep 5 | ||
| + | start | ||
| + | echo " | ||
| + | ;; | ||
| + | ' | ||
| + | echo -ne " | ||
| + | stop | ||
| + | echo " | ||
| + | ;; | ||
| + | *) | ||
| + | echo -e "\n Usage: openvpn.sh { start | stop | restart }" | ||
| + | ;; | ||
| + | esac | ||
| + | </ | ||
| + | |||
| + | Plik / | ||
| + | < | ||
| + | #!/bin/sh | ||
| + | |||
| + | chmod o+r / | ||
| + | </ | ||
| + | |||
| + | Nadajemy uprawnienia i uruchamiamy OpenVPN: | ||
| + | |||
| + | < | ||
| + | chmod 700 / | ||
| + | / | ||
| + | </ | ||
| + | |||
| + | Przykładowy plik client.ovpn, | ||
| + | < | ||
| + | client | ||
| + | dev tap | ||
| + | proto tcp | ||
| + | remote 1.2.2.33 12345 | ||
| + | resolv-retry infinite | ||
| + | nobind | ||
| + | persist-key | ||
| + | persist-tun | ||
| + | ca ca.crt | ||
| + | ns-cert-type server | ||
| + | verb 3 | ||
| + | auth-user-pass | ||
| + | auth SHA1 | ||
| + | cipher AES-128-CBC | ||
| + | tls-cipher DHE-RSA-AES128-SHA | ||
| </ | </ | ||
| Linia 99: | Linia 236: | ||
| location /o/ { | location /o/ { | ||
| alias / | alias / | ||
| - | allow 1.2.3.0/16; | + | allow 1.2.3.0/24; |
| deny all; | deny all; | ||
| auth_basic " | auth_basic " | ||
| Linia 116: | Linia 253: | ||
| Przy generowaniu htpasswd pomoże nam link: [[http:// | Przy generowaniu htpasswd pomoże nam link: [[http:// | ||
| + | Sekcję allow i deny ustawiamy dopiero po dodaniu pierwszego użytkownika. | ||
| + | Kopiujemy plik / | ||
| + | < | ||
| + | cp / | ||
| + | </ | ||
| + | Konfiguracja panelu jest odczytywana z pliku: / | ||
| + | Uwaga! Pliki / | ||
| + | |||
| + | Crontab: | ||
| + | |||
| + | < | ||
| + | */5 * * * * root cd / | ||
| + | </ | ||