domingo, 24 de fevereiro de 2008

Vtun 3.0.2: ainda incompatível com o servidor versão 2.X

Quando instalei o Ubuntu Gutsy tive uma surpresa desagradável: a versão do Vtun que vem na distro (3.0.0) era incapaz de se conectar a um servidor rodando a versão 2.X.

Pois bem, depois de ter desistido de usar o vtun, eis que os desenvolvedores após mais de um ano do lançamento da versão 3.X, resolveram corrigir isso na nova versão 3.0.2 que foi lançada no dia 08 passado.

Como não haviam pacotes deb, tentei instalar o mesmo de duas formas:

1)Baixei o tar.gz aqui e compilei o Vtun dos sources. PS: para instalar o Vtun usando os sources no Ubuntu, você precisará antes instalar o yacc. Para isso baixe o mesmo aqui. Eu tentei fazer dessa maneira mas obtive um erro de compilação.

2)Baixei o rpm do fc8 aqui e use o alien para convertê-lo para .deb. Depois instalei-o com o comando dpkg. Para que o mesmo iniciasse, tive ainda de fazer os seguintes passos:
  • Criei o arquivo /etc/init.d/vtun com o seguinte conteúdo:

    #!/bin/sh -e
    # vim:ts=4:sw=4:et:ai:sts=4
    #

    PATH=/bin:/usr/bin:/sbin:/usr/sbin
    DAEMON=/usr/sbin/vtund
    CONFFILE=/etc/vtund.conf
    PIDPREFIX=/var/run/vtund

    test -f $DAEMON || exit 0
    test -f $CONFFILE || exit 0
    test -f /etc/default/vtun && . /etc/default/vtun

    case "$1" in
    start)
    if [ -f /etc/vtund-start.conf ]; then
    echo "/etc/vtund-start.conf has been replaced!"
    echo "Please read /usr/share/doc/vtun/NEWS.Debian"
    fi
    if [ -n "$RUN_SERVER" ] && [ "$RUN_SERVER" != no ]; then
    echo -n "Starting vtund server: "
    start-stop-daemon --start --startas $DAEMON --oknodo \
    --pidfile $PIDPREFIX.server.pid -- -s $SERVER_ARGS
    echo "vtund[s]."
    fi
    for i in 0 1 2 3 4 5 6 7 8 9; do
    eval name=\$CLIENT${i}_NAME
    eval host=\$CLIENT${i}_HOST
    eval args=\$CLIENT${i}_ARGS
    if [ -n "$name" ] && [ -n "$host" ]; then
    echo -n "Starting vtund client $name to $host: "
    start-stop-daemon --start --startas $DAEMON --oknodo \
    --pidfile $PIDPREFIX.$name-$host.pid -- $name $host $args
    echo "vtund[c]."
    fi
    done
    ;;
    stop)
    echo "Stopping vtund."
    for i in $PIDPREFIX*.pid; do
    test -f "$i" || continue
    start-stop-daemon --oknodo --stop --pidfile $i
    rm -f $i
    done
    ;;
    reload|force-reload)
    echo "Reloading vtund.";
    for i in $PIDPREFIX*; do
    test -f "$i" || continue
    start-stop-daemon --oknodo --stop --signal 1 --pidfile $i;
    done
    ;;
    restart)
    $0 stop
    sleep 1;
    $0 start
    ;;
    *)
    echo "Usage: $0 {start|stop|restart|reload|force-reload}" >&2
    exit 1
    ;;
    esac
    exit 0
  • Criei o arquivo /etc/default/vtun com o seguinte conteúdo:

    # Session name
    CLIENT0_NAME=suasessao
    #
    # Destination host
    CLIENT0_HOST=seuservidor
    #
    # Optional parameters
    # CLIENT0_ARGS=
  • Instalei os pacotes libsll-dev, liblzo-dev e zlib1g-dev
  • Rodei o comando ln -s /usr/lib/libcrypt.so /lib/tls/i686/cmov/libcrypt.so.6
  • Rodei o comando ldconfig
  • Configurei os dados no arquivo /etc/vtund.conf
  • Iniciei o serviço e pronto, meu Vtun agora estava pelo menos iniciando.
Infelizmente mesmo nessa segunda abordagem a conexão não fica ativa. Fiquei monitorando os logs do servidor e percebi que o mesmo fica dando acesso negado quando a conexão é levantada.

Tentei isso já em 2 locais diferentes e os problemas foram os mesmos.

Se você já passou por algo semelhante e conseguiu resolver, por favor poste aqui seu comentário.

Por enquanto a minha solução foi baixar o pacote da versão anterior do Ubuntu, instalar e colocar em hold.

:-/

Nenhum comentário:

Postar um comentário