Skip to content

Ubuntu Bionic - IP Adresse ändern

Angeheftet Verschoben Linux
1 1 2.4k
  • Ich habe mich gestern Abend ziemlich darüber aufgeregt, wie man unter Ubuntu 18.04 die Interfaces einstellen muss. Mal von dem Zeitverlust abgesehen. Ich spiele zwar gerne an Headless Servern rum, aber so was sinnloses hatte ich schon lange nicht mehr. 😞

    Hardware

    ROCKPro64

    Software

     rock64@rockpro64:/$ uname -a
     Linux rockpro64 4.17.0-rc6-1019-ayufan-gfafc3e1c913f #1 SMP PREEMPT Tue Jun 12 19:06:59 UTC 2018 aarch64 aarch64 aarch64 GNU/Linux
    

    Wie man die IP-Adresse unter Linux einstellt werden die meisten von Euch sicherlich sehr gut kennen, da das zum täglichen Geschäft gehört wenn man mit den kleinen Platinen arbeitet.

    Warum man nicht dauerhaft das einfach auf DHCP lässt, denke ich brauche ich hier in dieser Runde nicht erklären.

    Unter Ubuntu 18.04 hat man jetzt was Neues eingeführt. Das Ganze nennt sich Netplan. Netplan findet man unter /etc/netplan Dort liegt ein File eth0.yaml zu der Dateiendung .yaml komme ich später noch zu sprechen.

     rock64@rockpro64:/$ ls -la /etc/netplan
     total 16
     drwxr-xr-x  2 root root 4096 Jun 17 05:39 .
     drwxr-xr-x 86 root root 4096 Jun 16 12:22 ..
     -rw-r--r--  1 root root  333 Jun 16 20:39 eth0.yaml
     -rw-r--r--  1 root root  329 Jun 16 20:38 eth0.yaml_bak
    

    Macht Euch vorher eine Kopie, man weiß ja nie 😉 Der Inhalt der Datei sieht ungefähr so aus, ich hatte vergessen vorher eine Kopie zu machen 🙂

     network: 
     	version: 2 
     	renderer: networkd
     	ethernets:
     		eth0: #object name
     			dhcp4: yes # dhcp v4 enable
     			dhcp6: yes # dhcp v6 enable (if you want)
    

    Die Schnittstelle eth0 zieht sich mittels DHCP die Daten vom DHCP-Server. Alle meine Server haben hier feste IP-Adressen, da der Mainline aktuell sehr stabil läuft, bekommt der jetzt ne feste IP. So weit mein Plan.

    YAML

    Nachdem ich eine Stunde rumgedockert hatte und nichts klappte, habe ich mal vorne angefangen. Was ist YAML? Dazu der WIKI-Link. Gut, eigentlich nicht zu schwer zu verstehen. Aber trotzdem bekam ich andauernd nur Fehlermeldungen. So was in der Art hier.

    Invalid YAML at //etc/netplan/01-netcfg.yaml line 9 column 5: did not find expected key
    

    Wieder suchen, suchen usw. Dann bekommt man raus, das es entscheidend wichtig ist, wie die Einrückung aufgebaut ist. WTF? Der dumme Parser erkennt das als einen Fehler an ob ich jetzt 2 Leerstellen vor dem Eintrag habe, er aber gerne 3 Leerstellen dort hätte!? Geht es noch komplizierter? Das ist in meinen Augen völlig benutzerunfreundlich! Macht Debian das auch? Später nachschauen...

    Also hatte ich vieles ausprobiert, aber nur dieses Beispiel habe ich dann zum Laufen bekommen.

    Beispiel Datei

    # This file describes the network interfaces available on your system
    # For more information, see netplan(5).
     network:
      version: 2
      renderer: networkd
      ethernets:
        eth0:
          dhcp4: no
          dhcp6: no
          addresses: [192.168.3.206/24]
          gateway4: 192.168.3.1
          nameservers:
            addresses: [192.168.3.1,1.1.1.1]
    

    Diese Datei kann man also ganz gewöhnlich mit einem Texteditor deiner Wahl bearbeiten, danach abspeichern. Dann kommt der YAML Parser zum Einsatz. Dieser checkt das File auf Fehler, was ja auch eigentlich eine gute Sache ist. Der Befehl dafür.

    sudo netplan apply
    

    Dabei sollte man folgendes beachten, das File wird geprüft, wenn erfolgreich werden die Netzwerkeinstellungen sofort aktiviert. Man verliert also eine evt. bestehende SSH-Verbindung sofort. Also Vorsicht, vorher kurz nachdenken 😉

    Ganz ehrlich, braucht man das so? Ich muss mich wohl dran gewöhnen....

    Noch ein Tipp, die Netzwerkmaske ändert man über /24

    Das sieht dann jetzt so aus

     rock64@rockpro64:/$ ip a
     1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
         link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
         inet 127.0.0.1/8 scope host lo
            valid_lft forever preferred_lft forever
         inet6 ::1/128 scope host 
            valid_lft forever preferred_lft forever
     2: dummy0: <BROADCAST,NOARP> mtu 1500 qdisc noop state DOWN group default qlen 1000
         link/ether e2:15:d9:4c:26:11 brd ff:ff:ff:ff:ff:ff
     3: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
         link/ether aa:41:29:23:dc:d1 brd ff:ff:ff:ff:ff:ff
         inet 192.168.3.206/24 brd 192.168.3.255 scope global eth0
            valid_lft forever preferred_lft forever
         inet6 fe80::a841:29ff:fe23:dcd1/64 scope link 
            valid_lft forever preferred_lft forever
     4: sit0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN group default qlen 1000
         link/sit 0.0.0.0 brd 0.0.0.0
    

    Was das mit dem dummy0 und sit@NONE auf sich hat muss ich mir mal in einer ruhigen Stunde ansehen.

    Das dummy0 und sit@NONE sind Interfaces die von Kernel-modulen erzeugt werden. Man kann beide Module aber nicht entladen, weil beide Module in den Kernel eingebaut sind!

    rock64@rockpro64v_2_1:~$ sudo modprobe -r sit
    [sudo] password for rock64: 
    modprobe: FATAL: Module sit is builtin.
    rock64@rockpro64v_2_1:~$ sudo modprobe -r dummy
    modprobe: FATAL: Module dummy is builtin.
    

    Das ist nur im Mainline so!

    rock64@rockpro64v_2_1:~$ uname -a
    Linux rockpro64v_2_1 4.18.0-rc8-1060-ayufan-g45828c4db727 #1 SMP PREEMPT Thu Aug 9 19:41:21 UTC 2018 aarch64 aarch64 aarch64 GNU/Linux
    

    Im 4.4x

    rock64@rockpro64v2_0:~$ ip a
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
        inet 127.0.0.1/8 scope host lo
           valid_lft forever preferred_lft forever
        inet6 ::1/128 scope host 
           valid_lft forever preferred_lft forever
    2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 1000
        link/ether aa:41:29:23:dc:d1 brd ff:ff:ff:ff:ff:ff
        inet 192.168.3.206/24 brd 192.168.3.255 scope global eth0
           valid_lft forever preferred_lft forever
        inet6 fe80::a841:29ff:fe23:dcd1/64 scope link 
           valid_lft forever preferred_lft forever
    
  • NodeBB - 4.3.0

    NodeBB nodebb linux
    1
    0 Stimmen
    1 Beiträge
    60 Aufrufe
    Niemand hat geantwortet
  • 0 Stimmen
    2 Beiträge
    30 Aufrufe
    frankm@nrw.socialF
    @jools Genau meine Motivation, ich kann mir das ganze Gedöns auch nur selten merken.
  • Open Source Software - Nur mit Luft & Liebe läuft es auch nicht rund

    Linux linux kde
    1
    0 Stimmen
    1 Beiträge
    150 Aufrufe
    Niemand hat geantwortet
  • Redis Insight - Desktop UI

    Redis redis linux
    1
    3
    0 Stimmen
    1 Beiträge
    143 Aufrufe
    Niemand hat geantwortet
  • Ansible - Hetzner Server erstellen

    Verschoben Ansible ansible linux hcloud
    1
    3
    0 Stimmen
    1 Beiträge
    330 Aufrufe
    Niemand hat geantwortet
  • Zima Board

    Linux zima linux
    6
    1
    0 Stimmen
    6 Beiträge
    960 Aufrufe
    FrankMF
    Wer noch einen braucht, sind wieder ein paar im Shop erhältlich. ZimaBoard 832 is IN STOCK & AVAILABLE NOW ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ZimaBoard Official Store Back In Stock The item you've been waiting for is back in stock ZimaBoard 832 - Single Board Server for Creators $199.90 Model: ZimaBoard 832 Stock: 190
  • Konsolentext in Englisch

    Linux linux
    1
    0 Stimmen
    1 Beiträge
    72 Aufrufe
    Niemand hat geantwortet
  • FAN control OMV Auyfan 0.10.12: gitlab-ci-linux-build-184, Kernel 5.6

    Linux linux
    12
    1 Stimmen
    12 Beiträge
    1k Aufrufe
    M
    Hi, since I'm currently change my rockpro64 setup I came across this. With the kernel from ayufan you need to set PWM_CTL to /sys/devices/platform/pwm-fan/hwmon/hwmon3/pwm1 for my self compiled one I need /sys/devices/platform/pwm-fan/hwmon/hwmon0/pwm1 But I got it only working with one entry for PWM_CTL e.g. PWM_CTL = "/sys/devices/platform/pwm-fan/hwmon/hwmon0/pwm1", after that you need to start ats again sudo systemctl stop ats sudo systemctl start ats initially the fan should start immediately for a short period of time. In case it is even a different one on your kernel you can find the right one using this command. sudo find /sys -name pwm1 | grep hwmon So far I'm not sure which kernel parameter or modul changes this. Martin