Skip to main content

Set Dynamic IP address[^1][^2]

· One min read
  1. set netplan configuration
for inter in $(ls /sys/class/net); do
if [[ $inter != 'lo' ]]; then
cat << EOF > /etc/netplan/99-$inter.yaml
network:
ethernets:
$inter:
dhc4: true
version: 2
renderer: networkd
EOF
ip link set dev $inter up
fi
done
  1. apply configurations
netplan apply
  1. check IP status
ip a

Set network config on boot

  1. combine script as a shell /etc/netplan/gen_netplan_config.sh
#!/bin/env bash

umask 377

for inter in $(ls /sys/class/net); do
if [[ $inter != 'lo' ]] && [[ ! -e /etc/netplan/99-$inter.yaml ]]; then
cat << EOF > /etc/netplan/99-$inter.yaml
network:
ethernets:
$inter:
dhcp4: true
version: 2
renderer: networkd
EOF
ip link set dev $inter up
fi¡™™¡
done
netplan apply
  1. write /usr/lib/systemd/system/wait-netplan-dhcp.service3
[Unit]
Description=Generate DHCP networking DHCP demo for netplan
Before=network-online.target

[Service]
ExecStart=/etc/netplan/gen_netplan_config.sh

[Install]
WantedBy=multi-user.target
  1. start and enable
systemctl start wait-netplan-dhcp
systemctl enable wait-netplan-dhcp