Ein Memorandum von dem, was ich beim Studium über das Netzwerk mit Linux nicht verstanden habe (ubuntu18.04) Ich werde es hier lassen.
netns(network namespace)
--PC Sie können jederzeit ein unabhängiges Netzwerk aufbauen Beispiel: Erstellen Sie ein Netzwerk namens hellorold mit sudo ip netns add helloworld
--sudo ip netns exec helloworld bash startet bash auf helloworld. Beenden Sie mit dem Verlassen --sudo ip netns delete Lösche helloworld mit helloworld.
--Verwenden Sie veth wie folgt, um Netzwerk-Namespaces zu verbinden
--Beispiel: sudo ip link add ns1-veth0 Typ veth Peer Name ns2-veth0 (verbinde ns1 und ns2)
Da der Status des Netzwerks von unten nach oben geändert werden muss, gehen Sie wie folgt vor - sudo ip netns exec ns1 ip link set ns1-veth0 up - sudo ip netns exec ns2 ip link set ns2-veth0 up
Legen Sie eine Standardroute fest, wenn Sie mit einem anderen Ort als demselben Netzwerk kommunizieren
Indem Sie die Route zum Router als Standardroute festlegen, können Sie eine Anfrage an den Router für eine IP-Adresse senden, die nicht in der Routing-Tabelle enthalten ist.
Wenn Sie dies immer noch nicht können, sind die folgenden Einstellungen nicht ausreichend --sudo ip netns exec (Routername) sysctl net.ipv4.ip_forward = 1 Dies zeigt, ob es als IPv4-Router fungieren kann
Für die Kommunikation zwischen Routern ist auch eine Routing-Tabelle erforderlich. Daher werden der Tabelle durch statisches Routing lokale hinzugefügt, die durch Senden eines Befehls eine Routing-Tabelle hinzufügen. Globale Routen führen dynamisches Routing durch (Protokolle wie BGP, OSPF usw. werden verwendet).
UDP
――Ein Hafen ist wie ein Raum in einer Wohnung. Es wird ein numerischer 16-Bit-Wert.
--nc -ulnv ip (Adresse) (Portnummer) Starten Sie als Server. "-U: UDP-Kommunikation" "-L: Als Server fungieren" "-N: Verhindert, dass DNS IP-Adressen auflöst" "-V: Befehle im Detail anzeigen" --nc -u IP (Adresse) (Portnummer) Als Client gestartet
tcp
--P wird beim Senden eines Strings in das Steuerbit-Flag aufgenommen
HTTP
Die verwendete Portnummer ist TCP 80
echo -en "GET / HTTP/1.0¥r¥n¥r¥n" | nc 127.0.0.1 80
curl -X GET -D - http://127.0.0.1
Sie können eine http-Anfrage in Form von
Sie können den Server so starten. Zu diesem Zeitpunkt lautet die zum Zeitpunkt des Zugriffs angezeigte Seite index.html im aktuellen Verzeichnis.
DNS
Der DNS-Server ist häufig ein externer Server. Zum Beispiel Google (8.8.8.8)
Der Resolver auf Ihrem PC entscheidet, welches DNS verwendet werden soll.
Für Linux gibt es lokal eine Liste für die DNS-Auflösung in der Datei "/ etc / hosts".
Der verwendete Port ist der UDP-Port 53
DHCP
――Als Rolle
Zuweisung der IP-Adresse --Erstellen einer Routing-Tabelle
Angabe des für die Namensauflösung verwendeten Nameservers ich mache
Die Kommunikationsmethode ist die Server / Client-Methode. Oft ist der Router hauptsächlich für die DHCP-Serverfunktion verantwortlich
Der verwendete Port ist der UDP-Port 67
NAT(NAPT)
--Übersetzen Sie zwischen lokaler Adresse und globaler Adresse.
Socket (): Gibt an, welche Art von Kommunikation im Socket ausgeführt wird bind (): Geben Sie die IP-Adresse und die Portnummer an, um auf die Verbindung zu warten listen (): Hören Sie auf eine Verbindung accept (): Verarbeitet den verbundenen Client (warten Sie in dieser Funktion auf die Verbindung) send () / recv (): Byte-Zeichenfolge empfangen close (): Verbindung schließen
--127.0.0.1: Loopback-Adresse. Wird verwendet, wenn Sie im Netzwerk mit sich selbst kommunizieren möchten
--tcpdump: Erfassen (schnüffeln) von TCP / IP-Daten, die auf Ihrem Computer fließen
Recommended Posts