Norādītais vecais variants no patreizējās lapas atšķiras ar.
| Nākamā versija | Iepriekšējā versija | ||
| linux:openvpn-instalacija [26.09.2013 11:53] – izveidots Imants | linux:openvpn-instalacija [06.06.2019 09:02] (patlaban) – ārpussistēmas labojums 127.0.0.1 | ||
|---|---|---|---|
| Rinda 1: | Rinda 1: | ||
| - | ====== OpenVPN instalācija ====== | + | ====== OpenVPN |
| Šajā rakstā aprakstīts OpenVPN servera instalēšanas process uz Linux. VPN lietotāju datu glabāšana notiek MySQL datu bāzē. | Šajā rakstā aprakstīts OpenVPN servera instalēšanas process uz Linux. VPN lietotāju datu glabāšana notiek MySQL datu bāzē. | ||
| Rinda 8: | Rinda 8: | ||
| - | 1. Instalējam MySQL serveri. Izveidojam datubāzi " | + | 1. [[linux: |
| 2. Izveidojam datu bāzes tabulas un aizpildam ar datiem. | 2. Izveidojam datu bāzes tabulas un aizpildam ar datiem. | ||
| Rinda 88: | Rinda 88: | ||
| ./clean-all | ./clean-all | ||
| </ | </ | ||
| + | |||
| + | < | ||
| + | ************************************************************** | ||
| + | No / | ||
| + | Further invocations will fail | ||
| + | ************************************************************** | ||
| + | </ | ||
| + | |||
| + | |||
| 5. Izveidojam publiskos un privātos sertifikātus. Laižam skriptus pēc kārtas vienkārši atbildot ar ENTER vai YES. '' | 5. Izveidojam publiskos un privātos sertifikātus. Laižam skriptus pēc kārtas vienkārši atbildot ar ENTER vai YES. '' | ||
| Rinda 98: | Rinda 107: | ||
| </ | </ | ||
| + | ====== Konfigurējam lietotāju autorizāciju ar MySQL palīdzību ====== | ||
| + | |||
| + | 1. Izveidojam katalogu skriptiem '/ | ||
| + | < | ||
| + | mkdir / | ||
| + | cd / | ||
| + | </ | ||
| + | |||
| + | 2. Izveidojam config.sh failu '/ | ||
| + | < | ||
| + | #!/bin/bash | ||
| + | |||
| + | ##Dababase Server | ||
| + | HOST=' | ||
| + | |||
| + | #Default port = 3306 | ||
| + | PORT=' | ||
| + | |||
| + | #Username | ||
| + | USER=' | ||
| + | |||
| + | #Password | ||
| + | PASS=' | ||
| + | |||
| + | #database name | ||
| + | DB=' | ||
| + | </ | ||
| + | |||
| + | 3. Izveidojam failu test_connect_db.sh pieslēguma testēšanai '/ | ||
| + | < | ||
| + | #!/bin/bash | ||
| + | |||
| + | . / | ||
| + | |||
| + | ##Test Authentication | ||
| + | username=$1 | ||
| + | password=$2 | ||
| + | user_id=$(mysql -h$HOST -P$PORT -u$USER -p$PASS $DB -sN -e " | ||
| + | |||
| + | ##Check user | ||
| + | [ " | ||
| + | </ | ||
| + | |||
| + | 4. Izveidojam skriptu login.sh '/ | ||
| + | < | ||
| + | #!/bin/bash | ||
| + | |||
| + | . / | ||
| + | |||
| + | ## | ||
| + | user_id=$(mysql -h$HOST -P$PORT -u$USER -p$PASS $DB -sN -e " | ||
| + | |||
| + | ##Check user | ||
| + | [ " | ||
| + | </ | ||
| + | |||
| + | 5. izveidojam skriptu connect.sh '/ | ||
| + | < | ||
| + | #!/bin/bash | ||
| + | |||
| + | . / | ||
| + | |||
| + | ##insert data connection to table log | ||
| + | mysql -h$HOST -P$PORT -u$USER -p$PASS $DB -e " | ||
| + | |||
| + | ##set status online to user connected | ||
| + | mysql -h$HOST -P$PORT -u$USER -p$PASS $DB -e " | ||
| + | </ | ||
| + | |||
| + | 6. Izveidojam skriptu disconnect.sh '/ | ||
| + | < | ||
| + | #!/bin/bash | ||
| + | |||
| + | . / | ||
| + | |||
| + | ##set status offline to user disconnected | ||
| + | mysql -h$HOST -P$PORT -u$USER -p$PASS $DB -e " | ||
| + | |||
| + | ##insert data disconnected to table log | ||
| + | mysql -h$HOST -P$PORT -u$USER -p$PASS $DB -e " | ||
| + | </ | ||
| + | |||
| + | 7. Veidojam OpenVPN konfigurācijas failus. OpenVPN serveris skanē .conf failus '/ | ||
| + | |||
| + | Veidojam failu server.conf ar pieslēgšanās portu 443 '/ | ||
| + | < | ||
| + | |||
| + | ##protocol port | ||
| + | port 443 | ||
| + | proto tcp | ||
| + | dev tun | ||
| + | |||
| + | ##ip server client | ||
| + | server 10.4.0.0 255.255.255.0 | ||
| + | |||
| + | ##key | ||
| + | ca / | ||
| + | cert / | ||
| + | key / | ||
| + | dh / | ||
| + | |||
| + | ##option | ||
| + | persist-key | ||
| + | persist-tun | ||
| + | keepalive 5 60 | ||
| + | reneg-sec 432000 | ||
| + | |||
| + | ##option authen. | ||
| + | comp-lzo | ||
| + | user nobody | ||
| + | #group nogroup | ||
| + | client-to-client | ||
| + | username-as-common-name | ||
| + | client-cert-not-required | ||
| + | auth-user-pass-verify / | ||
| + | |||
| + | ##push to client | ||
| + | max-clients 50 | ||
| + | push " | ||
| + | push " | ||
| + | push " | ||
| + | #push " | ||
| + | |||
| + | ## | ||
| + | push " | ||
| + | push " | ||
| + | |||
| + | ##script connect-disconnect | ||
| + | script-security 3 system | ||
| + | client-connect / | ||
| + | client-disconnect / | ||
| + | |||
| + | ## | ||
| + | status / | ||
| + | log-append / | ||
| + | verb 3 | ||
| + | </ | ||
| + | |||
| + | 8. Veidojam katalogu žurnālfailiem '/ | ||
| + | < | ||
| + | mkdir / | ||
| + | touch / | ||
| + | touch / | ||
| + | chmod -R 755 / | ||
| + | chmod -R 755 / | ||
| + | </ | ||
| + | |||
| + | 9. Notestējam iespēju pieslēgties no skripta pie datu bāzes ar lietotāja vārdu '' | ||
| + | < | ||
| + | / | ||
| + | # user : test | ||
| + | # authentication ok. | ||
| + | </ | ||
| + | |||
| + | Ja autorizācija ir neveiksmīga - '' | ||
| + | |||
| + | 10. Startējam OpenVPN servisu. | ||
| + | < | ||
| + | / | ||
| + | </ | ||
| + | |||
| + | ====== Internets klientiem ====== | ||
| + | |||
| + | 1. Labojam '/ | ||
| + | < | ||
| + | # | ||
| + | </ | ||
| + | |||
| + | Nomainam uz: | ||
| + | < | ||
| + | net.ipv4.ip_forward=1 | ||
| + | </ | ||
| + | |||
| + | 2. Labojam '/ | ||
| + | < | ||
| + | echo " | ||
| + | echo " | ||
| + | </ | ||
| + | |||
| + | |||
| + | 3. '' | ||
| + | < | ||
| + | iptables -t nat -A POSTROUTING -s 10.4.0.0/24 -o eth0 -j MASQUERADE | ||
| + | </ | ||
| + | |||
| + | ====== OpenVPN Windows klienta puses konfigurēšana ====== | ||
| + | |||
| + | Testēts: Windows XP; Windows 7. | ||
| + | |||
| + | 1. Lejupielādējam OpenVPN klientu [http:// | ||
| + | |||
| + | 2. Ja instalēšanas katalogs netika mainīts, tad katalogā '' | ||
| + | |||
| + | 3. Veidojam pieslēguma konfigurācijas failu '' | ||
| + | < | ||
| + | client | ||
| + | dev tun | ||
| + | |||
| + | proto tcp | ||
| + | remote hostname_or_hostIP 443 | ||
| + | |||
| + | nobind | ||
| + | auth-user-pass | ||
| + | reneg-sec 432000 | ||
| + | resolv-retry infinite | ||
| + | |||
| + | ca ca.crt | ||
| + | comp-lzo | ||
| + | verb 1 | ||
| + | </ | ||
| + | |||
| + | 4. Pārbaudām iespēju pieslēgties. | ||
| + | |||
| + | ====== Papildinformācija ====== | ||
| + | |||
| + | * [[windows: | ||
| + | {{tag> | ||