Welcome to the Linux Foundation Forum!

Setting a static IP address on Ubuntu 20.10 is not working.

Hi,

I'm trying to set a static IP address on my wifi adapter using netplan on Ubuntu 20.10.

I set up the YAML file correctly in /etc/netplan and apply it but it's not working.

My 01-network-manager-all.yaml file:

network:
version: 2
renderer: NetworkManager
wifis:
wlp1s0:
dhcp4: no
addresses: [192.168.1.25/24]
gateway4: 192.168.1.1
nameservers:
addresses: [192.168.1.1]
access-points:
"My_Access_Point":
password: "my_password"

I apply "sudo netplan apply" and it applies with no formatting errors highlighted. But I my ip address does not change.

Any ideas?

Comments

  • k0dard
    k0dard Posts: 115
    edited April 2021

    Hello Warren,

    Could you provide more details ? Are you trying to do this on a VM or a physical machine ?

    I'm far from being an expert but YAML is very sensible to indentation and we can't see from your code if your .yaml file is properly indented (maybe use a 'format' button to format the part of your post as a code?)

    Here's a working piece of code that sets static IP address on my raspberry PI

    network:
        version: 2
        ethernets:
            eth0:
                dhcp4: true
                optional: true
        wifis:
            wlan0:
                access-points:
                    APName:
                        password: Password
                addresses:
                - 192.168.1.40/24
                dhcp4: false
                gateway4: 192.168.1.254
                nameservers:
                    addresses: [8.8.8.8,1.1.1.1]
                optional: true
    

    TBH I don't know if there is any difference between two address declaration syntaxes (in your .yaml and mine)

    Also, instead of netplan apply you can use netplan try command which will revert to original settings after 120 seconds and prevent you from locking yourself out (in case something is miss-configured) if you're working on a remote host...

  • WarrenUK
    WarrenUK Posts: 72
    edited April 2021

    Hey thanks for your reply.

    It's a physical laptop running Ubuntu. The formatting is correct because when I formatted it wrongly it brought up errors when I tried to run 'netplan apply'. I corrected them all and it ran.

    What Raspberry pi software are you using because I am using the latest Raspbian and I cannot find netplan?

    Also, what is the difference between 'networkd' and 'NetworkManager' when it comes to the renderer?

    Regards.

  • WarrenUK
    WarrenUK Posts: 72

    I have another system with Lubuntu 20.04 running. I am going to give it another go on that and report back.

  • k0dard
    k0dard Posts: 115

    Hello,

    I'm running Ubuntu server 20.04 on rpi

    netplan is Ubuntu frontend for creating network configuration files at boot time (either for systemd-networkd or NetworkManager, depending on which one you're using) so I guess it's normal that you can't find it on Raspbian...

    You can check if interfaces are managed with systemd-networkd with networkctl command and for NetworkManager you can use nmcli command

    I'm not sure but think that networkd is ubuntu default, so maybe changing renderer to networkd will solve your issue...

  • WarrenUK
    WarrenUK Posts: 72
    edited April 2021

    OK I got something working.

    On this page:

    https://askubuntu.com/questions/1061131/wifi-problem-after-setting-static-ip-in-ubuntu-18-04-01-lts?newreg=333d2d92010d4578837a4e885e0c2f65

    It mentions using networkd for renderer when using wifi. This guy could not get static ip to stick to his wifi interface using NetworkManager. So I inserted networkd as renderer for my wifi card and it works. I have a static ip address. Unfortunately when I click my GUI it shows I am disconnected from the network, even though the internet is working. That is obviously due to networkd as renderer.

    It's a bit of a messy workaround but it works.

  • k0dard
    k0dard Posts: 115

    Hm, in my opinion the renderer option depends on what is managing your interface (NetworkManager or systemd-networkd)

    For the sake of experiment maybe you can install NetworkManager and disable systemd-networkd temporarily, switch back to renderer: NetworkManager and see what happens.

    Yes, systemd-networkd doesn't have GUI, so switching back to NetworkManager is more 'practical' for desktop/laptop use maybe

  • luisviveropena
    luisviveropena Posts: 1,249

    Hi, perhaps you can take a look to the official documentation:

    https://netplan.io/examples/

    Regards,
    Luis.

  • lee42x
    lee42x Posts: 380

    Using NetworkManager is preferred, since all major distros support NetworkManager. You can use netplan to generate the configuration for NetworkManager if you wish. Building a yaml file vs using one of 3 user interfaces that NetworkManager provides is personal choice. Have fun experimenting.

Categories

Upcoming Training