Introduction
We need to renumber the network to reduce the latency spikes we see every now and then. The working theory is that, during network load, and because of the roundtrips on traffic between different subnets, and based on the drops in all gateway graphs in icinga, that the cpu of the edgerouter is occasionally at its limits, causing packetloss and high-latency.
To fix this, the network will be renumbered into a single subnet. This should be done in a least disruptive manner as possible
New numberplan
Subnet: 10.208.0.0/22 Netmask: 255.255.252.0
Segment | Purpose |
---|---|
10.208.0.[1..255] | network devices |
10.208.1.[0..255] | servers |
10.208.[23].[0..254] | clients / dhcp |
Gateway: 10.208.0.1
DNS: 10.208.1.53
Renumbering procedure
This is only for servers; Everything in the dhcp range will be managed by changing the dhcp start/end addresses. Note that we will need to check if devices in the dhcp range are configured with a static ip and if so, we need to reconfigure them to dhcp and fix their ip address in dhcp.
- Preparation
Make inventory of 10.208.10.0/24Make inventory of 10.208.11.0/24Make inventory of 10.208.20.0/24Make inventory of 10.208.30.0/24Add 10.208.0.1/22 as an ip address on the gateway
- Execution (for each server host)
- Find new ip address in correct segment
- Configure new ip address as a primary ip
- Configure the old ip as a secondary ip
- Reconfigure DNS
- Migration of servers (this is done on a host-by-host basis)
- Watch for incoming traffic on the old ip address
- Find out which device is connected to the source ip's
- Reconfigure these devices to connect to the new ip (preferrably via dns)
- Repeat until no traffic arrives on old ip address
- Remove old ip address from server
- Migration of clients
- Reconfigure clients that have a static ip to receive that from the new dhcp range & reconfigure the devices for dhcp
- Set the dhcp range to 10.208.2.1 .. 10.208.3.254
- Finalize configuration
- Cleanup all traces of 10.208.10.0/24
- Cleanup all traces of 10.208.11.0/24
- Cleanup all traces of 10.208.20.0/24
- Cleanup all traces of 10.208.30.0/24
10.208.10.0/24
Range is empty, yay
10.208.11.0/24
IP | Host | Device type | New IP | Reconfigured? | Notes |
---|---|---|---|---|---|
10.208.11.1 | gw.vm.nurd.space | network | 10.208.0.1 | ||
10.208.11.2 | wekan.vm.nurd.space | server | 10.208.1.1 | ||
10.208.11.4 | auth.vm.nurd.space | server | 10.208.1.2 | ||
10.208.11.6 | revproxy01.vm.nurd.space | server | 10.208.1.3 | Old machine, take special care | |
10.208.11.7 | gitea.vm.nurd.space | server | 10.208.1.4 | ||
10.208.11.8 | docker.vm.nurd.space | server | 10.208.1.5 | ||
10.208.11.10 | parts.vm.nurd.space | server | 10.208.1.6 | ||
10.208.11.11 | soundfx.vm.nurd.space | server | 10.208.1.7 | ||
10.208.11.13 | asterisk.vm.nurd.space | server | 10.208.1.8 | ||
10.208.11.26 | portal.vm.nurd.space | server | 10.208.1.9 | ??? | |
10.208.11.30 | jarvis2.vm.nurd.space | server | 10.208.1.10 | Forgotten migration project? | |
10.208.11.31 | influx.vm.nurd.space | server | 10.208.1.11 | ||
10.208.11.32 | jarvis.vm.nurd.space | server | 10.208.1.12 | ||
10.208.11.42 | ipam.vm.nurd.space. | server | 10.208.1.13 | ||
10.208.11.111 | ldap-dev.vm.nurd.space | server | 10.208.1.14 | still used?? | |
10.208.11.210 | postgresql.vm.nurd.space | server | 10.208.1.15 | ||
10.208.11.250 | egg.vm.nurd.space | server | 10.208.1.16 | NAT rules on gateway |
10.208.20.0/24
Range is empty, yay
10.208.30.0/24
IP | Host | Device type | New IP | Notes |
---|---|---|---|---|
10.208.30.1 | gateway.lan.nurd.space | network | 10.208.0.1 | |
10.208.30.2 | core-sw.lan.nurd.space | network | 10.208.0.2 | |
10.208.30.4 | slabpi.lan.nurd.space | server | 10.208.1.17 | |
10.208.30.6 | backup.vm.nurd.space | server | 10.208.1.18 | |
10.208.30.7 | sdr.vm.nurd.space | server | 10.208.1.19 | |
10.208.30.10 | ticktack.lan.nurd.space | server | 10.208.1.20 | |
10.208.30.11 | librenms.vm.nurd.space | server | 10.208.1.21 | |
10.208.30.18 | webmpd.vm.nurd.space | server | 10.208.1.22 | still used?? |
10.208.30.19 | spacesound.vm.nurd.space | server | 10.208.1.23 | |
10.208.30.21 | zaal1-ap.lan.nurd.space | network | 10.208.0.3 | |
10.208.30.24 | gpu.vm.nurd.space | server | 10.208.1.24 | |
10.208.30.40 | mongodb.vm.nurd.space | server | 10.208.1.25 | |
10.208.30.60 | harmony.lan.nurd.space | server | 10.208.1.26 | |
10.208.30.66 | nurdwiki-migration.lan.nurd.space | server | will not be migrated | |
10.208.30.67 | harkbot.vm.nurd.space | server | 10.208.1.27 | |
10.208.30.68 | ticker-proxy.vm.nurd.space | server | 10.208.1.28 | |
10.208.30.70 | erratic.lan.nurd.space | server | 10.208.1.29 | |
10.208.30.71 | erratic-bmc.lan.nurd.space | server | 10.208.1.30 | |
10.208.30.100 | xmpp.vm.nurd.space | server | 10.208.1.31 | |
10.208.30.101 | monitor.vm.nurd.space | server | 10.208.1.32 | |
10.208.30.110 | ipfixer.lan.nurd.space | server | 10.208.1.33 | |
10.208.30.111 | iptv-server.lan.nurd.space | server | 10.208.1.34 | |
10.208.30.150 | pdu01.lan.nurd.space | server | 10.208.1.35 | |
10.208.30.152 | epc2.lan.nurd.space | server | 10.208.1.36 | |
10.208.30.153 | epc3.lan.nurd.space | server | 10.208.1.37 | |
10.208.30.154 | epc4.lan.nurd.space | server | 10.208.1.38 | |
10.208.30.188 | minecraft.vm.nurd.space | server | 10.208.1.39 | |
10.208.30.222 | lora-gateway.lan.nurd.space | server | 10.208.1.40 | |
10.208.30.254 | nurdservices.lan.nurd.space | server | 10.208.1.53 | Maybe use this alias for DNS? |
Reconfiguring a server
Modify /etc/network/interface, and add the new ip address as a primary. Next, add the old ip address via post-up commands. Finally, use 'ip addr add' to add the new ip address to the ethernet interface. This will temporarily set the new ip address without a reboot, and finalize the configuration after a reboot.