The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  правила/FAQ  поиск  регистрация  вход/выход  слежка  RSS
"Заставить роутер пропускать пакеты в сеть OpenVPN"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Маршрутизация, NAT / Linux)
Изначальное сообщение [ Отслеживать ]

"Заставить роутер пропускать пакеты в сеть OpenVPN"  –1 +/
Сообщение от xntrea on 06-Ноя-17, 22:43 
Имеем конфигурацию:

1. VDS-виртуалка в Интернете, на которой запущен сервер OpenVPN. Для vpn-сети задано адресное пространство 192.168.2.0/24. В этой vpn-cети данная виртуалка имеет IP 192.168.2.1.

2. Домашний роутер с прошивкой DD-WRT, на котором запущен openvpn-клиент. После соединения с сервером, роутер получает в vpn-сети IP 192.168.2.50. Его IP в локальной домашней сети 192.168.1.1.

3. Домашняя рабочая станция. Ее IP, к примеру 192.168.1.5. Маршрут по-умолчанию на ней установлен, естественно, на гейтвей 192.168.1.1.

Vpn-соединение между виртуалкой и роутером нормальное, работает в двух направлениях. Из консоли роутера пинги ходят до виртуалки. В консоле виртуалки пинги ходят до роутера.

Для начала задача простая: достучаться до виртуалки 192.168.2.1 с рабочей станции 192.168.1.5.

Для этого я на роутере сначала смотрю роутинг:

# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         192.214.221.83. 0.0.0.0         UG    0      0        0 ppp0
83.221.214.192  *               255.255.255.255 UH    0      0        0 ppp0
127.0.0.0       *               255.0.0.0       U     0      0        0 lo
169.254.0.0     *               255.255.0.0     U     0      0        0 br0
192.168.1.0     *               255.255.255.0   U     0      0        0 br0
192.168.2.0     *               255.255.255.0   U     0      0        0 tun0

Я не силен в сетях, поэтому не могу точно сказать, достаточно ли строки 192.168.2.0 для того, чтобы пакеты на сеть 192.168.2.0 заворачивались этим правилом. Поэтому добавляю такое правило (просто командой, не через WEB интерфейс):

# route add -net 192.168.2.0 netmask 255.255.255.0 gw 192.168.2.1 metric 1

После чего имею уже два правила:

# route | grep 192.168.2.0
192.168.2.0     *               255.255.255.0   U     0      0        0 tun0
192.168.2.0     192.168.2.1     255.255.255.0   UG    1      0        0 tun0

По идее, этого достаточно для того, чтобы роутер начал пробрасывать пакеты из сети 192.168.1.0/24 в 192.168.2.0/24, используя в качестве гейтвея хост с виртуалкой 192.168.2.1.

Однако ни ping 192.168.2.1, ни traceroute 192.168.2.1, выполненные в консоли домашней рабочей станции, не работают.

Я не пойму, почему так происходит. Может быть, пакеты пробрасываются до 192.168.2.1 из сети 192.168.1.0/24, но обратно не возвращаются, потому что нужно еще как-то маршрут возвращения прописать? Или пинги не проходят потому, что на роутере их рубит файрвол? Вот какую информацию могу дать по файрволу:

# cat /proc/sys/net/ipv4/ip_forward
1
root@gw0:~# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination        
DROP       tcp  --  anywhere             anywhere            tcp dpt:webcache
DROP       tcp  --  anywhere             anywhere            tcp dpt:www
DROP       tcp  --  anywhere             anywhere            tcp dpt:https
DROP       tcp  --  anywhere             anywhere            tcp dpt:69
DROP       tcp  --  anywhere             anywhere            tcp dpt:ssh

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination        
ACCEPT     0    --  anywhere             anywhere            state RELATED,ESTABLISHED
lan2wan    0    --  anywhere             anywhere            
ACCEPT     0    --  anywhere             anywhere            
ACCEPT     udp  --  anywhere             base-address.mcast.net/4
TRIGGER    0    --  anywhere             anywhere            TRIGGER type:in match:0 relate:0
trigger_out  0    --  anywhere             anywhere            
ACCEPT     0    --  anywhere             anywhere            state NEW

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination        

Chain advgrp_1 (0 references)
target     prot opt source               destination        

Chain advgrp_10 (0 references)
target     prot opt source               destination        

Chain advgrp_2 (0 references)
target     prot opt source               destination        

Chain advgrp_3 (0 references)
target     prot opt source               destination        

Chain advgrp_4 (0 references)
target     prot opt source               destination        

Chain advgrp_5 (0 references)
target     prot opt source               destination        

Chain advgrp_6 (0 references)
target     prot opt source               destination        

Chain advgrp_7 (0 references)
target     prot opt source               destination        

Chain advgrp_8 (0 references)
target     prot opt source               destination        

Chain advgrp_9 (0 references)
target     prot opt source               destination        

Chain grp_1 (1 references)
target     prot opt source               destination        

Chain grp_10 (0 references)
target     prot opt source               destination        

Chain grp_2 (0 references)
target     prot opt source               destination        

Chain grp_3 (0 references)
target     prot opt source               destination        

Chain grp_4 (0 references)
target     prot opt source               destination        

Chain grp_5 (0 references)
target     prot opt source               destination

Chain grp_6 (0 references)
target     prot opt source               destination

Chain grp_7 (0 references)
target     prot opt source               destination

Chain grp_8 (0 references)
target     prot opt source               destination

Chain grp_9 (0 references)
target     prot opt source               destination

Chain lan2wan (1 references)
target     prot opt source               destination
grp_1      0    --  anywhere             anywhere

Chain logaccept (0 references)
target     prot opt source               destination
ACCEPT     0    --  anywhere             anywhere

Chain logdrop (0 references)
target     prot opt source               destination
DROP       0    --  anywhere             anywhere

Chain logreject (0 references)
target     prot opt source               destination
REJECT     tcp  --  anywhere             anywhere            reject-with tcp-reset

Chain trigger_out (1 references)
target     prot opt source               destination

Вопрос: что где надо еще настроить, чтобы начали ходить пинги от рабочей станции до виртуалки?

PS: Далее будет следующий вопрос: как заставить ходить пинги из виртуалки до рабочей станции. Ради этого, в принципе, все и затевалось.

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Заставить роутер пропускать пакеты в сеть OpenVPN"  –2 +/
Сообщение от xintrea (ok) on 06-Ноя-17, 23:42 
Дополнение.

Я добавил правило:

# iptables -A FORWARD -d 192.168.2.0/24 -j ACCEPT
# iptables -L -n --line-numbers | grep 192.168.2.0
8    ACCEPT     0    --  0.0.0.0/0            192.168.2.0/24

Но пинги/трейсроут с рабочей станции до виртуалки все равно не проходят.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Заставить роутер пропускать пакеты в сеть OpenVPN"  +/
Сообщение от shadow_alone (ok) on 07-Ноя-17, 02:53 
А твоя виртуалка то знает о твоей домашней сети 192.168.1.0/24?
Добавь маршрут на ней, через 192.168.2.50 - если адрес статичный.
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "Заставить роутер пропускать пакеты в сеть OpenVPN"  –1 +/
Сообщение от Сергей (??) on 07-Ноя-17, 10:28 
Проще поднять нат на роутере на интерфейсе tun(vpn)


Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "Заставить роутер пропускать пакеты в сеть OpenVPN"  +/
Сообщение от shadow_alone (ok) on 07-Ноя-17, 10:45 
>  Проще поднять нат на роутере на интерфейсе tun(vpn)

И чем это поможет в этой конкретной задаче?
Обратно то связи не будет, и ты предложишь пробрасывать порты, да?

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. "Заставить роутер пропускать пакеты в сеть OpenVPN"  +/
Сообщение от ыы on 07-Ноя-17, 12:54 
>>  Проще поднять нат на роутере на интерфейсе tun(vpn)
> И чем это поможет в этой конкретной задаче?
> Обратно то связи не будет, и ты предложишь пробрасывать порты, да?

если проблема в недостатке правила маршрутизации на виртуалке к сети 192.168.1.0 - то поднятие на роутере NAT- сделает такое правило ненужным. Это же очевидно.

другое дело что прописать правило маршрутизации может быть разумнее чем потом решать проблемы с NAT

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

6. "Заставить роутер пропускать пакеты в сеть OpenVPN"  +/
Сообщение от Сергей (??) on 07-Ноя-17, 14:59 
>>>  Проще поднять нат на роутере на интерфейсе tun(vpn)
>> И чем это поможет в этой конкретной задаче?
>> Обратно то связи не будет, и ты предложишь пробрасывать порты, да?
> если проблема в недостатке правила маршрутизации на виртуалке к сети 192.168.1.0 -
> то поднятие на роутере NAT- сделает такое правило ненужным. Это же
> очевидно.
> другое дело что прописать правило маршрутизации может быть разумнее чем потом решать
> проблемы с NAT

  Если не требуется пинги от виртуалки к станции, точнее доступ из локалки к виртуалки,  то нат самый простой способ,  в противном случае вы должны написать
1.правило маршрутизации на роутере, чтобы локалка  к виртуалки ходила через vpn
2.правило на виртуалке, чтоб она знала, что пакеты для локалки надо кидать в vpn

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

7. "Заставить роутер пропускать пакеты в сеть OpenVPN"  +/
Сообщение от fantom (??) on 09-Ноя-17, 17:11 
>[оверквотинг удален]
>           anywhere
>            
> reject-with tcp-reset
> Chain trigger_out (1 references)
> target     prot opt source    
>           destination
> Вопрос: что где надо еще настроить, чтобы начали ходить пинги от рабочей
> станции до виртуалки?
> PS: Далее будет следующий вопрос: как заставить ходить пинги из виртуалки до
> рабочей станции. Ради этого, в принципе, все и затевалось.

1. оба интерфейса должны быть в одной зоне файрвола dd-wrt роутера.
(ну или разрешить гонять траф между зонами)
2. правильно настроить openvpn на сервере
https://openvpn.net/index.php/open-source/documentation/howt...
чтобы при подключении этого клиента появлялся маршрут к домашней сети
192.168.1.0/24

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру