Инсталация и настройка на OpenVPN стъпка по стъпка.
Здравейте,
в тази статия ще опиша стъпките по които настроих OpenVPN сървър за лични потребности.
Примера е за настройване на OpenVPN под Debian 5 и клиент под Fedora 12.
Да започнем с инсталирането на необходимите пакети:
server1:~# apt-get install openvpn
Със следващите команди ще създам директория за ключовете и ще копирам в нея скриптовете за генериране на ключове:
mkdir /etc/openvpn/easy-rsa cp /usr/share/doc/openvpn/examples/easy-rsa/2.0/* /etc/openvpn/easy-rsа
Необходимо е да бъде редактиран /etc/openvpn/easy-rsa/vars с твоите данни.
След което за да бъдат генерирани ключовете трябва да бъдат изпълнени следните команди:
cd /etc/openvpn/easy-rsa . ./vars ./clean-all ./build-ca ./build-key-server servername ./build-dh
Следва да бъде създаден конфигурационния файл за openvpn сървъра.
Файла трябва да бъде създаден в следната директория /etc/openvpn/server.conf
За шаблон можете да използвате следния адрес: http://openvpn.net/index.php/open-source/documentation/howto.html#server
Ето как изглежда моя конфигурационен файл:
#server1:~# cat /etc/openvpn/server.conf local xx.xx.xx.xx #адрес, който openvpn да "слуша" за връзки port 1724 proto tcp dev tap ca /etc/openvpn/easy-rsa/keys/ca.crt cert /etc/openvpn/easy-rsa/keys/server.crt key /etc/openvpn/easy-rsa/keys/server.key dh /etc/openvpn/easy-rsa/keys/dh1024.pem server 192.168.0.0 255.255.255.0 ifconfig-pool-persist ipp.txt push "redirect-gateway" push "dhcp-option DNS 208.67.220.220" client-to-client keepalive 10 120 comp-lzo max-clients 10 persist-key persist-tun status openvpn-status.log verb 4
Следват инструкции за настройка на OpenVPN клиент върху Fedora ОС.
Инсталиране на OpenVPN:
yum install openvpn
Генериране на ключ за клеинт:
cd /etc/openvpn/easy-rsa ./build-key client1
След генерирането на ключовете трябва да копирате ca.crt , client1.crt и client1.key в директория /etc/openvpn/ .
Създаване на конфигурационен файл /etc/openvpn/client.conf .
За шаблон можете да използвате следния адрес: http://openvpn.net/index.php/open-source/documentation/howto.html#client
Ето как изглежда моя конфигурационен файл:
client dev tap ;dev tun proto tcp ;proto udp remote servername 1724 resolv-retry infinite nobind persist-key persist-tun ca ca.crt cert client1.crt key client1.key cipher BF-CBC comp-lzo verb 4 ;mute 20
Следва стартиране на сървъра и клиента.
Сървъра се стартира по следния начин:
/etc/init.d/openvpn start
Клиента се стартира с:
cd /etc/openvpn openvpn client.conf
Най-вероятно след като тествате свързаността си ще видите, че имате пинг до гейта ( сървъра ) и съответната мрежа, но не и на вън.
За да рутирате целия трафик през vpn-a и да имате достъп до „външни“ адреси трябва да направите следното с iptables:
iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE iptables --append FORWARD --in-interface tap0 -j ACCEPT echo 1 > /proc/sys/net/ipv4/ip_forward
Тъй като ОС е Debian за да се запомнят правилата трябва да се направи следното:
iptables-save > firewall.conf
След което в файл /etc/network/if-up.d/iptables трябва да добавите следния код:
#!/bin/sh iptables-restore < /etc/firewall.conf echo 1 > /proc/sys/net/ipv4/ip_forward
Рестартирайте сървъра и проверете дали всичко ще работи коректно.
За да изключите даден сертификат трябва да направите следното:
- Отидете в easy-rsa директорията:
cd /etc/openvpn/easy-rsa/
- Стартирайте следните команди:
. ./vars ./revoke-full client2
където „client2“ е името на клиента чиито достъп ще забраните.
- revoke-full генерира файл с име crl.pem . Необходимо е в конфогирационния файл на openvpn да посичите пътя до този файл като добавите следния ред в server.conf:
crl-verify /etc/openvpn/easy-rsa/keys/crl.pem
- Рестартирайте OpenVPN сървъра за да се приеме промяната.
/etc/inid.d/openvpn restart
Ето какво се случва вече при опит да бъде достъпен сървъра със сертификат, който е бил спрян:
server1 ovpn-server[7252]: XXX.XXX.XXX.XXX:34036 CRL CHECK FAILED: /C=BG/ST=CA/L=Sofia/O=Fort-Funston/CN=server1/emailAddress=me@myhost.mydomain is REVOKED
Тестване на производилтелност на софтуерни RAID масиви Създаване на софтуерен Raid1 масив от диск с вече инсталиран линукс на него + още един
11 thoughts on “Инсталация и настройка на OpenVPN стъпка по стъпка.”
Вашият коментар
Трябва да влезете, за да публикувате коментар.
Имам проблем с настройката на убунту 10.10 като дам команда „cp /usr/share/doc/openvpn/examples/easy-rsa/2.0/* /etc/openvpn/easy-rsа“ и ми дава „cp /usr/share/doc/openvpn/examples/easy-rsa/2.0/* /etc/openvpn/easy-rsа
cp: целта „/etc/openvpn/easy-rsа“ не е каталог“ някой ако може да помогне
А създал ли си самата директория?
sudo mkdir /etc/openvpn/easy-rsa/
sudo cp -R /usr/share/doc/openvpn/examples/easy-rsa/2.0/* /etc/openvpn/easy-rsa/
Създадена е
С -R стана. После във vars само тези файлове ли трябва да променя export KEY_COUNTRY=“US“
export KEY_PROVINCE=“CA“
export KEY_CITY=“SanFrancisco“
export KEY_ORG=“Fort-Funston“
export KEY_EMAIL=“me@myhost.mydomain“ или има и други
Дам, той ти трябва за да генерираш сертификатите.
На следния адрес има гайд точно за убунту:
https://help.ubuntu.com/10.04/serverguide/C/openvpn.html
Колега, като гледам това не е bridget конфигурация.Това знчи ли , че сървърът ти има два лан интерфейса(реални).Но може и да греша.
Доста време мина от както правих тази статия и не помня цялата схема, но мисля, че беше с един интерфейс и две IP-та вдигнати, като рутера си беше настроен да си рутира съответните мрежи.
Ей с това се мъча…..http://bailey.st/blog/2011/01/06/openvpn-road-warrior-howto/
Вдигам VPN сървъра, правя връзка с него напълно успешно, но без да съм вдигнал бриджа .Вдигнали бриджа, а това става лсед ребутване на сървъра нито имам достъп по SSH до сървъра нито става VPN конекция.Дефакто по SSH сървърът остава достъпен само от LAN-а от VAN-a няма достъп.Използвам настройките от горната статия и Убунту сървър 10,04 и 11.10 .Ще съм ти благодарен ако ми дадеш някой съвет.
Поздрави!!
До колкото помня, в средата в която правих тези настройки гейта можете да рутира и двете мрежи.
Сигурно там е проблема…
Братле, а случайно да можеш да помогнеш да създам VPN връзка между две виртуални машини Windows XP – Виртуалната среда е Oracle VirtualBox? Трябва ми за учебна цел. Реферата ми е за VPN и трябва да направя и лайв демо? Ако имаш време и ти се занимава помагай.. изтеглих си OpenVPN от офиц. сайт и го инсталирах, долу при часовника само ми стои сиво с катинарче и само с десен бутон като цъкна мога да избера Настройки и изход.
Мерси предварително!
Здравей,
кой ще играе ролята на сървър и кой на клиент?