Ligue meu servidor Ubuntu remotamente?

6

Eu tenho um servidor Ubuntu (16.10) em casa e queria saber se existe uma maneira de ativá-lo remotamente quando estou longe de casa?

Eu configuro o Wake-On-LAN, mas isso parece funcionar quando estou usando outro computador conectado à mesma rede do meu servidor Ubuntu.

Alguma idéia de fazer o WOL funcionar remotamente?

    
por jonneymendoza 04.04.2017 / 09:28

3 respostas

10

Primeiro, o fato de seu computador estar executando o Ubuntu quando ligado não está relacionado à funcionalidade Wake-on-LAN (WOL).

Em segundo lugar, o WOL usa quadros Ethernet com um formato específico.

Em terceiro lugar, os quadros Ethernet não são roteados fora do segmento de rede local. No caso da Internet, as redes intermediárias podem nem mesmo usar Ethernet.

A consequência do segundo e terceiro pontos é que, para enviar uma solicitação WOL para um computador em uma rede, você precisa fazer isso de outro sistema no segmento de rede local. Não é possível emitir diretamente solicitações de WOL pela Internet.

Claro, você pode fazer algo como o que a CyberFonic sugere e ter um sistema pequeno e de baixo consumo o segmento de rede local que você pode usar para emitir uma solicitação WOL. Mas, nesse caso, a solicitação do WOL é realmente emitida por outro sistema no segmento de rede local; você simplesmente acessa esse sistema pela Internet.

    
por 04.04.2017 / 11:32
8

Eu estou em uma situação semelhante a você. Usando o Ubuntu 16.04 LTS como um servidor da Web.

O servidor e o Raspberry Pi estão conectados ao roteador via cabo ethernet.

O RPi está sendo executado continuamente. Eu instalei e configurei o fail2ban para segurança extra. O roteador está configurado para permitir o acesso SSH da Internet ao RPi. Quando eu quero começar meu servidor IBM com fome de poder. I SSH conecta (mosh na verdade) ao RPi e executa o seguinte programa em Python:

""" Send a WoL packet to the specified MAC address
    NB: Won't work on OS/X.  The AF_PACKET is specific to Linux.
        Needs to be run with sudo.
"""
import socket

PREAMBLE = bytearray((0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF))

# Need to configure the following for the correct MAC of the target
MAC = bytearray((0x00, 0x14, 0x85, 0xa1, 0x43, 0xde))

pkt = PREAMBLE + 16*MAC
sock = socket.socket(socket.AF_PACKET, socket.SOCK_RAW)

# Configure the correct interface name
sock.bind(('enp2s1', 0))

sock.sendall(pkt)
sock.close()

Se você não tiver um endereço IP estático, provavelmente precisará configurar o dynDNS ou algo semelhante e seus endereços de domínio.

    
por 04.04.2017 / 10:03
-1

Para o WOL, você poderia usar o encaminhamento de porta para outro dispositivo em sua rede. Vários players de mídia têm esse recurso como uma opção acessível pela Web.

Você também pode experimentar o wake on ring, ou uma powerboard IP depois de ligar o BIOS para inicializar quando a energia AC for aplicada. Existem vários aplicativos para Android / iOS que geram pontos de poder proprietários para isso.

Se for um servidor de marca importante, pode haver uma opção fora de banda (porta Ethernet e placa filha extra) que você pode adquirir e ajustar. KVM de extremidade superior por IP pode suportar inicialização remota. Existem algumas opções.

Para esclarecer isso, há vários anos tenho usado um powerboards IP-Power 9258, e estes são úteis, embora eu nem sempre tenha sido feliz. Eles podem ser controlados com o curl (1) (a partir do script ou de um painel do PHP). Para chegar a ele, você terá que instalar o RDP / VNC em uma estação de trabalho sempre ativa (lattepanda, por exemplo), executar um servidor da web de caixa de especificação baixa (Pi) na porta 8081 ou conectar-se via cliente VPN. Se você seguir esse caminho, você precisa ser capaz de lidar com ou suprimir o grub (esperando pelo teclado) após um "incidente". Mas tem a vantagem de poder desligar a energia se tudo o mais falhar. É muito comum ir atrás do NAT para fazer as coisas.

    
por 04.04.2017 / 10:16