Files
DetectionLab/HyperV/fix-eth0-static-ip.sh
2020-08-25 13:03:34 -07:00

31 lines
923 B
Bash

fix_eth0_static_ip() {
# There's a fun issue where dhclient keeps messing with eth0 despite the fact
# that eth0 has a static IP set. We workaround this by setting a static DHCP lease.
echo -e 'interface "eth0" {
send host-name = gethostname();
send dhcp-requested-address 192.168.38.105;
}' >>/etc/dhcp/dhclient.conf
netplan apply
# Set the ip address on eth0 and rename the adapter to eth1
ETH0_IP=$(ip -4 addr show eth0 | grep -oP '(?<=inet\s)\d+(\.\d+){3}')
if [ "$ETH0_IP" != "192.168.38.105" ]; then
MAC=$(ip a | grep "link/ether" | cut -d ' ' -f 6)
cat > /etc/netplan/01-netcfg.yaml << EOL
network:
ethernets:
eth0:
match:
macaddress: $MAC
dhcp4: no
addresses: [192.168.38.105/24]
gateway4: 192.168.38.1
nameservers:
addresses: [8.8.8.8,8.8.4.4]
set-name: eth1
version: 2
renderer: networkd
EOL
fi
}
fix_eth0_static_ip