If you wish to bring up a Cisco router that has an IP address that conflicts with existing hosts on your network, there are a variety of ways to change it.
We just happened to have a crossover network cable sitting on our work bench, and a GNU/Linux host on the LAN with an extra unused NIC in it.
We didn’t happen to have a convenient console cable, and thought, hey, why not?
There are some examples of various GNU/Linux networking tweaks, as well as the mundane changing the IP address in IOS, so some part of this might help you.
The first step is to bind an address that doesn’t conflict with the Cisco to the extra interface:
[root@sv-51 sysconfig]# cd network-scripts [root@sv-51 network-scripts]# ls ifcfg-eth0 ifdown-ipv6 ifup-ippp ifup-ppp ifcfg-eth1 ifdown-isdn ifup-ipsec ifup-routes ifcfg-lo ifdown-post ifup-ipv6 ifup-sit ifcfg-lo.rpmsave ifdown-ppp ifup-ipx ifup-sl ifdown ifdown-sit ifup-isdn ifup-wireless ifdown-aliases ifdown-sl ifup-plip init.ipv6-global ifdown-ippp ifup ifup-plusb network-functions ifdown-ipsec ifup-aliases ifup-post network-functions-ipv6 [root@sv-51 network-scripts]# vi ifcfg-eth1 [root@sv-51 network-scripts]# cat ifcfg-eth1 DEVICE=eth1 ONBOOT=yes BOOTPROTO=static IPADDR=10.50.100.201 [root@sv-51 network-scripts]# [root@sv-51 network-scripts]# /etc/init.d/network restart Shutting down interface eth0: [ OK ] Shutting down interface eth1: [ OK ] Shutting down loopback interface: [ OK ] Setting network parameters: [ OK ] Bringing up loopback interface: [ OK ] Bringing up interface eth0: [ OK ] Bringing up interface eth1: [ OK ] [root@sv-51 network-scripts]# [root@sv-51 root]# ifconfig eth0 Link encap:Ethernet HWaddr 00:60:08:11:BD:4A inet addr:10.50.100.51 Bcast:10.50.100.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:13453 errors:0 dropped:0 overruns:0 frame:0 TX packets:6694 errors:0 dropped:0 overruns:0 carrier:0 collisions:354 txqueuelen:100 RX bytes:876741 (856.1 Kb) TX bytes:471045 (460.0 Kb) Interrupt:12 Base address:0xe000 eth1 Link encap:Ethernet HWaddr 00:60:97:09:70:EF inet addr:10.50.100.201 Bcast:10.255.255.255 Mask:255.0.0.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:79 errors:0 dropped:0 overruns:0 frame:0 TX packets:105 errors:0 dropped:0 overruns:0 carrier:4 collisions:0 txqueuelen:100 RX bytes:8864 (8.6 Kb) TX bytes:6343 (6.1 Kb) Interrupt:11 Base address:0xd000 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:10 errors:0 dropped:0 overruns:0 frame:0 TX packets:10 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:660 (660.0 b) TX bytes:660 (660.0 b) [root@sv-51 root]# |
Add a route for both the existing conflicting address and the new address:
[root@sv-51 network-scripts]# route add 10.50.100.202 gw 10.50.100.201 [root@sv-51 network-scripts]# route add 10.50.100.200 gw 10.50.100.201 [root@sv-51 network-scripts]# route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 10.50.100.200 10.50.100.201 255.255.255.255 UGH 0 0 0 eth1 10.50.100.202 10.50.100.201 255.255.255.255 UGH 0 0 0 eth1 10.50.100.0 * 255.255.255.0 U 0 0 0 eth0 10.0.0.0 * 255.0.0.0 U 0 0 0 eth1 127.0.0.0 * 255.0.0.0 U 0 0 0 lo default 10.50.100.82 0.0.0.0 UG 0 0 0 eth0 [root@sv-51 network-scripts]# |
Now, let’s change the address on the Cisco Router:
[root@sv-51 network-scripts]# telnet 10.50.100.200 Trying 10.50.100.200... Connected to 10.50.100.200. Escape character is '^]'. User Access Verification Password: router>en Password: router#show run Building configuration... Current configuration: version 12.0 . . . ! interface FastEthernet0 ip address 10.50.100.200 255.255.255.0 ip access-group 100 in ip access-group 100 out no ip directed-broadcast ! . . . router# router#conf term Enter configuration commands, one per line. End with CNTL/Z. router(config)#int FastEthernet0 router(config-if)#ip address 10.50.100.202 255.255.255.0 |
The connection will lock up here, just reconnect to copy the running config to start and reload the router:
[root@sv-51 root]# telnet 10.50.100.202 Trying 10.50.100.202... Connected to 10.50.100.202. Escape character is '^]'. User Access Verification Password: router>en Password: router#copy run start Destination filename [startup-config]? Building configuration... router# router#reload Proceed with reload? [confirm] Connection closed by foreign host. [root@sv-51 root]# |
Let’s remove the Cisco from the extra NIC, plug it in to the LAN, remove the extra routes, and try to telnet in to the Cisco:
[root@sv-51 root]# /etc/init.d/network restart Shutting down interface eth0: [ OK ] Shutting down interface eth1: [ OK ] Shutting down loopback interface: [ OK ] Setting network parameters: [ OK ] Bringing up loopback interface: [ OK ] Bringing up interface eth0: [ OK ] Bringing up interface eth1: [ OK ] [root@sv-51 root]# route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 10.50.100.0 * 255.255.255.0 U 0 0 0 eth0 10.0.0.0 * 255.0.0.0 U 0 0 0 eth1 127.0.0.0 * 255.0.0.0 U 0 0 0 lo default 10.50.100.82 0.0.0.0 UG 0 0 0 eth0 [root@sv-51 root]# telnet 10.50.100.202 Trying 10.50.100.202... Connected to 10.50.100.202. Escape character is '^]'. User Access Verification Password: |
Looks good.