LINUX.ORG.RU
ФорумAdmin

Vpn server, как лучше сделать.

 


1

1

Здравствуйте! Ситуация следующая, есть локалка, на локалке есть сервер, который пишет и хранит записи с камер. Пока это все только локально, выпускать в сеть штатными средствами не хочу. Хочу поднять Vpn(протокол ipsec или openvpn, да в принципе это не важно) и чтобы доступ был только у ограниченного круга людей. Нашел маршрутизатор с поддержкой vpn сервера, ну что-то дороговато получается, около 5-6 тыс. нормальный, может есть у кого нормальный вариант, проверенный на опыте? Интернет поступает по 4G lte, соответственно отдельный маршрутизатор и на нем не предусмотрен VPN.

Ответ на: комментарий от AnonimS

Хм, запустите tcpdump на 192.168.0.101 что бы понять где пакетики теряются.
PS кстати на нем еще правил iptables нет ли? iptables-save покажите на всякий случай

anc ★★★★★
()
Ответ на: комментарий от anc

tcpdump сейчас посмотрю, пока вот iptables save

root@serverhome22:~# iptables-save > 1
root@serverhome22:~# tail 1
# Completed on Thu Sep 22 17:08:50 2016
# Generated by iptables-save v1.4.21 on Thu Sep 22 17:08:50 2016
*nat
:PREROUTING ACCEPT [3918:322763]
:INPUT ACCEPT [78:10523]
:OUTPUT ACCEPT [111:6527]
:POSTROUTING ACCEPT [111:6527]
-A POSTROUTING -s 10.10.10.0/24 -j MASQUERADE
COMMIT
# Completed on Thu Sep 22 17:08:50 2016
root@serverhome22:~#

AnonimS
() автор топика
Ответ на: комментарий от anc

Это видимо уже пора заканчивать на сегодня..Почему-то теперь пинг 192.168.0.101 пропал, хотя ни чего не делал, на 10.10.10.6 проходит..

root@serverhome22:~# cat 1
# Generated by iptables-save v1.4.21 on Thu Sep 22 17:08:50 2016
*filter
:INPUT ACCEPT [2810:273679]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [2274:220931]
COMMIT
# Completed on Thu Sep 22 17:08:50 2016
# Generated by iptables-save v1.4.21 on Thu Sep 22 17:08:50 2016
*nat
:PREROUTING ACCEPT [3918:322763]
:INPUT ACCEPT [78:10523]
:OUTPUT ACCEPT [111:6527]
:POSTROUTING ACCEPT [111:6527]
-A POSTROUTING -s 10.10.10.0/24 -j MASQUERADE
COMMIT
# Completed on Thu Sep 22 17:08:50 2016

AnonimS
() автор топика
Ответ на: комментарий от AnonimS

1. Все у вас ок с fw, явно оно не причем
2. Блин, чего-то я сегодня туплю (уж простите меня, я даже знаю почему я туплю :( ). Ведь уже написал фигня с одинаковыми в сетями у вас

Сетевой адрес           Маска сети      Адрес шлюза       Интерфейс  Метрика
          0.0.0.0          0.0.0.0      192.168.0.1    192.168.0.100     20

anc ★★★★★
()
Ответ на: комментарий от anc

Я кажется понял о чем вы. Допустим если комп был бы 192.168.1.100, а подсеть 192.168.0.0 была к нему подключена, было бы 3 интерфейса , то можно было бы объединить и создать маршрут в подсеть 192.168.0.0 или я не правильно понял? На компе можно поднять DHCP сервер и перебрасывать пакеты..

AnonimS
() автор топика
Ответ на: комментарий от AnonimS

Вот теперь уже я вас не понял :)
Лучше начну сначала. У вас как в сети user так и сети user1 одна и таже подсеть 192.168.0.0/24. Если есть возможность сметите подсеть в одном из клиентов.

anc ★★★★★
()
Ответ на: комментарий от anc

Да, лучше начать сначала. У меня стоит маршрутизатор, на нем DHCP сервер, который раздает адреса в диапазоне 192.168.0.100 - 192.168.0.200, интернет поступает по 4G Yota мой внешний серый адрес 10.152.ххх.ххх. Соответственно комп находиться в одной сети с регистратором и камерами это сеть 192.168.0.0, роутер 192.168.0.1, регистратор 192.168.0.1, ноут 192.168.0.100, комп 192.168.0.101. На компе 1 интерфейс, по нему приходит интернет и он же локальная сеть. Тут же стоит клиент vpn и виртуальный интерфейс tun0. Чтобы не было конфликтов я использую телефон в качестве модема по WI-FI, мне присваивается адрес локальный 192.168.43.10 и внешний какой-то, не важно. Это я использую временно, потом соответственно буду заходить из подсети 192.168.1.0 из дома. Как-то так. Я уже тоже начинаю тупить, что-то упускаю, почему-то теперь не пингуется локальный адрес компа 192.168.0.101 от сервера VPN, хотя раньше я добился, того что и 10.10.10.6, и 192.168.0.101 пинговался..Думаю если пинг от сервера пройдет до клиента user1 в подсеть 192.168.0.0 то и c другого клиента должно. Что-то тут странно..Попробовал сменить интерфейс на tap, ну это тут тоже не причем..

===========================================================================

IPv4 таблица маршрута
===========================================================================
Активные маршруты:
Сетевой адрес           Маска сети      Адрес шлюза       Интерфейс  Метрика
          0.0.0.0          0.0.0.0     192.168.43.1    192.168.43.73     25
       10.10.10.0    255.255.255.0         On-link        10.10.10.8    286
       10.10.10.8  255.255.255.255         On-link        10.10.10.8    286
     10.10.10.255  255.255.255.255         On-link        10.10.10.8    286
        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.43.0    255.255.255.0         On-link     192.168.43.73    281
    192.168.43.73  255.255.255.255         On-link     192.168.43.73    281
   192.168.43.255  255.255.255.255         On-link     192.168.43.73    281
        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.43.73    281
        224.0.0.0        240.0.0.0         On-link        10.10.10.8    286
  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.43.73    281
  255.255.255.255  255.255.255.255         On-link        10.10.10.8    286
===========================================================================
Постоянные маршруты:
  Отсутствует

IPv6 таблица маршрута
===========================================================================
Активные маршруты:
 Метрика   Сетевой адрес            Шлюз
  7    306 ::/0                     On-link
  1    306 ::1/128                  On-link
  7    306 2001::/32                On-link
  7    306 2001:0:9d38:6abd:1c42:ca0b:2aa8:7ff7/128
                                    On-link
  4    281 fe80::/64                On-link
 33    286 fe80::/64                On-link
  7    306 fe80::/64                On-link
  7    306 fe80::1c42:ca0b:2aa8:7ff7/128
                                    On-link
  4    281 fe80::4442:991a:d0b2:cbce/128
                                    On-link
 33    286 fe80::e81b:a6b8:c31d:5c02/128
                                    On-link
  1    306 ff00::/8                 On-link
  4    281 ff00::/8                 On-link
  7    306 ff00::/8                 On-link
 33    286 ff00::/8                 On-link
===========================================================================
Постоянные маршруты:
  Отсутствует

C:\Windows\system32>ping 192.168.0.101

Обмен пакетами с 192.168.0.101 по с 32 байтами данных:
Превышен интервал ожидания для запроса.
Превышен интервал ожидания для запроса.
Превышен интервал ожидания для запроса.
Превышен интервал ожидания для запроса.

Статистика Ping для 192.168.0.101:
    Пакетов: отправлено = 4, получено = 0, потеряно = 4
    (100% потерь)

C:\Windows\system32>ping 192.168.0.40

Обмен пакетами с 192.168.0.40 по с 32 байтами данных:
Превышен интервал ожидания для запроса.

Статистика Ping для 192.168.0.40:
    Пакетов: отправлено = 1, получено = 0, потеряно = 1
    (100% потерь)
Control-C
^C
C:\Windows\system32>ping 10.10.10.6

Обмен пакетами с 10.10.10.6 по с 32 байтами данных:
Ответ от 10.10.10.6: число байт=32 время=424мс TTL=64
Ответ от 10.10.10.6: число байт=32 время=133мс TTL=64
Ответ от 10.10.10.6: число байт=32 время=119мс TTL=64
Ответ от 10.10.10.6: число байт=32 время=103мс TTL=64

Статистика Ping для 10.10.10.6:
    Пакетов: отправлено = 4, получено = 4, потеряно = 0
    (0% потерь)
Приблизительное время приема-передачи в мс:
    Минимальное = 103мсек, Максимальное = 424 мсек, Среднее = 194 мсек

Я так же могу и по ssh зайти и apache по адресу 10.10.10.6 запускается, а по 192.168.0.101 не проходит и все, в чем проблема ни как не пойму. Если мыслить логически, то тут 2 варианта или что-то с маршрутами или фаервол не пускает, ну вы говорите, что с фаервол, мне тоже так почему-то кажется, тут что-то не так с маршрутами, причем когда я мог зайти на 192.168.0.101, то тут тоже получается маршруты ходили до шлюза 192.168.0.1 наверно..Вот на всякий случай маршруты, может что не заметили или я чего-то не понимаю..

login as: root
root@10.10.10.6's password:

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Thu Sep 22 19:23:00 2016 from 192.168.0.100
root@serverhome22:~# ip r s
default via 192.168.0.1 dev eth0  proto static  metric 1024
10.0.0.0/7 dev tap0  proto kernel  scope link  src 10.10.10.6
192.168.0.0/24 dev eth0  proto kernel  scope link  src 192.168.0.101
root@serverhome22:~#

AnonimS
() автор топика
Ответ на: комментарий от anc

Что именно я сделал так и не понял, но сервер увидел подсеть 192.168.0.0 и все его устройства. Подключаю клиента винды ни какого результата. В iptables ни чего не поменялось:

# Generated by iptables-save v1.4.21 on Thu Sep 22 21:15:26 2016
*nat
:PREROUTING ACCEPT [2102:158188]
:INPUT ACCEPT [67:9456]
:OUTPUT ACCEPT [112:6775]
:POSTROUTING ACCEPT [112:6775]
-A POSTROUTING -s 10.10.10.0/24 -j MASQUERADE
COMMIT
# Completed on Thu Sep 22 21:15:26 2016
Маршруты тоже:

root@serverhome22:~# ip r s
default via 192.168.0.1 dev eth0  proto static  metric 1024
10.10.10.0/24 via 10.10.10.1 dev tun0
10.10.10.1 dev tun0  proto kernel  scope link  src 10.10.10.6
192.168.0.0/24 dev eth0  proto kernel  scope link  src 192.168.0.101

Ну пинг проходит с сервера

root@ххх:/etc/openvpn/h# ping 192.168.0.40
PING 192.168.0.40 (192.168.0.40) 56(84) bytes of data.
64 bytes from 192.168.0.40: icmp_seq=1 ttl=63 time=66.4 ms
64 bytes from 192.168.0.40: icmp_seq=2 ttl=63 time=76.7 ms
64 bytes from 192.168.0.40: icmp_seq=3 ttl=63 time=114 ms
64 bytes from 192.168.0.40: icmp_seq=4 ttl=63 time=132 ms
64 bytes from 192.168.0.40: icmp_seq=5 ttl=63 time=91.9 ms
64 bytes from 192.168.0.40: icmp_seq=6 ttl=63 time=50.6 ms
64 bytes from 192.168.0.40: icmp_seq=7 ttl=63 time=104 ms
64 bytes from 192.168.0.40: icmp_seq=8 ttl=63 time=66.8 ms
64 bytes from 192.168.0.40: icmp_seq=9 ttl=63 time=44.9 ms
64 bytes from 192.168.0.40: icmp_seq=10 ttl=63 time=71.6 ms
64 bytes from 192.168.0.40: icmp_seq=11 ttl=63 time=49.7 ms
64 bytes from 192.168.0.40: icmp_seq=12 ttl=63 time=59.9 ms
^Z
[4]+  Stopped                 ping 192.168.0.40
Мистика прям какая-то..Ладно, завтра еще раз все перепроверю..

AnonimS
() автор топика
Ответ на: комментарий от anc

Спасибо вам больше за помощь, я последовал вашему совету из другой темы, понял, что я что-то упускаю из-за пробелов в знаниях, все заранее уже придумано. Взял и начал изучать документацию по OpenVPN относительно всех опций, которые использую и каково было мое удивление, когда все заработало, спустя 10 мин. Отсюда вывод: не надо изобретать велосипед, когда он уже есть=) Сбрасываю рабочие конфиги, вдруг кому пригодятся. Сервер:


port 4593
proto tcp
dev tun
ca /etc/openvpn/h/ca.crt
cert /etc/openvpn/h/server.crt
key /etc/openvpn/h/server.key
dh /etc/openvpn/h/dh2048.pem
server 10.10.10.0 255.255.255.0
keepalive 10 120
comp-lzo
persist-key
persist-tun

#route 10.10.10.0 255.255.255.0
push "route 10.10.10.0 255.255.255.0"

status /var/log/openvpn-status-h.log
log /var/log/openvpn-h.log
cipher AES-256-CBC
#push "redirect-gateway"
push "dhcp-option DNS 8.8.8.8"
client-to-client
#ifconfig-pool-persist ipp.txt

#route 192.168.1.0 255.255.255.0
route 192.168.0.0 255.255.255.0
#push "route 10.10.10.0 255.255.255.0 192.168.0.101"
#push "route 192.168.1.0 255.255.255.0"
push "route 192.168.0.0 255.255.255.0"
client-config-dir /etc/openvpn/h/ccd

/etc/openvpn/h/ccd/user1
root@host:~# cat /etc/openvpn/h/ccd/user1
ifconfig-push 10.10.10.13 10.10.10.14
iroute 192.168.0.0 255.255.255.0

/etc/openvpn/h/ccd/user

root@host:~# cat /etc/openvpn/h/ccd/user
ifconfig-push 10.10.10.9 10.10.10.10
iroute 192.168.1.0 255.255.255.0
#iroute 192.168.0.0 255.255.255.0
#push «route 192.168.0.0 255.255.255.0»

Клиент user1(подсеть 192.168.0.1)


dev tun
proto tcp
remote хххх 4593
resolv-retry infinite

script-security 2
nobind
persist-key
persist-tun
ns-cert-type server
comp-lzo
verb 3
cipher AES-256-CBC
ca /etc/openvpn/ca.crt
cert /etc/openvpn/user1.crt
key /etc/openvpn/user1.key # This file should be kept secret
status /var/log/openvpn-status.log
log /var/log/openvpn.log
#up /usr/local/etc/openvpn_up.sh
#push "route 192.168.0.0 255.255.255.0"
#redirect-gateway

Конфиг винды

client 
dev tun 
proto tcp 
remote xxxx 4593 
#remote  188 
resolv-retry infinite 
nobind 
persist-key 
persist-tun 
ca "C:\\Program Files\\OpenVPN\\config\\home\\ca.crt" 
cert "C:\\Program Files\\OpenVPN\\config\\home\\user.crt" 
key "C:\\Program Files\\OpenVPN\\config\\home\\user.key" 
ns-cert-type server 
comp-lzo 
log "C:\\Program Files\\OpenVPN\\config\\home\\openvpn.log"
verb 3
cipher AES-256-CBC
route-method exe
route-delay 5
#show-net-up 
# раскоментировать, если клиент под виндовс
# если в конфиг OpenVPN вставить show-net-up, то OpenVPN запросит
# windows через API всю таблицу маршрутизации и выведет её в лог
#ip-win32 manual

PS.На будущее думаю гораздо проще и дешевле взять у провайдера белый адрес и не ломать себе голову..

AnonimS
() автор топика
Ответ на: комментарий от AnonimS

Хорошо, что все хорошо! Я рад что у вас все заработало.

anc ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.