[LINUX] Erhalten Sie eine Domain mit GCP und MyDNS (Wake on LAN over NAT [1])

Einführung

Wake on LAN (ist es der richtige Wortlaut?) Jenseits der NAT der Wohnung, die seit vielen Jahren ein Traum ist, wurde endlich verwirklicht. Da es ziemlich lang ist, werde ich es separat schreiben. Ich werde es als Memorandum schreiben, aber ich hoffe, jemand wird Ihnen helfen. Dieses Mal werde ich über "Eine Domain mit GCP und MyDNS erhalten" schreiben.

ezgif-6-a3bc222e322b.gif

Zweck

Der Zweck ist einfach und ich möchte meinen Heim-Desktop-PC mit Wake on LAN (WOL) einfach so von außen starten.

object.png

Problem

--Kann den Port nicht öffnen Erstens kann der Hafen aufgrund der Sicherheit der Wohnung nicht freigegeben werden. Wie in der Abbildung gezeigt, befindet sich der Router wahrscheinlich in der Wohnung, und nur der Administrator kann die Portöffnung einstellen.

Lösung

Ich hatte das oben genannte Problem, aber zum Glück hatte ich einen Raspelkuchen zur Hand, so dass ich es lösen konnte, indem ich wie folgt eine Verbindung herstellte.

Mit anderen Worten

Hauptsächlich verwendet

--Bedienung - Google Cloud Platform - Softether - MyDNS - mod_wsgi - apache - LINE bot

Holen Sie sich eine Domain mit GCP und MyDNS

Ich werde es Schritt für Schritt als Memorandum schreiben. Um dies zu erreichen, "erwerben Sie zuerst eine Domain mit GCP und MyDNS".

GCP

Erstellen einer VM-Instanz

Erstellen Sie zunächst einen Server mit GCP. Weitere Informationen finden Sie unter Offizielle Website GCP (GCE). Verwenden Sie ab sofort die kostenlose Stufe. Erstelle es.

Erstellen Sie zunächst ein Projekt.

gcp1.png

Keine Organisation.

gcp2.png

Erstellen Sie nach dem Erstellen des Projekts eine VM-Instanz.

gcp3.png

Wählen Sie das Projekt aus, nachdem Sie es zuvor erstellt haben.

gcp4.png gcp5.png

Region ist kostenlos die USA, und der Maschinentyp ist schlecht. (Freier Rahmen) Der Teil, der später in der Abbildung geschrieben wird, ist die Firewall-Einstellung. Sie können es später einstellen, damit Sie es so lassen, wie es ist.

gcp7.png

Für Boot Disk habe ich Ubuntu gewählt, was ich gewohnt bin. Die Kapazität ist bis zu 30 GB frei. Ändern Sie sie daher vom Standardwert von 10 GB.

gcp6.png

** * Wichtig ** IP-Weiterleitung aktivieren. Dies kann später nicht mehr geändert werden!

gcp8.png gcp9.png

Klicken Sie anschließend auf "Erstellen", um die Erstellung der VM-Instanz abzuschließen.

Installieren Sie GCloud

Installieren Sie gcloud, damit Sie eine Verbindung zu der von SSH erstellten VM-Instanz herstellen können.

mkdir ~/gcloud
cd ~/gcloud

Hier Schnellstart> Laden Sie die Datei "tar.gz" entsprechend Ihrem Betriebssystem herunter und legen Sie sie in dem zuvor erstellten Verzeichnis ab. Entpacken Sie die Datei dann wie folgt und installieren Sie sie.

tar xvzf gcloud.tar.gz
./google-cloud-sdk/install.sh

Starten Sie das Terminal neu und geben Sie den folgenden Befehl ein, um die Installation von gloud abzuschließen.

gcloud init

Überprüfen Sie, ob eine SSH-Verbindung über gcloud möglich ist

Verknüpfen Sie die Installation nach Abschluss mit dem zuvor erstellten GCP-Projekt.

gcloud config set project {my-project or id}

Stellen Sie als Nächstes eine SSH-Verbindung zur VM-Instanz her.

gcloud compute ssh {instance name or id} #--ssh-flag="-p {port number}"

Firewall-Einstellungen für SSH

Stellen Sie die Firewall ein, die verschoben wurde. Es scheint besser, nicht die Standardportnummer zu verwenden. Stellen Sie zunächst eine SSH-Verbindung zur VM-Instanz her und ändern Sie die SSH-Einstellungen.

gcloud compute ssh {instance name or id}
sudo cp -p /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
sudo sed -i -e "s/#Port 22/Port {port number}/g" /etc/ssh/sshd_config
sudo service ssh restart

Danach aus dem Web Legen Sie die zuvor in Compute Engine> VM-Instanzen> Netzwerkdetails anzeigen festgelegte {Portnummer} `in der Regel fest.

ssh3.png ssh4.png

Es ist in Ordnung, wenn Sie Folgendes speichern und erneut verbinden können.

gcloud compute ssh {instance name or id} --ssh-flag="-p {port number}"

Zeiteinstellung

Standardmäßig ist die japanische Zeit nicht eingestellt. Ändern Sie sie daher. SSH-Verbindung

sudo apt-get install dbus
sudo timedatectl set-timezone Asia/Tokyo

Damit sind die Grundeinstellungen von GCP abgeschlossen. Außerdem ist es aus Sicherheitsgründen besser, eine Zwei-Faktor-Authentifizierung durchzuführen, aber ich werde sie hier weglassen.

DDNS

Aufbau

Wenn Sie bezahlen, können Sie eine feste IP erhalten, aber sobald Sie die Domain erhalten haben, verwenden Sie mydns für DDNS. Nachdem Sie ein Konto bei Join us> Anmelden von myDNS erstellt haben,

Stellen Sie die Domain über DOMAIN INFO> OK ein. PRÜFEN> OK zum Abschluss.

mydns1.png

Stellen Sie als Nächstes DDNS über IP ADDR DIRECT ein. Kehren Sie zur GCP-Site zurück

dnsupdate1.png

Wie in der obigen Abbildung gezeigt, befindet sich in dem durch das rote Quadrat ausgeblendeten Teil die aktuelle externe GCP-IP. Notieren Sie sich diese und geben Sie sie ein. (Ignoriere den Pfeil) PRÜFEN> OK zum Abschluss.

mydns2.png

IP-Benachrichtigung

Benachrichtigen Sie die IP, wenn sie neu gestartet wird und wenn sie eine Stunde lang aufwacht. Führen Sie zunächst SSH in GCP ein und erstellen Sie ein Shell-Skript zum Aktualisieren.

mkdir ~/vpn
cd ~/vpn
vi update_ip.sh

update_ip.sh


#! /bin/bash
wget --http-user=mydnsxxxxx --http-password=~~~~~~~ http://www.mydns.jp/login.html -O /dev/null

Ändern Sie die Berechtigungen.

chmod +x ~/vpn/update_ip.sh

Als nächstes wieder von der GCP-Site

dnsupdate1.png

Geben Sie unter BEARBEITEN> Benutzerdefinierte Metadaten Folgendes in das rote Quadrat unten ein.

#! /bin/bash
bash /home/{name}/vpn/update_ip.sh
dnsupdate2.png

Damit sind die Benachrichtigungseinstellungen beim Neustart abgeschlossen.

Stellen Sie schließlich für alle Fälle eine stündliche Benachrichtigung ein.

crontab -e
# update ip
* */1 * * * /home/{name}/vpn/update_ip.sh

Damit sind die DDNS-Einstellungen abgeschlossen.

abschließend

Vorerst ist es lang, also endet es hier.

Referenz

GCP (GCE), um von nun an zu beginnen, verwenden Sie den freien Frame sicher

Recommended Posts

Erhalten Sie eine Domain mit GCP und MyDNS (Wake on LAN over NAT [1])
Erstellen Sie ein Python-Skript für Wake on LAN (Wake on LAN über NAT [5])
Reverse Proxy von Apache auf GCP zu lokalem Raspeye Apache (Wake on LAN über NAT [3])
Richten Sie den Softether-Server auf GCP ein (Verbindung von iPhone / Raspeye herstellen) (Wake on LAN over NAT (2])
Verwandle Razzpie in einen Router (Wake on LAN over NAT [4])
Wake on Lan unter Linux
Erstellen einer Python-Umgebung auf einem Mac bis zur Verwendung von Jupyter Lab
Erstellen Sie eine Chainer-Umgebung mit CUDA und cuDNN auf einer p2-Instanz
Erstellen Sie mit Python und Redis eine Rangliste für Spiele in der Alibaba-Cloud
Holen Sie sich Daten von VPS MySQL mit Python 3 und SQL Alchemy
Verwenden Sie ScraperWiki, um regelmäßig Daten von Ihrer Website abzurufen