She/They

  • 0 Posts
  • 34 Comments
Joined 1 year ago
cake
Cake day: June 30th, 2023

help-circle





  • Sorry, didn’t make it home until today and not sure if you get notifications on edits. You will need a monitor and keyboard hooked up to your server as you will not have ssh access until the network config is “fixed”. I would do the below with the GPU removed, so you know 100% that your networking config is correct before mucking about further.

    Step 1 - Create 99-default.link file

    Add a /etc/systemd/network/99-default.link with the below contents.

    # SPDX-License-Identifier: MIT-0
     #
     # This config file is installed as part of systemd.
     # It may be freely copied and edited (following the MIT No Attribution license).
     #
     # To make local modifications, one of the following methods may be used:
     # 1. add a drop-in file that extends this file by creating the
     #    /etc/systemd/network/99-default.link.d/ directory and creating a
     #    new .conf file there.
     # 2. copy this file into /etc/systemd/network or one of the other paths checked
     #    by systemd-udevd and edit it there.
     # This file should not be edited in place, because it'll be overwritten on upgrades.
    
     [Match]
     OriginalName=*
    
     [Link]
     NamePolicy=mac
     MACAddressPolicy=persistent
    

    Step 2 - Reboot and find new name of NIC that will be based on MAC

    I forget if you have to reboot, but I am going to assume so. At this point, you can get the new name of your nic card and fix your network config.

    1. ip link should list all of your nic devices, both real and virtual. Here is how mine looks like for reference, with the MAC obfuscated:
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    2: enxAABBCCDDEEFF: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master vmbr0 state UP mode DEFAULT group default qlen 1000
        link/ether AA:BB:CC:DD:EE:FF brd ff:ff:ff:ff:ff:ff
    3: vmbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000
        link/ether AA:BB:CC:DD:EE:FF brd ff:ff:ff:ff:ff:ff
    

    Step 3 - Fix your network config and restart network manager

    You will need to edit your /etc/network/interfaces file so the correct card is used.

    1. Make a copy of /etc/network/interfaces, just in case you mess something up.
    2. sudo vim /etc/network/interfaces (or whatever text editor makes you happy) It will need to look something like below. I have to have DHCP turned on for mine, so your config likely uses static. Really all you need to do is change wherever it says enp yada yada to the enxAABBCCDDEEFF you identified above.
     source /etc/network/interfaces.d/*
    
     auto lo
     iface lo inet loopback
    
     iface enxAABBCCDDEEFF inet manual
    
     auto vmbr0
     iface vmbr0 inet dhcp
     #iface vmbr0 inet static
     #address 192.168.5.100/20
     #gateway 192.168.0.1
         bridge-ports enxAABBCCDDEEFF
         bridge-stp off
         bridge-fd 0
    
    1. Restart your networking service. You shouldn’t need to reboot. sudo systemctl restart networking.service

    Step 4 - Profit?

    Hopefully at this point you have nework access again. Check the below, do some ping tests, and if it doesn’t work, double check that you edited the interfaces file correctly.

    1. sudo systemctl status networking.service will show you if anything went wrong and hopefully show that everything is working correctly
    2. ip -br addr show should show that the interface is up now.
    lo               UNKNOWN        127.0.0.1/8 ::1/128
    enxAABBCCDDEEFF  UP
    vmbr0            UP             192.168.5.100/20 
    

    At this point, if all is well, I would reboot anyways, just to make sure. If you add any GPUs, sata drives, other PCI device, disable/enable wifi/bt in the BIOS, or anything else that changes the PCI numbering, you don’t have to worry about your NIC changing.




  • See, when I was in school, they didn’t teach fail fast and if anything they told you not to. Nowadays, we have moved past that nonsense. I gave it a shot about a year ago, and it has made me a better programmer. I am not going to sit there and count braces, but things are a lot easier when you get the error cases over with and out of the way.

    There are always going to be exceptions, but I have personally found a lot of value in using ‘fail fast’, and making more smaller methods that say what they do. I am not always great at that second part, but it is a process. As someone with severe ADHD, it has made it a lot easier to work through problems. Sure, you can end up with more lines of code, but who cares. Compiler should be optimizing most of that shit out anyway.






  • I grew up in Texas. I understand your confusion. Houses are oriented a little differently here, but think of the “mudroom” as the garage. You know how you have a side door and a front door? And the side door is usually sort of attached to the garage, basement, or maybe laundry room? It is just that. A lot of people have a spot right inside that door, off to the side, for piling shoes. Otherwise you have a rack when you walk in, or you can use the closet right by your front door. It isn’t really a separate room. Good idea to have mats on both sides of the door. For whatever reason people are obsessed with split levels up here, so there is easier access to basement type areas.