воскресенье, 20 ноября 2016 г.

Установка OpenVPN на CentOS7 / Настройка OpenVPN туннеля Site-to-Site TLS

Установка OpenVPN и настройка туннеля между двумя офисами
TLS  Site-to-Site

Настройка Офиса1

Установка
# yum -y install openvpn
# chkconfig openvpn on

Созданиие сертификатов

Создаём файл конфигурации для Офиса 1
# vi /etc/openvpn/office1-to-office2.conf

dev tun
port 1194
remote 90.100.100.1
ifconfig 10.0.0.1 10.0.0.2

tls-server
daemon

# Diffie-Hellman Parameters (tls-server only)
dh /etc/openvpn/keysServer/dh2048.pem

# Certificate Authority file
ca /etc/openvpn/keysServer/ca.crt

# Server certificate/public key
cert /etc/openvpn/keysServer/server.crt

# Server private key
key /etc/openvpn/keysServer/server.key

reneg-sec 300
verb 3

log-append /var/log/openvpn/office1-to-office2.log

* Для удобства сертификаты и ключи сервера помещены в /etc/openvpn/keysServer/

Настройка автозапуска OpenVPN
systemctl enable openvpn@office1-to-office2.service

Старт, Остановка, Статус
systemctl start openvpn@office1-to-office2.service
systemctl status -l openvpn@office1-to-office2.service

*Если в директории /etc/openvpn/ у вас будет несколько .conf файлов, различных VPN туннелей, то включать автозапуск нужно будет для каждого отдельно
systemctl enable openvpn@vpn1.service
systemctl enable openvpn@vpn2.service...

Настройка iptables
# vi /etc/sysconfig/iptables

-A INPUT -i eth0 -m udp -p udp -s 90.100.100.1 --dport 1194 -j ACCEPT
-A FORWARD -i eth1 -o tun0 -j ACCEPT
-A FORWARD -i tun0 -o eth1 -j ACCEPT

Проброс порта на маршрутизаторе (на примере Cisco)
#ip nat inside source static tcp 192.168.1.10 1194 interface FastEthernet0/0 1194

*FastEthernet0/0 - интерфейс, что подключен к Интернету

Просмотр логов
tail -f /var/log/openvpn/office1-to-office2.log

Настройка Офиса2

Установка
# yum -y install openvpn
# chkconfig openvpn on

Сертификаты уже скопированы с сервера офиса 1 на сервер офиса 2

Создаём файл конфигурации для Офиса2
# vi /etc/openvpn/office1-to-office2.conf

dev tun
port 1194
remote 100.100.100.1
ifconfig 10.0.0.2 10.0.0.1

tls-client
remote-cert-tls server
daemon
# Certificate Authority file
# Сертификат удостоверяющего центра с сервера в Офисе1
ca /etc/openvpn/keys-office1-to-office2/ca.crt

# Client certificate/public key
# Клиентский сертификат сгенерированный на сервере в Офисе1
cert /etc/openvpn/keys-office1-to-office2/client-office2.crt

# Client private key
# Клиентский ключ сгенерированный на сервере в Офисе1
key /etc/openvpn/keys-office1-to-office2/client-office2.key

reneg-sec 300
verb 3

log-append /var/log/openvpn/office1-to-office2.log

# Сертификаты и ключ были заранее скопированы в /etc/openvpn/keys-office1-to-office2/
# на этапе генерации  Созданиие сертификатов

Настройка автозапуска OpenVPN
systemctl enable openvpn@office1-to-office2.service

Настройка iptables
# vi /etc/sysconfig/iptables

-A INPUT -i eth0 -m udp -p udp -s 100.100.100.1 --dport 1194 -j ACCEPT
-A FORWARD -i eth1 -o tun0 -j ACCEPT
-A FORWARD -i tun0 -o eth1 -j ACCEPT

Проброс порта на маршрутизаторе (на примере Cisco)
#ip nat inside source static tcp 192.168.2.20 1194 interface FastEthernet0/0 1194

*FastEthernet0/0 - интерфейс, что подключен к Интернету

Просмотр логов
tail -f /var/log/openvpn/office1-to-office2.log

Запуска сервиса OpenVPN вручную в CentOS7
# service openvpn@vpn-zabbix-net2pdlx start
# service openvpn@vpn-zabbix-net2pdlx stop
# service openvpn@vpn-zabbix-net2pdlx restart

Создание маршрутов при подъёме OpenVPN туннеля
http://backreference.org/2009/11/15/openvpn-and-iroute/

Комментариев нет:

Отправить комментарий