5 000-то място от OpenVPN, IT блог

Тази хаутушка е извадка от много статии с минимално описание на стъпките и без вода. Предполага се, че сертифициращият орган и OpenVPN сървърът са на един и същ хост. Освен това ми писна всеки път да търся в гугъл тази тема, т.к. Тъй като по-голямата част от ръководствата са остарели, възстановяването на услугата отнема много време.

Сървър

Конфигурация на сървъра

Инсталирайте OpenVPN и създайте потребител със същото име, под който ще работи демонът:

Създайте конфигурация на openvpn сървър със следното съдържание:

Отидете в началната директория, изтеглете и разопаковайте easyrsa 3 версия:

Променете в директорията easyrsa3 и декларирайте променливи за нея:

Инициализиране на PKI (инфраструктура на публичен ключ - инфраструктура на публичен ключ):

Създайте основен сертификат. Не забравяйте да въведете сложна парола и общото име на сървъра, например моя vpn сървър:

Генериране на Diffie-Hellman ключове:

Генерирайте заявка за сертификат за OVPN сървъра. Моля, обърнете внимание, че сертификатът няма да бъде защитен с парола (параметър nopass), в противен случай OpenVPN ще изисква тази парола всеки път, когато стартира:

Създайте самия сертификат на OVPN сървъра:

Копирайте получените ключове в работната директория на openvpn:

Създайте "HMAC защитна стена", за да се предпазите от DoS атаки и наводнение на UDP порт:

Клиент

Създайте защитена с парола заявка за ключ за клиента (изисква се за всяка връзка) с име Потребител:

Създаване на потребителски ключ (по подразбиране от vars за период от 10 години):

Или с ограничение на валидност на сертификата от 90 дни (след датата на изтичане можете да го преиздадете само):

Изпратете тези файлове на клиента:

За удобство и петте клиентски файла могат да бъдат комбинирани в един

Прегледсертификати

Генериране на анулиран ключов файл:

Направете символна връзка към директорията с ключовете (разбира се, можете да копирате файла, но ще трябва да го правите всеки път, когато анулирате сертификата):

В /etc/openvpn/server.conf добавете реда

Отмяна на сертификата на потребителя Потребител:

Всеки път, когато отмените сертификат, трябва да актуализирате crl.pem, за да направите промени в него:

Забележка: ключовият файл със същото име не може да бъде създаден, докато старият не бъде отменен. Когато се опитвате да създадете сертификат със съществуващо име, той ще даде грешка:

Минимална настройка на Iptables за OpenVPN клиенти за достъп до локална мрежа

Конфигуриране на OpenVPN за достъп до интернет

Случайно попаднах на тема, цвиля и реших да допълня бележката. Ако OpenVPN е необходим за достъп до интернет, трябва да направите OpenVPN шлюз по подразбиране и да промените правилата на iptables. Всъщност конфигурацията на сървъра:

Конфигурацията за клиента няма да се различава от горната.

Минимална настройка на Iptables за OpenVPN клиенти за достъп до интернет

Някои забележки

За да изключите възможността за mitm атака, чиято грешка изглежда така в регистрационните файлове на клиента:

Използва се сървърният параметър remote-cert-tls, който вече присъства в конфигурацията на клиента.

Списък с валидни и отменени сертификати

Списъкът с валидни и прекратени сертификати можете да видите във файла

/easy-rsa-master/easyrsa3/pki/index.txt. Началото на описателния ред на всеки сертификат започва с буквите V или R, което означава Валиден и Отменен, например:

Както виждате първият и петият сертификат са валидни, 2-4 са анулирани.

Ако клиентът е на Windows

Инсталирайте OpenVPN GUI, като изтеглите от тук. Копирайте клиентските ключове в C:\ProgramFiles\OpenVPN\config\ . Копирайте конфигурацията на клиента и я поставете във файла client.ovpn, поставете и нея там. Трябва да има пет файла в тази директория - User.crt, User.key, ca.crt, ta.key, client.ovpn.Уверете се, че сте стартирали OpenVPN GUI като администратор, в противен случай маршрутите няма да се издигнат в системата и се свържете, като щракнете двукратно върху иконата в областта (такава област е близо до часовника, обикновено в долния десен ъгъл).

Подобни публикации

Коментари за публикацията „5000th haut by OpenVPN“

Какво да направите, ако

./easyrsa.real sign-req server vpn.1-ok.com Забележка: използване на Easy-RSA конфигурация от: ./vars Easy-RSA грешка: Неизвестен тип сертификат „сървър“

Най-вероятно структурата на директорията е повредена. Източникът казва:

тези. $EASYRSA_EXT_DIR = easy-rsa-master/easyrsa3/x509-типове. Ще приема, че тази директория или нейното съдържание не съществува. Изтеглете отново easy-rsa3 и всичко ще тръгне.

Каква версия имате? При мен не работеше на версия 3.0.6. и на 3.0.4 всичко е наред. Опитайте 3.0.3 или 3.0.4 (работи със сигурност)

Ако е Linux без GUI, тогава /etc/init.d/openvpn рестартирайте Ако е с GUI, настройте връзката чрез Network Manager Ако е Windows, изтеглете клиента и плъзнете файлове към него.

Благодаря ти! Клиентът на raspberry (raspbian wheezy) при командата: openvpn /etc/openvpn/client.conf издава следното:

Чет, 21 април, 13:19:10 2016 OpenVPN 2.2.1 arm-linux-gnueabihf [SSL] [LZO2] [EPOLL] [PKCS11] [eurephia] [MH] [PF_INET6] [IPv6 полезен товар 20110424-2 (2.2RC2)] създаден на 1 декември 2014 г. четвъртък, 2 април 1 13:19:10 2016 ЗАБЕЛЕЖКА: OpenVPN 2.1 изисква ‘--script-security 2’ или по-висока за извикване на дефинирани от потребителя скриптове или изпълними файлове Чет, 21 апр 13:19:10 2016 Не може да се зареди файл със сертификат User.crt: грешка:02001002:системна библиотека:fopen:Няма такъв файл илидиректория: грешка: 20074002: BIO рутинни: FILE_CTRL: системна библиотека: грешка: 140AD002: SSL рутинни: SSL_CTX_use_certificate_file: системна библиотека Чет, 21 апр., 13:19:10 2016 г. Излизане

да го направя отначало? какво не е наред?

Ясно се казва, че няма файл User.crt. Не може да се зареди файл със сертификат User.crt. Няма такъв файл или директория. Ще приема, че 1. Необходимо е да се бяга от корена, т.е. в случай на Raspberry използвайте sudo 2. Преди да започнете, cd /path/to/keys или използвайте абсолютни пътища в конфигурацията

Не изпратих ping на клиенти от сървъра след това правило: iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j SNAT --to-source x.x.x.x

Работи само когато направих това: iptables -t nat -D POSTROUTING -s 10.8.0.0/24 -j SNAT --to-source x.x.x.x iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source x.x.x.x

Бъркате nat и филтърни таблици. Таблицата nat не трябва да филтрира пакети. По ваше собствено правило вие разрешихте само пакети да преминават през NAT от интерфейса eth0.

Добър ден, бих искал да пренасочвам само към локалната мрежа към базата данни на openvpn едновременно. останалият трафик не трябва да минава през openvpn, а директно към мрежа към мрежа. От страна на клиента използвам: client port 1179 proto udp dev tun cipher AES-256-CBC ca ca.crt cert user1.crt key user1.key remote **.**.**.** #no-bind comp-lzo remote-cert-tl s server persist-key persist-tun tls-auth ta.key 1 verb 5 #route 172.30.0.0 255.255.0.0 —redirect-gateway def1 #route-no-pull

Страна на сървъра: ca ca.crt cert aurora.crt ключ aurora.key dh dh2048.pem tls-auth ta.key 0 cipher AES-256-CBC сървър 172.30.3.0 255.255.255.0 #for windows clients #topology subnet keepalive 10 120 comp-lzo persist-key persist-tun #push "redirect-gateway" client-config-dir ccd verb 5 user nobody group nogroup client-to-client status aurora-status.log log /var/log/aurora.log sndbuf 0 rcvbuf 0 маршрут 172 .30.3.0 255.255.255.0 натискане на "dhcp-опция DNS 8.8.8.8"

Не разбрах формулировката на проблема, моля опишете по-подробно. 1. Какво искаш да правиш 2. Какво направи 3. Какво не върви по начина, по който сте очаквали

Задачата беше да се осигури криптиране на данни с помощта на openVPN. В същото време е необходимо нормалният трафик да върви по обичайния начин и достъпът (например до база данни) до ресурс изключително чрез openVPN, докато е ясно, че базата данни се намира в същата локална мрежа с прокси сървър.

Това ще създаде файла /etc/systemd/system/[email protected]/override.conf След това стартирайте sudo systemctl daemon-reload sudo systemctl start openvpn@[CONFIG FILE NAME].service

p.s. как да форматирам текста тук?

Стандартно HTML маркиране. За код използвайте код или предварителни тагове

PS: Оставих това на потребителя, тъй като смятах, че е запознат със systemd. Благодаря за допълнението!

Благодаря за обратната връзка) 1. Не мога да кажа нищо, вижте логовете на Mikrotik. По правило е достатъчно да си поиграете с настройките за криптиране, ако всичко останало е извън съмнение. 2. Необходимо е да направите маршрутизация - на тези клиенти добавете маршрут към подмрежата Mirkotik през OVPN сървъра. Нещо като ip route add 192.168.20.0/24 dev tun0, където 192.168.20.0/24 е локалната подмрежа зад Mikrotik, tun0 е OVPN интерфейсът на клиента, който се нуждае от достъп до подмрежата зад Mikrotik.

PS. За да могат клиентите да се виждат, е необходимо да добавите опцията клиент към клиент в конфигурацията на сървъра, без нея няма да работи.

администратор,wf, благодаря за помощта! Първият проблем е разрешен. Mikrotik не е приятелски настроен към UDP протокола и също така не поддържа компресия и TLS удостоверяване. Не мога да преодолея втория въпрос. Мрежа 192.168.1.* (Mikrotik 1.1). Отдалечена клиентска мрежа 192.168.2.* (рутер 1.1). В server.conf написах следното: client-config-dir /etc/openvpn/ccd ifconfig-pool-persist /etc/openvpn/ccd/ipp.txt server 10.15.0.0 255.255.255.0 route-gateway 10.15.0.1 rou te 10.15.0.1 255.255.255.0 топологична подмрежа клиент-клиент

В ccd User1 регистрира достъп до едно ip: натиснете "route 192.168.1.3 255.255.255.255". Добавен е следният маршрут към клиента: route add 10.15.0.6 mask 255.255.255.255 10.15.0.6. Пинг от клиент към отдалечено устройство (1.3) е неуспешен.