Mostrar mensagens com a etiqueta linux. Mostrar todas as mensagens
Mostrar mensagens com a etiqueta linux. Mostrar todas as mensagens

domingo, dezembro 27, 2015

Linux Ubuntu 14.04 - Error displaying connection information: No valid active connections found!

O ubuntu permite a gestão de interfaces de rede por linha de comandos e por meio de applets específicos do gestor de janelas (e.g. unity).

No meu caso, o applet "Network Manager" nm-applet  está configurado pelo desktop applet. No entanto o mesmo apresentava problemas com erro na obtenção da configuração da rede.

Isto acontecia porque os ficheiros de configuração não definidos no /etc/network/interfaces mas sim no
/etc/NetworkManager
/etc/NetworkManager/system-connections
Como tinha os interface definidos como ETH0 auto no ficheiro de interfaces em /etc/interfaces, este "Network Manager" applet não geria a rede e não se responsabilizada pelo device.

Verificar o link:
https://bugs.launchpad.net/ubuntu/+source/network-manager-applet/+bug/305606


domingo, outubro 18, 2015

Aceder remotamente ao Ubuntu pelo RDP (3389) do windows

Para aceder remotamente ao desktop do Ubuntu com o remote desktop do windows, deveremos instalar o xrdp.

  • sudo apt-get install xrdp
  • Criar conta para acesso 
  • Criar .xsession na home do utilizador criado anteriormente
Importante:
O Ubuntu 14.04 no ambiente desktop, o RDP do windows não funciona com o window manager que não seja o XFCE4.

Para isso deveremos instalar o xfce4:
  • sudo apt-get install xfce4
De seguida incluir na .xsession do utilizador o seguinte:
  • xfce4-session
Outro aspeto importante é a necessidade de abrir a porta na firewall do Ubuntu UFW ou no GUI GUFW.

sábado, outubro 17, 2015

Apache2 + Webserver + Owncloud armazenamento

Criar uma forma de acesso aos dados multidispositivo e multiplataforma com a solução Ubuntu+Apache2+Owncloud.

Pré-requisitos:

Uma máquina com Ubuntu 14 LTS;
Espaço em disco
Uma conta DDNS
Uma conta Cloudflare


Instalar os seguintes módulos:

  • php5 (>= 5.4)
  • PHP module ctype
  • PHP module dom
  • PHP module GD
  • PHP module iconv
  • PHP module JSON
  • PHP module libxml
  • PHP module mb multibyte
  • PHP module posix
  • PHP module SimpleXML
  • PHP module XMLWriter
  • PHP module zip
  • PHP module zlib

apt-get install apache2 mariadb-server libapache2-mod-php5
apt-get install php5-gd php5-json php5-mysql php5-curl
apt-get install php5-intl php5-mcrypt php5-imagick
Seguir instruções em https://doc.owncloud.org/server/8.1/admin_manual/installation/source_installation.html
O serviço Cloudflare permite protege e acelera o website.
Defenir em cloudflare a representatividade do dominio, parametrizando os NS do dominio com os da cloudflare.
De seguida criar CNAME que aponta para DDNS. 
Definir em SSL-AVAILABLE do apache2 o servidor web para https.
parametrizar em cloudflare o crypt para apontar para o endereço correto.

quinta-feira, setembro 25, 2014

Linux network useful commands

GNU/Linux oferece uma vasta gama de comandos para configuração e manutenção de uma rede ou interfaces de rede.

Eis os mais destacados:

host - Comando serve para efetuar lookups DNS;
dig - Efetua também pesquisas em registos DNS. Por defeito devolve sempre o registo A.
nslookup - Utilitário de administração de redes que permite efetuar consultas ao DNS.
ip addr show - Mostra e permite manipular dispositivos, routing, politicas de routeamento e tuneis.

Os comandos seguinte são excelentes para monitorizar uma rede de dados.

ethtool - Consulta os diferentes dispositivos de rede e pode também efetuar a alteração de diversos parametros;
netstat - Mostra todas as ligação activas (active connections) e tabelas de routeamento. Comando optimo para monitorizar a performance da rede e efetuar despiste.
nmap - Efetua a verificação das diversas porta que poderão ou não estar abertas. Analise de segurança.
tcpdump - efetua o dump do trafego para ser analisado;
iptraf - Monitoriza o trafego em modo texto.

sexta-feira, setembro 19, 2014

Linux Boot Process

Linux NFS

NFS ou Network File System é um dos métodos utilizados para partilhar dados entre sistemas.

Na distribuição Ubuntu, deveremos instalar o NFS com o comando apt-get.

~$ sudo apt-get install nfs-kernel-server

O deamon NFS é iniciado com o comando:

~$ sudo service nfs start

O ficheiro de texto /etc/exports contem os diretórios e permissões que um anfitrião disponibiliza por NFS a todos os outros sistemas remotos.

A seguinte entrada poderá existir no ficheiro:

/projects *.example.com(rw)

Esta entrada no ficheiro indica que a pasta /projects será "mounted" utilizando NFS com permissões Read e Write e partilhado com todos os hosts do domínio example.com.

Depois de configurar o ficheiro, deveremos entrar com o seguinte comando:

~$ exportfs -av

CLIENTE

No sistema cliente, é desejavél que o sistema de ficheiros remoto seja montado automáticamente.
Para isso editamos o /etc/fstab . Por exemplo, uma entrada no ficheiro seria como:

servername:/projects /mnt/nfs/projects nfs defaults 0 0



quarta-feira, setembro 03, 2014

Debug Linux bash scripts

Efetuar o debug de scripts é essencial para se entender a origem do erro. Em bash shell scripting podemos fazer:

$ bash -x script.sh

Vai efetuar o trace de todos os comandos colocando um prefixo + antes de cada comando. Mostra cada um dos comandos antes de o executar.

Para além disto é possível efetua o debug apenas em determinadas partes do script, fazendo para isso set +x a partir do momento que queremos efetuar debug e set -x quando queremos acabar o debug.

quarta-feira, agosto 06, 2014

KVM - Kernel based Virtual Machine

KVM - Kernel-based Virtual Machine é uma solução completa de virtualização para Linux em Hardware x86 (com as extensões Intel VT ou AMD-V). Consiste num módulo kernel, kvm.ko que providencia a infraestrutura de virtualização core e um módulo especifico para processador, kvm-intel.ko ou kvm-amd.ko.

Gestão KVM

libvirt é a principal biblioteca de virtualização que o KVM utiliza. Providencia uma API de gestão de máquinas virtuais e gestão básica de storage e redes.

Como solução avançada de gestão existe o Open Source ovirt com uma GUI fabulosa.

More:
https://openvirtualizationalliance.org/sites/ova/files/resources/files/251810.pdf




Saber a versão de um programa Linux (Debian Alike)

dpkg -l nano

apt-cache show nano

quinta-feira, março 27, 2014

Linux SED and AWK

O comando SED é um poderoso utilitário de processamento de texto e é um dos mais antigos e populares utilitários UNIX.

É utilizado para alterar o conteúdo de um ficheiro, geralmente colocando os conteúdos num outro ficheiro daí o se nome "Stream Editor".

SED pode filtrar texto e efetuar substituições em streams de dados.

$sed s/pattern/replace_string/ file
Substituir a primeira string encontrada numa linha.

$sed s/pattern/replace_string/g file
Substituir todas as ocorrências na linha.

$ sed s/pattern/replace_string/g file > file2
O comando anterior vai substituir todas as ocorrências de "pattern" por "replace_string" no ficheiro "file" e copiar par "file2".

O comando AWK é utilizador para extrair e imprimir conteúdos especificos de ficheiros.

$awk '{ print $0 }' /etc/passwd
O comando anterior permite imprimir o ficheiro passwd.

$awk -F: '{ print $1 }' /etc/passwd
O comando anterior permite imprimir a primeira coluna do ficheiro passwd, cujos campos estão separador pelo limitador ":" definido com ".F:".

$awk -F: '{ print $1 $6 }' /etc/passwd
O mesmo que o anterior, mas desta vez permite mostrar a coluna 1 e 6.

domingo, março 23, 2014

Process Isolation

Linux é considerado, desde há muito tempo, um sistema operativo muito seguro relativamente a outros sistemas operativos. Isto deve-se em grande parte à forma como os processos correm.

Um processo é uma instancia de uma ou mais tarefas relacionadas (threads) que estão a executar no computador. Não são necessariamente programas ou comandos pois um programa pode iniciar vários processos ao mesmo tempo. Alguns processos são independentes, outros são relacionados.

Os processo são corridos de forma isolada, ou seja, não utilizam os recursos de outros processos que estão a correr, mesmo que tenham sido chamados pela mesma conta.

Assim sendo é muito difícil ser atacado por vírus ou exploits (mas não impossível obviamente).

Outros mecanismos de segurança foram acrescentados ao longo do tempo:

  • cgroups (control groups) - permitem ao administrador agrupar processos em grupos e alocar recursos finitos a esses grupos;
  • (LXC) linux containers - Possibilita correr multiplos sistemas isolados Linux (containers) num unico sistema com cgroups;
  • Virtualization - Hardware é emulado por forma a que não só apenas os processos são isolados, mas também todos os sistemas de forma isolada num host fisico.

Tipos de processos:

Process TypeDescriptionExample
Interactive ProcessesNeed to be started by a user, either at a command line or through a graphical interface such as an icon or a menu selection.bash, firefox, top
Batch ProcessesAutomatic processes which are scheduled from and then disconnected from the terminal. These tasks are queued and work on a FIFO (First In, First Out) basis.updatedb
DaemonsServer processes that run continuously. Many are launched during system startup and then wait for a user or system request indicating that their service is required.httpd, xinetd, sshd
ThreadsLightweight processes. These are tasks that run under the umbrella of a main process, sharing memory and other resources, but are scheduled and run by the system on an individual basis. An individual thread can end without terminating the whole process and a process can create new threads at any time. Many non-trivial programs are multi-threaded.gnome-terminal, firefox
Kernel ThreadsKernel tasks that users neither start nor terminate and have little control over. These may perform actions like moving a thread from one CPU to another, or making sure input/output operations to disk are completed.kswapd0, migration, ksoftirqd

quinta-feira, dezembro 12, 2013

Ubuntu VirtualBox - No ALTGR key

No Ubuntu instalado no Virtualbox, reparei que a tecla altgr não funciona em tty modo texto.


Para resolver temos de remapear as teclas do teclado no Ubuntu. Usamos para isso o editor Xmodmap.

Fazer:

$cat > ~/.Xmodmap
keycode 108 = Mode_switch
(CTRL+D)
$xmodmap ~/.Xmodmap

terça-feira, novembro 19, 2013

Openstack

Openstack é um software para cloud e corre em arquitetura hardware x86 e ARM. Não exige software nem hardware proprietários e assim, podemos correr na nossa infra-estrutura existente.

Openstack está sobre o modo de licenciamento Apache Licence 2.0 e surgiu em 2010.

Cloud ou "nuvem" é desenvolvida sobre tecnologias existentes tais como virtualização e clustering para virtualizar hardware, software, armazenamento e recursos de rede para as tornar unidades flexíveis que podem ser alocadas consoante a exigência. É uma forma mais eficiente na utilização do hardware e mais fácil de escalar consoante a exigência de recursos.

Existem básicamente três modelos de serviços:

Saas : Software as a service
Pass: Plataform as a service
Iass: Infrastructure as a service.

Saas é a disponibilização de aplicações software alojadas centralmente e acedidas por software cliente. Os dados são típicamente mantidos num servidor acessível por qualquer computador ligado à rede. Obedecendo mais ou menos ao antigo modelo cliente-servidor, a maior diferença passa pelo acesso do cliente, efetuado maioritariamente via web-browser. A desvantagem passa, por isso mesmo, pela utilização do protocolo HTTP que nunca foi desenhado para desempenhar tarefas demasiado complexas. A popularidade do Saas tem vindo a subir porque propicia um modelo de baixo custo de suporte para os software developer / vendors, permite-lhes ainda um maior controlo e sobretudo um modelo de negócio baseado em subscrição de serviço. Os clientes também acabam por ganhar devido à pouca necessidade de preocupação com instalações e manutenção de hardware e software.

Pass é uma opção para quem queira maior controlo sobre os seus dados ou centro de dados mas não queira as preocupações da administração de sistemas ou redes. Exemplo disto é o espaço de alojamento web numa cloud gerida por ISP, onde o ISP se preocupa com o hardware, sistemas operativos, redes, balanceamento de carga, backups e etc, e o cliente apenas preocupa-se com a gestão e desenvolvimento do seu software que funcionará em cima deste datacenter configurado.

Iass é obviamente a solução completa. Básicamente o cliente gere um servidor fisico (virtual) onde este é responsável por toda a configuração redes e software da infraestrutura.

Testei, faz algum tempo, o Openstack numa das suas versões iniciais, e devo dizer que a coisa não é para iniciantes (click->next).



Os componentes "core" são Compute, Networking e Storage.

Compute: Componente responsável por aprovisionar grandes redes de máquinas virtuais. Suporta vários hypervisors tais KVM, QEMU, LXC e XenServer. É uma ferramenta que controla a rede, o CPU, o armazenamento, a memória, a criação, controlo e remoção de instancias de máquinas virtuais.

Storage: Armazenamento por objectos e blocos para ser usado em aplicações e servidores. Escalabilidade e redundancia usando clusters de servidores. O Openstack assegura a distribuição e replicação através de diferentes dispositivos no caso de object storage.

Networking: Gestão de redes e IP através de API.

Openstack foi desenhado para gerir grandes datacenters e petabytes de dados. Está incluído nas mais diversas distribuições Linux e pode ser instalado como qualquer outro software.

http://www.openstack.org/software/start/

quinta-feira, novembro 14, 2013

Virtual Private Network

Virtual private network é uma ligação encriptada entre dois ou mais dispositivos sobre a rede pública. É possível que se possa dizer que uma VPN não tem necessariamente de ser encriptada, mas isso seria apenas considerado um túnel.

Site-to-site VPN
É uma ligação entre dois sites e encripta toda a informação entre 2 ou mais subnets. Existem 2 subtipos:
Policy based - Encripta e encapsula determinado trafego de acordo com determinada policy (ACL) A policy determina que apenas algum ou determinado trafego é colocado na VPN.

Routed based - Todo o trafego é enviado pela VPN baseado em routeamentos dinâmicos ou estáticos.

Dynamic Multipoint VPN
Não é um protocolo mas sim uma técnica que usa diferentes protocolos. Um ou mais routers centrais são necessários, mas os routers remotos podem ter IPs dinâmicos. Os routers usam NHRP combinado com um protocolo dinamicos de routing para descobrir os peers e subnets remotas. A VPN é um tunel mGRE (Multiple Endpoints GRE) encriptado. Desta forma, o trafego entre routers remotos, não necessita de vir ao router central, pode ser direto entre os routers remotos.

Client VPN
Uma ligação Client VPN é uma ligação encriptada de um dispositivo a um router. Faz com que o dispositivo remoto se assemelhe a um membro de uma subnet local por trás de um router VPN. O trafego do dispositivo é enviado pelo tunel (normalmente um portatil). Necessita de software cliente instalado no dispositivo.

SSLVPN
Es te tipo de VPN funciona como um cliente VPN. A diferente é que o cliente remoto não necessita de software pre-configurado. Em vez disso o browser funciona como software. O trafego é envido atraves de um tunel sobre SSL ou TLS para o router SSLVPN.

Protocolos VPN

PPTP (usam GRE que pode ser usado sozinho): Point-to-point Tunneling Protocol é um protocolo VPN ue confia em város mecanismos de autenticação para providenciar segurança (MS-CHAP2 mais comum).

Pros
Built-in client em quase todas as plataformas
Fácil configuação
Rápido

Cons
Não é seguro (MSCHAP2 é vulnerável e é comumente utilizada)
Comprometida pela NSA

L2TP e L2TP/IPsec: Layer2 Tunnel Protocol é um protocolo VPN que por si só não providencia nenhuma encriptação ou confidencialidade no trafego que passa por ele. Por essa razão é implementado com IPSEC. Funciona na porta 500 UDP e logo fica mais dificil de configurar sendo por vezes bloqueado em firewalls NAT.

terça-feira, dezembro 11, 2012

XFCE - Maximize, minimize e close desapareceram

Após update ao meu GNU/Linux Mint XFCE, reparei que todas as janelas não tinham maximize, nem minimize nem close. Ou seja, os elementos visuais que rodeiam as janelas não estavam activos. O gestor de janelas não arrancava.

Para resolver esta situação, abrimos uma janela terminal e corremos o seguinte comando:
debian$ xfwm4
A causa tem a ver com o facto que o XFCE ser modular sendo que todos os elementos visuais estão em processos separados.

sexta-feira, novembro 09, 2012

Alterar cor da fonte dos icones do ambiente de trabalho Linux Mint


Localizar o ficheiro .gtkrc-2.0, o qual é um ficheiro escondido. Para encontrar este ficheiro, deveremos ir a /home e depois /home/username/. Depois seleccionamos SHOW HIDDEN FILES da TAB VIEW.

Abrir o ficheiro .gtkrc-2.0 e devermos ver algo similar a :


style "xfdesktop-icon-view" {
XfdesktopIconView::label-alpha = 0

fg[NORMAL] = "#FFFFFF"
fg[SELECTED] = "#FFFFFF"
fg[ACTIVE] = "#FFFFFF"
}
widget_class "*XfdesktopIconView*" style "xfdesktop-icon-view"


Alterei as NORMAL/SELECTED/ACTIVE para FFFFFF o qual representa a cor branca. Deveremos gravar o ficheiro e efectuar reboot para as alterações fazerem efeito.