SpecialistOff.NET / Вопросы / Статьи / Фрагменты кода / Резюме / Метки / Помощь / Файлы
Список вопросов ПечатьМетки: openvpn centos vpn openssl ssl безопасность
RemiZOffAlex Создано: 2017-05-29 21:09:41.669593 Обновлено: 2017-05-29 21:09:41.669593 |
---|
Установка на Windows |
RemiZOffAlex Создано: 2019-05-29 16:06:48.465594 Обновлено: 2019-05-29 16:06:48.465594 |
Установка и тестирование проводилось под управлением CentOS 7 УстановкаCentOSyum -y update yum -y install epel-release yum -y install openvpn Ubuntuapt-get install openvpn НастройкаСерверГенерируем корневой сертификат openssl genrsa -out /etc/openvpn/ca.key 4096 openssl req -x509 -new -key /etc/openvpn/ca.key -days 3650 \ -out /etc/openvpn/ca.crt -subj '/C=RU/ST=Tula/L=Tula/CN=RemiZOffAlex' Генерируем сертификат сервера, подписанный корневым openssl genrsa -out /etc/openvpn/server.key 4096 openssl req -new -key /etc/openvpn/server.key -days 365 \ -out /etc/openvpn/server.crt -subj '/C=RU/ST=Tula/L=Tula/CN=server' openssl x509 -req -days 365 -in /etc/openvpn/server.crt \ -CA /etc/openvpn/ca.crt -CAkey /etc/openvpn/ca.key \ -set_serial 01 -out /etc/openvpn/server.crt Генерируем ключ Диффи-Хелмана openssl dhparam -out dh2048.pem 2048 Создаём файл конфигурации сервера cat <<EOF > /etc/openvpn/server.conf cd /etc/openvpn mode server tls-server port 1194 proto tcp dev tap # L2 туннель (для L3-туннеля: dev tun) log /var/log/openvpn.log status /var/log/openvpn-status.log ca ca.crt cert server.crt key server.key dh dh2048.pem ifconfig-pool-persist ipp.txt server 10.8.0.0 255.255.255.0 client-to-client push "route 10.10.0 255.255.255.0" push "redirect-gateway def1" push "dhcp-option DNS 77.88.8.8" push "dhcp-option DNS 8.8.8.8" user nobody group nobody keepalive 10 120 comp-lzo persist-key persist-tun cipher AES-256-CBC verb 3 EOF Запуск сервера openvpn --config /etc/openvpn/server.conf Межсетевой экран iptables -A INPUT -p tcp --dport 1194 -j ACCEPT Для организации выхода в интернет через туннель iptables -t nat -A POSTROUTING -s 10.8.0.0/24 ! -d 10.8.0.0/24 -o ens18 \ -j SNAT --to-source ВНЕШНИЙIP sysctl net.ipv4.ip_forward=1 cat <<EOF >> /etc/sysctl.conf net.ipv4.ip_forward = 1 EOF КлиентГенерируем сертификат клиента на серверной машине openssl genrsa -out /etc/openvpn/client1.key 4096 openssl req -new -key /etc/openvpn/client1.key -days 3650 -out /etc/openvpn/client1.crt -subj '/C=RU/ST=Tula/L=Tula/CN=client1' openssl x509 -req -days 3650 -in /etc/openvpn/client1.crt -CA /etc/openvpn/ca.crt -CAkey /etc/openvpn/ca.key -set_serial 01 -out /etc/openvpn/client1.crt На клиентскую машину выдаём с сервера файлы ca.crt, client1.crt и client1.key Создаём файл конфигурации клиента cat <<EOF > /etc/openvpn/client.conf cd /etc/openvpn client tls-client dev tap proto tcp remote IPorSERVERNAME 1194 ;redirect-gateway def1 resolv-retry infinite nobind persist-key persist-tun ca ca.crt cert client1.crt key client1.key comp-lzo user nobody group nobody cipher AES-256-CBC verb 3 EOF Запуск клиента openvpn --config /etc/openvpn/client.conf Ссылки
|