Can 2 VTun clients connect to the same server at the same time?

Help
yoyochen
2013-10-18
2013-10-22
  • yoyochen

    yoyochen - 2013-10-18

    Hi all,

    I am new in VTun. I search for the solutions for days but still can't solve my problem. Please help to give me some hints.

    My environment has one server and two clients. I wish both clients connect to the server by vtun so that client can access another client each other.
    (Does vtun can do this?)
    Server's IP of eth0 is 192.168.10.65, which can be accessed by both client.
    Server and client are all Ubuntu 12.04. The vtund were installed by apt-get (ver 3.x 05/17/2011).

    I start the vtun by "sudo vtund -s".
    I start the client 1 by "sudo vtund home 192.168.10.65". The tunnel built. Server can ping to client 1(192.168.20.66), and client 1 can ping to server(192.168.20.65).
    I start the client 2 as same as client 1. Server can't ping to client 2(192.168.20.67) and vice versa.
    When I kill the vtund process in client 1, the tunnel between server and client 2 are built. They can ping to each other.

    My question is why both clients can't establish the tunnels with server at the same time?
    I have "multi yes" in the config file of server, why server can't accept both connections at the same time? Or "multi yes" is not what I think?

    If I change it to "multi killold", the tunnel of client 1 will be killed when client 2 start vtund. This part works fine.

    Thanks!

    ===== The config file of server =====
    home {
    type tun;
    proto tcp;
    stat yes;
    keepalive yes;
    passwd xxxxxx;
    multi yes;

    up {
        ifconfig "%% 192.168.20.65 netmask 255.255.255.0 broadcast 192.168.20.255";
    };
    

    }

    ===== The config file of client 1 =====
    home {
    type tun;
    proto tcp;
    keepalive yes;
    passwd xxxxxx;

    up {
        ifconfig "%% 192.168.20.66 netmask 255.255.255.0 broadcast 192.168.20.255";
    };
    

    }

    ===== The config file of client 2 =====
    home {
    type tun;
    proto tcp;
    keepalive yes;
    passwd xxxxxx;

    up {
        ifconfig "%% 192.168.20.67 netmask 255.255.255.0 broadcast 192.168.20.255";
    };
    

    }

     
  • yoyochen

    yoyochen - 2013-10-21

    Sorry for a quick question.
    In config file, "multi" means multiple connections.
    Does it mean this session can accept multiple connections? Or mean this server can accept multiple connections?

     
  • Bishop

    Bishop - 2013-10-21

    I see you're using a netmask with a type of TUN. Consider using a tap tunnel and see if it improves your behaviour.

     
    • yoyochen

      yoyochen - 2013-10-21

      I define only one host profile in server config, and both clients connect by this profile. Is it a valid way to use vtund?
      I have tried both tun and tap, and found that one client will fail to establish the tunnel when both client using same profile. I search for days and can't find success sample yet. Just wish to know such scenario is possible for vtun or not.

       
  • Bishop

    Bishop - 2013-10-21

    I'm pretty sure a broadcast address on a tun interface won't work.

     
    • yoyochen

      yoyochen - 2013-10-22

      Got it! Thanks a lot!

       

Log in to post a comment.