When transitioning between ISPs, the short technical answer is: you generally cannot take a static IP address from one provider to another. IP addresses are allocated hierarchically through regional internet registries (ARIN, RIPE, etc.) and assigned to specific ISPs. The new ISP would need to:
- Own the IP block containing your original address
- Have routing authority for that specific IP
- Coordinate with the old ISP for proper BGP announcements
While you can't technically "move" the IP, these approaches minimize downtime:
# Option 1: DNS-based transition (recommended)
1. Reduce TTL on your DNS records days before migration
2. Set up the new server with the new ISP's static IP
3. Update DNS records during migration window
4. Monitor propagation with dig/nslookup
$ dig +short yourdomain.com
$ nslookup yourdomain.com 8.8.8.8
For critical systems requiring IP persistence, consider:
# IP aliasing during overlap period
ifconfig eth0:0 203.0.113.45 netmask 255.255.255.0
# NAT rules for legacy IP (temporary solution)
iptables -t nat -A PREROUTING -d 203.0.113.45 -j DNAT --to-destination 198.51.100.67
iptables -t nat -A POSTROUTING -s 198.51.100.67 -j SNAT --to-source 203.0.113.45
If attempting IP transfer (rare but possible):
- Verify both ISPs use the same regional registry
- Request LOA (Letter of Authorization) from old ISP
- Submit SWIP (Shared WHOIS Project) transfer request
- Coordinate BGP peering changes
Essential verification commands:
# Check active connections to old IP
ss -antp | grep 203.0.113.45
# Test new IP connectivity
curl --interface 198.51.100.67 ifconfig.co
# Verify routing paths
traceroute -n yourdomain.com
mtr --report yourdomain.com
When transitioning between ISPs while maintaining server infrastructure, the first consideration is whether your static IP can be transferred. This depends on:
- Regional IP address allocation policies (ARIN/RIPE/APNIC etc.)
- ISP peering agreements
- Whether the IP was provider-assigned (PA) or provider-independent (PI)
Run these commands to verify your current network configuration:
# Display current IP configuration
ip addr show
# Check routing table
ip route show
# Verify DNS resolution
dig +short myip.opendns.com @resolver1.opendns.com
Case 1: Direct IP Transfer (Rare but possible with some ISPs):
# New ISP interface configuration example (Debian/Ubuntu)
auto eth0
iface eth0 inet static
address 203.0.113.45 # Your existing IP
netmask 255.255.255.0
gateway 203.0.113.1
dns-nameservers 8.8.8.8 8.8.4.4
Case 2: NAT Solution (More common approach):
# Configure DNAT on new ISP's router
iptables -t nat -A PREROUTING -d 198.51.100.25 -j DNAT --to-destination 192.0.2.10
iptables -t nat -A POSTROUTING -s 192.0.2.10 -j SNAT --to-source 198.51.100.25
Implement phased DNS changes with reduced TTL values beforehand:
# Example BIND zone file modification
$ORIGIN example.com.
@ IN SOA ns1.example.com. admin.example.com. (
2023090101 ; serial
3600 ; refresh (1 hour)
600 ; retry (10 min)
86400 ; expire (1 day)
300 ; minimum (5 min)
)
Essential verification commands:
# Continuous connectivity test
while true; do ping -c 1 example.com && break; sleep 5; done
# TCP service verification
nc -zv 203.0.113.45 22 80 443
# MTR for route analysis
mtr --report-wide --report-cycles=10 example.com