Commit ccb2949a authored by Erik Alexandre Pucci's avatar Erik Alexandre Pucci

Merge remote branch 'tincuca-server/master'

Signed-off-by: default avatarErik Alexandre Pucci <>
parents 561e781f 581e8142
This package contains the configuration needed to the proinfo vpn server.
To achieve a fully functional server you need to install following packages:
- tinc, dhcp3-server, bind9, ntp, ntpdate
The tinc directory provides the configuration of tinc.
The dhcp3 directory provides the configuration of dhcp3-server.
The bind and bindcache directories provides the configuration of bind9.
- The contents of bindcache directory must be placed on /var/cache/bind
To include a new vpn client, you need to duplicate the hosts/myname.
The server are currently set to
The current server port are set to 5000. The tinc default port is 655. So,
when we deploy this vpn we need to get back to default.
\ No newline at end of file
\ No newline at end of file
\ No newline at end of file
main.pdf: main.tex main.bbl *.tex
pdflatex main.tex
main.bbl: main.tex agente.bib
pdflatex main.tex
bibtex main
pdflatex main.tex
pdflatex main.tex
rm -f *.aux *.idx *.log *.pdf *.dvi *.toc *.blg *.bbl
key = {SSI},
title = {{S}erver {S}ide {I}ncludes},
note =
{A}cesso em: {A}bril, 2009}
key = {API},
title = {{A}PI do {S}DI},
note =
{A}cesso em: {A}bril, 2009}
key = {Tomcat},
title = {{T}omcat},
note =
{A}cesso em: {J}unho, 2010}
key = {Ssh},
title = {{S}ecure {S}hell},
note =
{A}cesso em: {J}unho, 2010}
key = {ClusterSSH},
title = {{C}lusterSSH},
note = {\url{}.
{A}cesso em: {M}arço, 2009}
key = {Nagios},
title = {{N}agios},
note = {\url{}.
{A}cesso em: {J}unho, 2010}
author = {B. C. Ribas and D. G. Pasqualin and V. K. Ruoso and F. Silva and M. Castilho and L. C. E. Bona},
title = {{SDI} - {S}istema de {D}iagnóstico {I}nstantâneo},
journal = {WSL},
year = {2009},
author = {Oliveira, A.C. and Vignatti, T. and Weingaertner, D. and Silva, F. and Castilho, M.A. and Sunyé, M.S.},
title = {Um modelo de computacao multiusuário baseado em computadores pessoais},
journal = {VII Workshop de Software Livre},
year = {2006},
isbn = {857669066-7},
author = {M. A. Castilho and M. S. Sunye and D. Weingaerter and L. C. E.
Bona and F. Silva and A. I. Direne and L. S. Garcia and A. L. P. Guedes},
title = {Making government policies for education possible by means of Open
Source technology: a successful case},
publisher = {Hershey - USA: Idea Group Publishing},
edition = {1st},
volume = {1},
pages = {343-368},
year = {2006}
author = {C3SL},
title = { {A}cesso em: {M}arço, 2008}},
year = {2008},
key = {lagrid},
author = {L. C. E. Bona and M. A. Castilho and D. Weingaertner and F. Silva and M. S. Sunyé and L. H. A. Lourenço and B. C. Ribas},
title = {Managing a Grid of Computer Laboratories for Educational Purposes},
note = {In: LAGrid08 - Latin American Grid, Campo Grande. Proceedings of
the Second Latin American Grind},
year = {2008}
key = {Axis},
title = {{A}pache {A}xis},
note =
{A}cesso em: {J}unho, 2010}
author = {W3C},
title={Web Services Description Language},
urlaccessdate={28 may 2010},
author="R. Rivest",
title="{The MD5 Message-Digest Algorithm}",
series="Request for Comments",
howpublished="RFC 1321 (Informational)",
organization="Internet Engineering Task Force",
author="R. Fielding and J. Gettys and J. Mogul and H. Frystyk and L. Masinter and P. Leach and T. Berners-Lee",
title="{Hypertext Transfer Protocol -- HTTP/1.1}",
series="Request for Comments",
howpublished="RFC 2616 (Draft Standard)",
organization="Internet Engineering Task Force",
note="Updated by RFCs 2817, 5785",
author = {Martin Gudgin and Marc Hadley and Noah Mendelsohn and Jean-Jacques Moreau and Henrik Frystyk Nielsen},
howpublished = {W3C Recommendation},
interhash = {07f09dd67f8676bb7a8b83c35eae6891},
intrahash = {991ca3b1a302979bb9bb320e95191e58},
title = {SOAP Version 1.2 Part 2: Adjuncts},
url = {},
year = 2003,
timestamp = {2008.07.30},
keywords = {imported},
owner = {magsilva},
biburl = {},
month = {June}
This diff is collapsed.
Esta seção descreve a arquitetura da solução TINCUCA e a relação entre os
Na figura \ref{fig:arquitetura} estão representados o servidor central, o
servidor motorola - que contém um aplicativo para monitoração dos
controladores motorola -, os servidores Metasys e controladores motorola.
As linhas vermelhas representam o fluxo de dados entre servidor motorola e
controladores, sempre iniciada pelo primeiro e funcional devido ao
redirecionamento de portas feita no servidor Metasys pelo TINCUCA Client.
A conexão SSH, feita através de chaves, só pode ser iniciada pelo Servidor
Central para os servidores Metasys. Para isso basta executar no Servidor
Central o comando \texttt{ssh root@hostINEP -i /root/.ssh/id\_rsa\_tincuca}.
A criação dessa chave é descrita na seção \ref{la:server}.
\caption{Arquitetura do Aplicativo TINCUCA}
Os pacotes necessários para a instalação do \textbf{tincuca-client} são os
\item bc
\item tinc
\item dhcp3-client
\item cron
\item grep
\item ntp
\item ssh
A instalação do \textbf{tincuca-server}, por sua vez, depende dos seguintes pacotes:
\item tinc
\item dhcp3-server
\item bind9
\item ntp
\item ntpdate
%% Save file as: HERE.STY Source: FILESERV@SHSU.BITNET
here.sty gives environments such as figure and table a [H] option
which means `PUT IT HERE'. As opposed to the standard [h] option which
means `You may put it here if you wish'.
David Carlisle
13 September 1991
% If you have Mittelbach's doc.sty, this file may be formatted with a
% command like: latex here.sty
% (You do not need doc.sty to {\em use} this style.)
% To create a faster loading .sty file, copy this file to here.doc
% Then remove all the lines beginning with a `%' from the .sty file. This
% may be done with docstrip.tex, or your text editor. The following two
% lines may also be deleted from the .sty file.
\ifcat a\noexpand @\let\next\relax\else\def\next{%
% \textwidth=365pt ^^A Allow macrocode text with 75 columns.
% \CodelineIndex ^^A Code lines numbered.
% \DisableCrossrefs ^^A No Cross references.
% \title{here.sty}
% \author{D. P. Carlisle}
% \date{13 Sept 1991}
% \begin{document}
% \maketitle
% \begin{abstract}
% \verb|here.sty| gives environments such as {\tt figure} and {\tt table} a
% {\tt [H]} option which means `PUT IT HERE'. As opposed to the standard
% {\tt [h]} option which means `You may put it here if you wish'.%
% \end{abstract}
% \begin{figure}[H]
% This figure will not float, even if this causes a bad page break.
% \caption{It may be captioned as usual.}
% \end{figure}
% Many people have problems with \LaTeX's floating environments. A common
% complaint is that all the environments appear at the end of the document
% (or chapter). Many users try to correct this behaviour by using the {\tt
% [h]} option. Incorect use of this option, in particular using just {\tt
% [h]} rather than a more liberal option such as {\tt [hp]} actually makes
% the problem worse!
% \LaTeX\ will only position a float (even one with the {\tt [h]} option)
% in a position which does not violate the rules for float placement set by
% the document style. These rules are determined by the following
% parameters:\\
% \begin{tabular}{ll}
% \verb|\c@topnumber|& Number of floats allowed at the top of a
% column.\\
% \verb|\topfraction|& Fraction of column that can be devoted to
% floats.\\
% \verb|\c@dbltopnumber|\\ \verb|\dbltopfraction|& Same as above, but for
% double-column floats.\\
% \verb|\c@bottomnumber|\\ \verb|\bottomfraction|& Same as above for
% bottom of page.\\
% \verb|\c@totalnumber|& Number of floats allowed in a single column,\\
% & including in-text floats.\\
% \verb|\textfraction|& Minimum fraction of column that must contain
% text.\\
% \verb|\floatpagefraction|& Minimum fraction of page that must be taken
% up by\\& float page.
% \end{tabular}%
% The default settings (in \verb|article.doc| for {\tt article} style) for
% these parameters make it difficult to set floats if the document has a
% lot of small floats. The result is that \LaTeX\ `holds them back' in the
% hope of finding a better place later. At the end of the document (or at a
% \verb|\clearpage|) it gives up and outputs all the remaining floats.
% It may be seen from the above paragraph that the `correct' way to handle
% float problems is to write a style file modifying these parameters,
% however for many purposes, authors to not want a float at all, they just
% use the {\tt figure} or {\tt table} environments to get the correct
% spacing, and a counter that may be referenced. This style option
% provides an easy solution in this case. If the {\tt [H]} option is
% specified, the environment will not float even if it causes a bad page
% break, or breaks the rules specified in the above parameters. The main
% drawback is that if the [H] option is used in one figure, and the
% following figure uses the {\tt [t]} option, then the second figure may
% float in front of the first.
% Note that the {\tt [H]} should not be used in conjunction with the other
% options. {\tt [Htp]} is not allowed by this style. The {\tt h} option may
% still be used, so {\tt [htp]} is OK.
% \typeout{End of the Introduction and Examples.}
% \typein[\answer]%
% {Do you want an annotated listing of the macro definitions (y/n) ?}
% \def\next{y}\ifx\answer\next\else\expandafter\stop\fi
% \section{The Macros}
% First we make sure that this file is only loaded once.
% \begin{macrocode}
% \end{macrocode}
% \begin{macro}{\@Hxfloat}
% Now we can save the original version of \verb|\@xfloat|.
% \begin{macrocode}
% \end{macrocode}
% \end{macro}
% \begin{macro}{\@xfloat}
% The new version of \verb|@xfloat| looks for a \verb|[H]| argument.
% If it is present \verb|\@HHfloat| is called, otherwise the original macro
% (renamed to \verb|\@Hfloat|) is called.
% \begin{macrocode}
% \end{macrocode}
% \end{macro}
% \begin{macro}{\@HHfloat}
% First gobble the \verb|[H]|. Note that {\tt H} should not be used in
% conjunction with the other placement options, nor as the value of the
% default placement, as set in \verb|\fps@|{\it type}.
% \begin{macrocode}
% \end{macrocode}
% Locally redefine the end of the environment.
% \begin{macrocode}
\expandafter\let\csname end#1\endcsname\end@Hfloat
% \end{macrocode}
% Add the vertical space, and define \verb|\caption|. Also reset
% \verb|\parindent| for compatibility with the standard {\tt [h]} option.
% \begin{macrocode}
% \end{macrocode}
% The final \verb|\ignorespaces| is needed to gobble any spaces or newlines
% after the {\tt[H]} tokens.
% \begin{macrocode}
% \end{macrocode}
% \end{macro}
% \begin{macro}{\end@Hfloat}
% Add the same vertical space as would be added by a float placed with
% {\tt[h]}.
% \begin{macrocode}
\def\end@Hfloat{\vskip \intextsep}
% \end{macrocode}
% \end{macro}
% \end{document}
This diff is collapsed.
O TINCUCA é uma solução que provê acesso remoto às máquinas das escolas do
projeto RUCA e aos roteadores nelas conectados. A solução consiste na criação de
uma VPN através do aplicativo TINC. TINC é distribuído sob licença GPLv2 e se
destaca por possuir configuração simples e agregar todas as funcionalidades
Este relatório descreve detalhes sobre a instalação, uso e arquitetura do
\title{TINCUCA - Solução de Túnel Reverso para Projeto RUCA}
Marcos Castilho\inst{1}, Luis C. E. de Bona\inst{1}, Diego G.
Pasqualin\inst{1},\\Ricardo T. de Oliveira\inst{1}, Vinicius K. Ruoso\inst{1}\\
Departamento de Informática -- C3SL -- Universidade Federal do Paraná\\
Caixa Postal 19.081 -- CEP 81.531-980 -- Curitiba -- PR -- Brasil
\email{\{marcos, bona, dgp06, rto07, vkr07\}}
Prover uma conexão de rede entre um servidor central e os servidores
Metasys, localizados nas escolas que receberam equipamento do projeto RUCA,
para que modificações e acompanhamento possam ser feitos remotamente de
forma transparente, ou seja, independente de \textit{firewall}, \textit{NAT}
ou qualquer outro tipo de bloqueio que possa existir entre as máquinas.
Como objetivo mais específico, é necessário que, após conexão estabelecida, o
servidor Metasys faça o redirecionamento de portas para permitir
comunicação entre o servidor central e os controladores Motorola, presente
em todas as escolas atendidas pelo projeto.
% LaTeX definitions for SBC 2001 style
% Created by Jomi Hubner & Rafael Bordini, june 2001
% updated march 2005
% margem sup 3.5 cm: ha 1,5 cm para header, + 2 cm para top
% margem inf 2.5 cm: ha 1,5 cm para foot, + 1 cm para bottom
% margem esq/dir 3 cm
\parindent 1.27cm
\parskip 6pt
% captions
% font
% new commands
\newcommand{\nextinstitute}{\\\mbox{}\\[-6pt] \addtocounter{instn}{1}\inst{\instnum}}
\renewcommand{\and}{, }
% to avoid [...] in the bibliography
% \item[] instead of \item[\@biblabel{#1}\hfill]
%% changed!
\itemindent -\leftmargin
\itemsep 6pt
\@clubpenalty \clubpenalty
{\@latex@warning{Empty `thebibliography' environment}}%
% itens
\setlength\leftmargini {1.27cm}
\setlength\leftmargin {\leftmargini}
\setlength\leftmarginii {\leftmargini}
\setlength\leftmarginiii {\leftmargini}
\setlength\leftmarginiv {\leftmargini}
\setlength \labelsep {.5em}
\setlength \labelwidth {\leftmargini}
\addtolength\labelwidth {-\labelsep}
\parsep 0\p@ \@plus1\p@ \@minus\p@
\topsep 0\p@ \@plus2\p@ \@minus4\p@
\def\@listii {\leftmargin\leftmarginii
\topsep 0\p@ \@plus2\p@ \@minus\p@}
\topsep 0\p@ \@plus\p@\@minus\p@
\parsep \z@
\partopsep \p@ \@plus\z@ \@minus\p@}
% sections
{-6\p@ \@plus -4\p@ \@minus -4\p@}%
{0\p@ \@plus 4\p@ \@minus 4\p@}%
\rightskip=\z@ \@plus 8em\pretolerance=10000 }}
{-6\p@ \@plus -4\p@ \@minus -4\p@}%
{0\p@ \@plus 4\p@ \@minus 4\p@}%
\rightskip=\z@ \@plus 8em\pretolerance=10000 }}
% first page
%\null % isso dava um espaco extra antes do title
%\vglue -6pt
% \vspace*{12pt}
\vglue 6pt plus 3pt minus 3pt
\vglue 6pt plus 3pt minus 3pt
\vglue 6pt plus 3pt minus 3pt
\list{}{\advance\topsep by6pt\relax%\small
\bfseries\itshape Abstract.]\itshape}%
\list{}{\advance\topsep by6pt\relax%\small
\bfseries\itshape Resumo.]\itshape}%
This diff is collapsed.
\section{TINCUCA Server}
O servidor TINCUCA foi desenvolvido para ser executado em um servidor
Debian (Servidor central) com dedicação exclusiva ao serviço. Diversas alterações são feitas
em arquivos de configuração de DNS e DHCP que podem causar problemas em
outros serviços que dependam dessas configurações.
Uma vez garantida a condição acima, a instalação e configuração do servidor
TINCUCA é feita da seguinte maneira:
\item Faça o download da árvore de
\item Dentro da árvore edite o arquivo \\
\texttt{serverpackage/package/etc/tinc/vpn/hosts/server}, garantindo que o campo
\texttt{Address} corresponde ao nome DNS do servidor onde o TINCUCA está sendo
instalado, que deve ser acessível pela internet.
\item Caso tenha interesse em efetuar conexão SSH entre o Servidor Central e
os Servidores Metasys é necessário criar um par de chaves. Gere-as com o
comando \texttt{ssh-keygen} e em seguida copie a chave privada para
\texttt{serverpackage/package/root/.ssh}. A configuração da chave pública é
descrita na seção \ref{la:client}.
\item Ao executar o \textit{script} \texttt{serverpackage/} um arquivo
com nome \texttt{tincuca-server\_X.Y.Z\_i386.deb} será gerado (onde X, Y e Z
representam a versão do pacote que pode ser alterada em
\item Por fim, basta copiar o arquivo gerado para o servidor central, onde o
TINCUCA server será instalado, verificar se todas as dependências
(seção \ref{la:depends}) estão satisfeitas e executar o comando \texttt{dpkg -i
tincuca-server\_X.Y.Z\_i386.deb}. Toda a configuração necessária será feita
momento da instalação e logo após a interface virtual deve aparecer na lista
de interfaces, visível através do comando \texttt{/sbin/ifconfig}, com o nome
Durante a instalação do servidor TINCUCA, servidores DHCP e DNS são configurados
de forma que os IPs sejam distribuídos da seguinte forma:
\item O servidor TINC tem o IP \texttt{} e o servidor que receberá
os dados dos roteadores Motorola tem IP \texttt{}.
\item Se o servidor receber um pedido por DHCP de um cliente
pela primeira vez, o próximo IP
ainda não usado (iniciando-se em \texttt{}) é associado ao cliente
pelo servidor DHCP. É criada uma entrada no DNS para o \textit{hostname}
enviado pelo cliente.
\item Se o servidor receber um pedido por DHCP de um cliente que já esteve
com um IP associado anteriormente, o mesmo IP é associado novamente.
\section{TINCUCA Client}
A instalação do TINCUCA Client deve ser feita em cada servidor Metasys que precisa
ser acessado remotamente, e um pré-requisito é que o servidor em
questão possua um INEP cadastrado e configurado, no software de
gerenciamento da Metasys ou através do agente ProInfoData. O número INEP
será utilizado para identificar unicamente, no servidor central, cada servidor
Assim como no TINCUCA Server, é possível instalar o TINCUCA Client em alguma
máquina manualmente. Entretanto, o cliente foi instalado em algumas máquinas
remotamente, para fins de teste.
\subsection{Instalação manual}
O processo de configuração e geração manual é semelhante ao TINCUCA Server
e é explicado abaixo.
\item Faça o download da árvore de desenvolvimento
\item Dentro da árvore edite o arquivo \\
\texttt{clientpackage/package/etc/tinc/vpn/hosts/server}, substituindo o
texto em \texttt{Address} para o nome do servidor central, o mesmo utilizado
na seção anterior. Ainda no mesmo arquivo, certifique-se que de que a porta para
comunicação (opção \texttt{Port}) seja a mesma da porta do servidor. A porta
padrão do TINC é a 655.
\item Caso tenha optado por gerar o par de chaves SSH a chave pública deverá
ser colocada no arquivo
\item Execute o \textit{script} \texttt{clientpackage/}
passando como parâmetro uma versão \texttt{X.Y.Z} para o cliente TINCUCA. Serão gerados um