URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID10
Нить номер: 5327
[ Назад ]

Исходное сообщение
"Соеденить две сети (VPN + Vtund)"

Отправлено kas1e , 19-Май-15 19:39 
OpenVPN + vtun.

Приветствую.

Необходимо поднять двойной впн на Centos, но не openvpn-openvpn, а openvpn-vtun (тот vtun что http://vtun.sourceforge.net/) Т.е. схема: клиент -- опенвпн --> сервер1 -- vtun --> сервер2. В то время как vtun локака работает (все пингуется ок) и опенвпн клиенты приконектившись попадают в openvpn локалку, не знаю как сделать так чтобы все пакеты что приходят от опенвпн-вин-клиентов выходили на втором сервере. Тоесть понимаю что нужно гдето роутинг добавить, маскарадинг, но где именно и как , пробую и не получается. Если кто-то поможет разобраться буду премного благодарен.

Более детально:

Форвардинг пакетов на обоих серваках включен (в /etc/sysctl.conf)

Сервер1 (openvpn демон и vtun клиент)

Конфиг openvpn:

port 1194
local SERVER1_IP
proto udp
dev tun0
server 10.0.1.0 255.255.255.0
ca keys/ca.crt
cert keys/server.crt
key keys/server.key
dh keys/dh1024.pem
cipher AES-256-CBC
user nobody
group nobody
status openvpnserver-status.log
log-append openvpnserver.log
verb 3
max-clients 30
keepalive 10 120
tls-server
comp-lzo
persist-key
persist-tun
push "redirect-gateway def1"
push "dhcp-option DNS 8.8.8.8"


Конфиг vtun клиента:

options
{
    port 10000;
    syslog daemon;
    ifconfig /sbin/ifconfig;
    route /sbin/route;
    ip /sbin/ip;
    firewall /sbin/iptables;
}

client1
{
    passwd testpassword;
    type tun;
    persist yes;

    up
    {
        ifconfig "%% 10.1.0.2 pointopoint 10.1.0.3 mtu 1450";
        route "add -net 1.2.3.4/16 gw 10.1.0.3";
    };

    down
    {
        ifconfig "%% down";
    };
}


Т.е. на сервер1 после запуска openvpn и vtun_client имеем:  tun0 (openvpn) с адресом 10.0.1.1 и tun1 (vtun) с адресом 10.1.0.2.


Таблица роутинга при этом выглядит так:

[root@localhost]# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.1.0.3        *               255.255.255.255 UH    0      0        0 tun1
10.0.1.2        *               255.255.255.255 UH    0      0        0 tun0
10.0.1.0        10.0.1.2        255.255.255.0   UG    0      0        0 tun0
SERV1_NET.0     *               255.255.240.0   U     0      0        0 eth0
link-local      *               255.255.0.0     U     1002   0        0 eth0
default         SERV1_NET.1     0.0.0.0         UG    0      0        0 eth0


iptables полностью чистый, ната нет, маскарадинга нет.


Сервер2 (vtun_server):


options
{
    port 10000;
    syslog daemon;
    ifconfig /sbin/ifconfig;
    route /sbin/route;
    ip /sbin/ip;
    firewall /sbin/iptables;
}

default
{
    compress lzo:9;
    speed 0;
}

client1
{
    passwd testpassword;
    type tun;
    proto udp;
    encrypt aes256ofb;
    keepalive yes;

    up
    {
        ifconfig "%% 10.1.0.3 pointopoint 10.1.0.2 mtu 1450";
        firewall "-t nat -A POSTROUTING -s 10.1.0.2 -j MASQUERADE";
    };

    down
    {
        firewall "-t nat -F";
        ifconfig "%% down";
    };
}


Соответсвенно на сервер2 после запуска vtun_server имеем tun0 (vtun) с адресом 10.1.0.3

таблица роутинга:

[root@localhost]# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.1.0.2        0.0.0.0         255.255.255.255 UH    0      0        0 tun0
SERV2_NET.0     0.0.0.0         255.255.255.192 U     0      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth0
0.0.0.0         SERV2_NET.62      0.0.0.0         UG    0      0        0 eth0

iptables:

[root@hosted-by vtund]# iptables -t nat -L
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination
MASQUERADE  all  --  10.1.0.2             anywhere

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
[root@hosted-by vtund]#

Пробую приконектится с вин клиентом к сервер1 по опенвпн : все соединяется, но tracert 11.11.11.11 выдает:

C:\> tracert  11.11.11.11
Tracing route to 11.11.11.11 over a maximum of 30 hops

  1    80 ms    81 ms    99 ms  10.0.1.1
  2     *        *        *     Request timed out.
  3     *        *        *     Request timed out.

Тоесть после впн адреса ничто никуда не идет. А нужно чтобы все шло на vtun сеть и оттуда выходило в инет.  Я так понимаю должно быть чтото типа такого по итогу когда трэйсить буду с винды:

  1    80 ms    81 ms    99 ms  10.0.1.1
  2    80 ms    81 ms    99 ms  10.1.0.2
  3    80 ms    81 ms    99 ms  10.1.0.3

ну и тд


Уверен что намудрено с руитингом и маскарадингом в втун конфигах (и скорей всего не достаточно вообще сделано), кто поможет буду признателен. Тоесть нужно пакеты с опенвпн сетки, передавать в втун сетку, и там уже выход-маскарадинг.

Спасибо.


Содержание

Сообщения в этом обсуждении
"Соеденить две сети (VPN + Vtund)"
Отправлено reader , 26-Май-15 19:29 
> OpenVPN + vtun.
> Приветствую.
> Необходимо поднять двойной впн на Centos, но не openvpn-openvpn, а openvpn-vtun (тот
> vtun что http://vtun.sourceforge.net/) Т.е. схема: клиент -- опенвпн --> сервер1 --
> vtun --> сервер2. В то время как vtun локака работает (все
> пингуется ок) и опенвпн клиенты приконектившись попадают в openvpn локалку, не
> знаю как сделать так чтобы все пакеты что приходят от опенвпн-вин-клиентов
> выходили на втором сервере. Тоесть понимаю что нужно гдето роутинг добавить,
> маскарадинг, но где именно и как , пробую и не получается.
> Если кто-то поможет разобраться буду премного благодарен.

клиенты идут на какойто определенный адрес или все подрял от них на сервер2, если все подрят читайте темы 2 провайдера

>[оверквотинг удален]
> U     0      
> 0        0 eth0
> link-local      *      
>          255.255.0.0  
>    U     1002  
> 0        0 eth0
> default         SERV1_NET.1  
>   0.0.0.0        
> UG    0      0
>        0 eth0

а где маршрут который получается от
route "add -net 1.2.3.4/16 gw 10.1.0.3";

дальше после ваших пояснений

>[оверквотинг удален]
>   2    80 ms    81
> ms    99 ms  10.1.0.2
>   3    80 ms    81
> ms    99 ms  10.1.0.3
> ну и тд
> Уверен что намудрено с руитингом и маскарадингом в втун конфигах (и скорей
> всего не достаточно вообще сделано), кто поможет буду признателен. Тоесть нужно
> пакеты с опенвпн сетки, передавать в втун сетку, и там уже
> выход-маскарадинг.
> Спасибо.