Настройка OpenVPN

Простые/общие вопросы по UNIX системам. Спросите здесь, если вы новичок

Модераторы: vadim64, terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
teejay
рядовой
Сообщения: 11
Зарегистрирован: 2013-09-18 20:56:55

Настройка OpenVPN

Непрочитанное сообщение teejay » 2020-11-02 12:03:10

Добрый день.

Имеется сервер с Freebsd 12 имеющий статический ip адрес A.B.C.D. На нём установлен и настроен OpenVPN сервер со следующей конфигурацией:

Код: Выделить всё

port 1194
proto tcp
dev tun
ca ca.crt
cert server.crt
key server.key  # This file should be kept secret
dh dh2048.pem
topology subnet
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
;push "route 192.168.0.0 255.255.255.0"
;client-config-dir ccd
;push "redirect-gateway def1 bypass-dhcp
client-to-client
keepalive 10 120
tls-auth ta.key 0 # This file is secret
cipher AES-256-CBC
auth SHA512
user nobody
group nobody
persist-key
persist-tun
status openvpn-status.log
verb 6
Конфигурация клиента:

Код: Выделить всё

client
tls-client
dev tun
proto tcp
remote A.B.C.D 1194
nobind
user nobody
group nobody
persist-key
persist-tun
key-direction 1
cipher AES-256-CBC
auth SHA512
#comp-lzo
verb 3
Клиент при запуске OpenvPN connect на windows 7 получает адрес 10.8.0.4, пингует сервер на 10.8.0.1 и может к нему подключиться по ssh.
На клиенте route print выдаёт:

Код: Выделить всё

===========================================================================
Interface List
 13...00 ff f9 28 bc 16 ......TAP-Windows Adapter V9 for OpenVPN Connect
 11...08 00 27 4d 7f 23 ......Intel(R) PRO/1000 MT Desktop Adapter
  1...........................Software Loopback Interface 1
 12...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter
 14...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter #2
===========================================================================

IPv4 Route Table
===========================================================================
Active Routes:
Network Destination        Netmask          Gateway       Interface  Metric
          0.0.0.0          0.0.0.0      192.168.1.1    192.168.1.110     10
         10.8.0.0    255.255.255.0         On-link          10.8.0.4    257
         10.8.0.4  255.255.255.255         On-link          10.8.0.4    257
       10.8.0.255  255.255.255.255         On-link          10.8.0.4    257
        127.0.0.0        255.0.0.0         On-link         127.0.0.1    306
        127.0.0.1  255.255.255.255         On-link         127.0.0.1    306
  127.255.255.255  255.255.255.255         On-link         127.0.0.1    306
      192.168.1.0    255.255.255.0         On-link     192.168.1.110    266
    192.168.1.110  255.255.255.255         On-link     192.168.1.110    266
    192.168.1.255  255.255.255.255         On-link     192.168.1.110    266
   A.B.C.D  255.255.255.255      192.168.1.1    192.168.1.110    266
        224.0.0.0        240.0.0.0         On-link         127.0.0.1    306
        224.0.0.0        240.0.0.0         On-link     192.168.1.110    266
        224.0.0.0        240.0.0.0         On-link          10.8.0.4    257
  255.255.255.255  255.255.255.255         On-link         127.0.0.1    306
  255.255.255.255  255.255.255.255         On-link     192.168.1.110    266
  255.255.255.255  255.255.255.255         On-link          10.8.0.4    257
===========================================================================
Persistent Routes:
  None

IPv6 Route Table
===========================================================================
Active Routes:
 If Metric Network Destination      Gateway
  1    306 ::1/128                  On-link
 11    266 fe80::/64                On-link
 13    266 fe80::/64                On-link
 11    266 fe80::398d:bca2:2cdb:edc6/128
                                    On-link
 13    266 fe80::cc43:3672:a984:3569/128
                                    On-link
  1    306 ff00::/8                 On-link
 11    266 ff00::/8                 On-link
 13    266 ff00::/8                 On-link
===========================================================================
Persistent Routes:
  None
  
На сервере netstat -rn

Код: Выделить всё

Routing tables

Internet:
Destination        Gateway            Flags     Netif Expire
default            A.B.C.1       UGS        vmx0
10.8.0.0/24        10.8.0.2           UGS        tun0
10.8.0.1           link#7             UHS         lo0
10.8.0.2           link#7             UH         tun0
127.0.0.1          link#4             UH          lo0
192.168.0.2        link#2             UHS         lo0
192.168.0.2/32     link#2             U          vmx1
192.168.0.3        link#3             UHS         lo0
192.168.0.3/32     link#3             U          vmx2
A.B.C.0/24    link#1             U          vmx0
A.B.C.D     link#1             UHS         lo0

Internet6:
Destination                       Gateway                       Flags     Netif Expire
::/96                             ::1                           UGRS        lo0
::1                               link#4                        UH          lo0
::ffff:0.0.0.0/96                 ::1                           UGRS        lo0
fe80::/10                         ::1                           UGRS        lo0
fe80::%lo0/64                     link#4                        U           lo0
fe80::1%lo0                       link#4                        UHS         lo0
fe80::250:56ff:fea6:4846%tun0     link#7                        UHS         lo0
ff02::/16                         ::1                           UGRS        lo0
при этом сервер не может пинговать 10.8.0.4 т.е. клиент недоступен с сервера.
Что нужно сделать, чтобы клиент был доступен с сервера?

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

snorlov
подполковник
Сообщения: 3927
Зарегистрирован: 2008-09-04 11:51:25
Откуда: Санкт-Петербург

Настройка OpenVPN

Непрочитанное сообщение snorlov » 2020-11-02 15:11:22

Начните с таблицы маршрутизации сервера

шмель
проходил мимо

Настройка OpenVPN

Непрочитанное сообщение шмель » 2020-11-13 14:35:18

покажи правила фаервола

teejay
рядовой
Сообщения: 11
Зарегистрирован: 2013-09-18 20:56:55

Настройка OpenVPN

Непрочитанное сообщение teejay » 2020-11-19 15:21:42

Тут задача немного уже поменялась :).

Клиентом теперь выступает роутер с адресом в туннеле 10.8.0.2 и локальной сетью 192.168.1.0/24. Надо с сервера сделать доступными
клиентов из сети 192.168.1.0/24.
Клиент и сервер пингуют друг друга без проблем (10.8.0.1<-->10.8.0.2). А вот с сервера пинговать клиентов в 192.168.1.0/24 не получается.

Список правил pf примерно следующий:

Код: Выделить всё

ext_if=vmx0
int_if=lo0
tcp_services = "{rdp, smtp, domain, www, auth, snmp, 5432, openvpn}"
udp_services = "{domain, ntp, snmp}"

vpn_if=tun0
vpn_net="10.8.0.0/24"

table <bruteforce> persist

set loginterface $ext_if
set block-policy return
set skip on $int_if

scrub in all

#OpenVPN rules
#nat for openvpn clients internet
#nat on ! $vpn_if from $vpn_net to any -> $ext_if
#nat on $vpn_if from localhost to "192.168.1.0/24" -> $vpn_if
pass quick on $vpn_if

antispoof quick for $ext_if inet
antispoof for $int_if

#filtering rules
block in all
block in quick inet6 all
block log quick from <bruteforce> to any
...
Так же на сервере был добавлен маршрут route add -net 192.168.1.0/24 10.8.0.2

шмель
проходил мимо

Настройка OpenVPN

Непрочитанное сообщение шмель » 2020-11-21 8:57:04

В конфиге сервера раскомментируй строку:

Код: Выделить всё

;push "route 192.168.0.0 255.255.255.0"
И service openvpn restart