cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
2943
Views
5
Helpful
26
Replies

IR829 WAN + Dual SIM configuration help

magnus42
Level 1
Level 1

Hi!

I've got an IR829-2LTE-EA-EK9 that I have an intention of setting up as following if possible.

Primary: WAN - Connected to a router providing IP over DHCP.

Secondary: Cellular 0 - Primary LTE.

Secondary 2: Cellular 1 - Secondary LTE.

I've been trying to set it up as to have a failover to the Cellular 0/0 interface when the WAN connection is down (as fast as possible),  and also switch to Cellular 1/0 if the Cellular 0/0 has a low signal. There is no need to switch back to the primary interfaces if they become available again, unless the current one goes down/has a low signal. 

 

Attached is my current configuration. I've got network when I'm connected to WAN, but when I unplug the cable I'm not getting any network on my computer anymore. I can ping from the console, so I suspect that there is some issue with my routing that I'm not seeing.

 

I've been searching a lot, so the config might be a compilation of different threads I've found in the community.

Thanks for any help!


version 15.7(3)M2
service timestamps debug datetime msec
service timestamps log datetime msec
service password-encryption
service internal
!
hostname ir829
!
boot-start-marker
boot-end-marker
!
no aaa new-model
service-module wlan-ap 0 bootimage autonomous
!
ignition off-timer 900
!
ignition undervoltage threshold 11
!
no ignition enable

!
ip dhcp excluded-address 10.0.0.1
!
ip dhcp pool VLAN1
network 10.0.0.0 255.255.255.0
dns-server 1.1.1.1
default-router 10.0.0.1
!
no ip domain lookup
ip cef
no ipv6 cef

!
multilink bundle-name authenticated
!
chat-script lte "" "AT!CALL1" TIMEOUT 20 "OK"
!
license udi pid IR829-2LTE-EA-EK9
!
redundancy
notification-timer 120000

!
controller Cellular 0
lte sim data-profile 1 attach-profile 1
no lte gps enable
lte modem link-recovery rssi onset-threshold -110
lte modem link-recovery monitor-timer 20
lte modem link-recovery wait-timer 10
lte modem link-recovery debounce-count 6
description LTE_PRIMARY
!
controller Cellular 1
lte sim data-profile 1 attach-profile 1
no lte gps enable
lte modem link-recovery rssi onset-threshold -110
lte modem link-recovery monitor-timer 20
lte modem link-recovery wait-timer 10
lte modem link-recovery debounce-count 6
description LTE_SECONDARY
!
track 1 ip sla 1 reachability
!
interface GigabitEthernet0
ip address dhcp
ip nat outside
ip virtual-reassembly in
!
interface GigabitEthernet1
no ip address
!
interface GigabitEthernet2
no ip address
shutdown
!
interface GigabitEthernet3
no ip address
shutdown
!
interface GigabitEthernet4
no ip address
no mop enabled
!
interface Wlan-GigabitEthernet0
no ip address
!
interface GigabitEthernet5
no ip address
shutdown
duplex auto
speed auto
!
interface Cellular0/0
ip address negotiated
ip virtual-reassembly in
encapsulation slip
dialer in-band
dialer pool-member 1
dialer-group 2
no peer default ip address
async mode interactive
routing dynamic
!
interface Cellular1/0
ip address negotiated
ip virtual-reassembly in
encapsulation slip
dialer in-band
dialer pool-member 2
dialer-group 3
no peer default ip address
async mode interactive
routing dynamic
!
interface Cellular0/1
no ip address
encapsulation slip
!
interface Cellular1/1
no ip address
encapsulation slip
!
interface wlan-ap0
no ip address
shutdown
!
interface Vlan1
ip address 10.0.0.1 255.255.255.0
ip nat inside
ip virtual-reassembly in
!
interface Async0
no ip address
encapsulation scada
!
interface Async1
no ip address
encapsulation scada
!
interface Dialer1
ip address negotiated
encapsulation slip
dialer pool 1
dialer idle-timeout 0
dialer string lte
dialer persistent
dialer-group 2
!
interface Dialer2
ip address negotiated
encapsulation slip
dialer pool 2
dialer idle-timeout 0
dialer string lte
dialer persistent
dialer-group 3
!
ip forward-protocol nd
!
ip http server
no ip http secure-server
!
ip nat inside source route-map WAN interface GigabitEthernet0 overload
ip nat inside source route-map LTE_SECONDARY interface Dialer2 overload
ip nat inside source route-map LTE_PRIMARY interface Dialer1 overload
ip route 0.0.0.0 0.0.0.0 Dialer1 10
ip route 0.0.0.0 0.0.0.0 Dialer2 20
ip route 0.0.0.0 0.0.0.0 GigabitEthernet0 dhcp
!
ip access-list extended nat-list
permit ip object-group local_lan_subnets any
!
ip sla 1
icmp-echo 8.8.8.8 source-interface GigabitEthernet0
frequency 5
dialer-list 1 protocol ip permit
dialer-list 2 protocol ip permit
dialer-list 3 protocol ip permit
ipv6 ioam timestamp
!
route-map LTE_SECONDARY permit 10
match ip address 1
match interface Dialer2
!
route-map WAN permit 10
match ip address 1
match interface GigabitEthernet0
!
route-map LTE_PRIMARY permit 10
match ip address 1
match interface Dialer1
!
access-list 1 permit 10.0.0.0 0.0.0.255
!
control-plane
!
vstack
!
line con 0
stopbits 1
line 1 2
stopbits 1
line 3
script dialer lte
modem InOut
no exec
transport preferred lat pad telnet rlogin lapb-ta mop udptn v120 ssh
transport input all
transport output lat pad telnet rlogin lapb-ta mop udptn v120 ssh
rxspeed 150000000
txspeed 50000000
line 4
no activation-character
no exec
transport preferred none
transport input all
transport output lat pad telnet rlogin lapb-ta mop udptn v120 ssh
line 8
no exec
transport preferred lat pad telnet rlogin lapb-ta mop udptn v120 ssh
transport output lat pad telnet rlogin lapb-ta mop udptn v120 ssh
rxspeed 150000000
txspeed 50000000
line 9
script dialer lte
modem InOut
no exec
transport preferred lat pad telnet rlogin lapb-ta mop udptn v120 ssh
transport input all
transport output lat pad telnet rlogin lapb-ta mop udptn v120 ssh
rxspeed 150000000
txspeed 50000000
line 15
no exec
transport preferred lat pad telnet rlogin lapb-ta mop udptn v120 ssh
transport output lat pad telnet rlogin lapb-ta mop udptn v120 ssh
rxspeed 150000000
txspeed 50000000
line 1/3 1/6
transport preferred none
transport output none
stopbits 1
line vty 0 4
password 7
login
transport input none
!

26 Replies 26

Hello,

 

when you disconnect both dialer interfaces, does GigabitEthernet0 get and IP address at all ?

When i shut the dialer1 interface I start to get ping reply on the client via gi0, but every 5 second it goes down and then up again.

Jul  8 14:10:19.437: %TRACK-6-STATE: 1 ip sla 1 reachability Up -> Down
Jul  8 14:10:19.437: %TRACK-6-STATE: 3 list boolean or
Jul  8 14:10:24.438: %TRACK-6-STATE: 1 ip sla 1 reachability Down -> Up
Jul  8 14:10:24.438: %TRACK-6-STATE: 3 list boolean or Down -> Up
Jul  8 14:10:34.610: %TRACK-6-STATE: 1 ip sla 1 reachability Up -> Down
Jul  8 14:10:34.610: %TRACK-6-STATE: 3 list boolean or Up -> Down

Might that be in relation with the 5 sec frequency on the ip sla 1?

Hello,

 

I guess you need to find out if your GigabitEthernet0 is working at all. Shut down both dialers, and just use this one route:

 

ip route 0.0.0.0 0.0.0.0 GigabitEthernet0 dhcp

 

Does the GigabitEthernet0 get an IP address ?

Yes, it has been getting an IP all along. And also been working all along with the dhcp routing mentioned. It stops working when I only have the track 1 routing. 

 

Jul  8 14:47:41.460: %DHCP-6-ADDRESS_ASSIGN: Interface GigabitEthernet0 assigned DHCP address 192.168.1.6, mask 255.255.255.0, hostname ir829

Hello,

 

since you are getting IP address 192.168.1.6, I assume there is another device in front of the 829 ?

 

Try and change the IP SLA 1 to ping 192.168.1.1 (which is presumably the IP address on the other device) instead of 8.8.8.8.

Hello,

 

not really sure why this is not working. If you really just want the functionality, you could configure an EEM script that adds and removes the static routes as needed. I will send it over just in case anyway...

Hello,

 

can you try one more thing: use the configuration below and add the static route marked in bold:

 

version 15.7
service timestamps debug datetime msec
service timestamps log datetime msec
service password-encryption
service internal
!
hostname ir829
!
boot-start-marker
boot-end-marker
!
no aaa new-model
service-module wlan-ap 0 bootimage autonomous
!
ignition off-timer 900
!
ignition undervoltage threshold 11
!
no ignition enable
!
ip dhcp excluded-address 10.0.0.1
!
ip dhcp pool VLAN1
network 10.0.0.0 255.255.255.0
--> dns-server 8.8.8.8 8.8.4.4
default-router 10.0.0.1
!
no ip domain lookup
ip inspect WAAS flush-timeout 10
ip cef
no ipv6 cef
!
multilink bundle-name authenticated
!
chat-script lte "" "AT!CALL1" TIMEOUT 20 "OK"
!
license udi pid IR829-2LTE-EA-EK9
!
redundancy
notification-timer 120000
!
controller Cellular 0
lte sim data-profile 1 attach-profile 1
no lte gps enable
lte modem link-recovery disable
description LTE_PRIMARY
!
controller Cellular 1
lte sim data-profile 1 attach-profile 1
no lte gps enable
lte modem link-recovery disable
description LTE_SECONDARY
!
track 1 ip sla 1 reachability
!
track 2 ip sla 2 reachability
!
track 3 list boolean or
object 1
object 2
!
interface GigabitEthernet0
description Primary ISP
ip address dhcp
ip nat outside
ip virtual-reassembly in
!
interface GigabitEthernet1
no ip address
!
interface GigabitEthernet2
no ip address
shutdown
!
interface GigabitEthernet3
no ip address
shutdown
!
interface GigabitEthernet4
no ip address
no mop enabled
!
interface Wlan-GigabitEthernet0
no ip address
!
interface GigabitEthernet5
no ip address
shutdown
duplex auto
speed auto
!
interface Cellular0/0
description Primary LTE
ip address negotiated
ip nat outside
ip virtual-reassembly in
encapsulation slip
dialer in-band
dialer pool-member 1
dialer-group 1
no peer default ip address
ipv6 address autoconfig
async mode interactive
routing dynamic
!
interface Cellular1/0
description Secondary LTE
ip address negotiated
ip nat outside
ip virtual-reassembly in
encapsulation slip
dialer in-band
dialer pool-member 2
dialer-group 2
no peer default ip address
ipv6 address autoconfig
async mode interactive
routing dynamic
!
interface Cellular0/1
no ip address
encapsulation slip
!
interface Cellular1/1
no ip address
encapsulation slip
!
interface wlan-ap0
no ip address
!
interface Vlan1
ip address 10.0.0.1 255.255.255.0
ip nat inside
ip virtual-reassembly in
!
interface Async0
no ip address
encapsulation scada
!
interface Async1
no ip address
encapsulation scada
!
interface Dialer1
description Primary LTE
ip address negotiated
ip nat outside
ip virtual-reassembly in
encapsulation slip
dialer pool 1
dialer idle-timeout 0
dialer string lte
dialer persistent
dialer-group 1
!
interface Dialer2
description Secondary LTE
ip address negotiated
ip nat outside
ip virtual-reassembly in
encapsulation slip
dialer pool 2
dialer idle-timeout 0
dialer string lte
dialer persistent
dialer-group 2
!
ip forward-protocol nd
!
no ip http server
no ip http secure-server
!
ip nat inside source route-map LTE_PRIMARY interface Dialer1 overload
ip nat inside source route-map LTE_SECONDARY interface Dialer2 overload
ip nat inside source route-map WAN interface GigabitEthernet0 overload
ip route 0.0.0.0 0.0.0.0 GigabitEthernet0 track 1
ip route 0.0.0.0 0.0.0.0 Dialer1 10 track 2
ip route 0.0.0.0 0.0.0.0 Dialer2 20
--> ip route 8.8.8.8 255.255.255.255 GigabitEthernet0
!
ip sla 1
icmp-echo 8.8.8.8 source-interface GigabitEthernet0
threshold 1000
frequency 5
ip sla schedule 1 life forever start-time now
ip sla 2
icmp-echo 8.8.8.8 source-interface Dialer1
threshold 1000
frequency 5
ip sla schedule 2 life forever start-time now
dialer-list 1 protocol ip permit
dialer-list 1 protocol ipv6 permit
dialer-list 2 protocol ip permit
ipv6 ioam timestamp
!
route-map LTE_PRIMARY permit 10
match ip address 1
match interface Dialer1
!
route-map WAN permit 10
match ip address 1
match interface GigabitEthernet0
!
route-map LTE_SECONDARY permit 10
match ip address 1
match interface Dialer2
!
access-list 1 permit 10.0.0.0 0.0.0.255
!
control-plane
!
vstack
!
line con 0
stopbits 1
line 1 2
stopbits 1
line 3
script dialer lte
modem InOut
no exec
transport preferred lat pad telnet rlogin lapb-ta mop udptn v120 ssh
transport input all
transport output lat pad telnet rlogin lapb-ta mop udptn v120 ssh
rxspeed 150000000
txspeed 50000000
line 4
no activation-character
no exec
transport preferred none
transport input all
transport output lat pad telnet rlogin lapb-ta mop udptn v120 ssh
line 8
no exec
transport preferred lat pad telnet rlogin lapb-ta mop udptn v120 ssh
transport output lat pad telnet rlogin lapb-ta mop udptn v120 ssh
rxspeed 150000000
txspeed 50000000
line 9
script dialer lte
modem InOut
no exec
transport preferred lat pad telnet rlogin lapb-ta mop udptn v120 ssh
transport input all
transport output lat pad telnet rlogin lapb-ta mop udptn v120 ssh
rxspeed 150000000
txspeed 50000000
line 15
no exec
transport preferred lat pad telnet rlogin lapb-ta mop udptn v120 ssh
transport output lat pad telnet rlogin lapb-ta mop udptn v120 ssh
rxspeed 150000000
txspeed 50000000
line 1/3 1/6
transport preferred none
transport output none
stopbits 1
line vty 0 4
login
transport input none
!
no scheduler max-task-time
ntp server 34.202.215.187
no iox hdm-enable
iox client enable interface GigabitEthernet5
no iox recovery-enable
!
event manager applet CLEAR_NAT
event track 3 state any
action 1.0 cli command "enable"
action 2.0 cli command "clear ip nat translation *"
action 3.0 cli command "end"
!
end

 

Yes, it's connected to a router that's connected to another 4G network.
I'm looking into EEM now. It seems like something i'll read up on!
I tried that last one, and this becomes the routing. 

ip route 0.0.0.0 0.0.0.0 GigabitEthernet0 track 1
ip route 0.0.0.0 0.0.0.0 Dialer1 10 track 2
ip route 0.0.0.0 0.0.0.0 Dialer2 20
ip route 8.8.8.8 255.255.255.255 GigabitEthernet0

Gateway of last resort is 0.0.0.0 to network 0.0.0.0 S* 0.0.0.0/0 is directly connected, Dialer2 8.0.0.0/32 is subnetted, 1 subnets S 8.8.8.8 is directly connected, GigabitEthernet0 10.0.0.0/8 is variably subnetted, 2 subnets, 2 masks C 10.0.0.0/24 is directly connected, Vlan1 L 10.0.0.1/32 is directly connected, Vlan1 100.0.0.0/32 is subnetted, 2 subnets C 100.96.42.39 is directly connected, Dialer1 C 100.105.58.111 is directly connected, Dialer1 109.0.0.0/32 is subnetted, 1 subnets C 109.179.179.147 is directly connected, Dialer2 192.168.1.0/24 is variably subnetted, 2 subnets, 2 masks C 192.168.1.0/24 is directly connected, GigabitEthernet0 L 192.168.1.6/32 is directly connected, GigabitEthernet0

I still can't get any response from ping 8.8.8.8 source GigabitEthernet0 

It seems like I got it working now! Still some small issues, but those seem solvable. 

 

ip route 0.0.0.0 0.0.0.0 192.168.1.1 track 1
ip route 0.0.0.0 0.0.0.0 Dialer1 10 track 2
ip route 0.0.0.0 0.0.0.0 Dialer2 20
ip route 8.8.4.4 255.255.255.255 Dialer1
ip route 8.8.8.8 255.255.255.255 192.168.1.1

track 1 ip sla 1 reachability
delay down 20
!
track 2 ip sla 2 reachability
delay down 20
!
track 3 list boolean or
object 1
object 2

interface GigabitEthernet0
description Primary ISP
ip address 192.168.1.11 255.255.255.0
ip nat outside
ip virtual-reassembly in
!

It does however seem like the CLEAR_NAT applet will not trigger every time. I've turned on debug and I see that it will not trigger when WAN looses connection. I'll try to change the trigger mechanism. 

event manager applet CLEAR_NAT
 event track 3 state any
 action 1.0 cli command "enable"
 action 2.0 cli command "clear ip nat translation *"
!
end
ir829#show track
Track 1
  IP SLA 1 reachability
  Reachability is Down
    73 changes, last change 00:00:09
  Delay down 20 secs
  Latest operation return code: Timeout
  Tracked by:
    Static IP Routing 0
    Track List 3
Track 2
  IP SLA 2 reachability
  Reachability is Up
    32 changes, last change 00:06:00
  Delay down 20 secs
  Latest operation return code: OK
  Latest RTT (millisecs) 56
  Tracked by:
    Static IP Routing 0
    Track List 3
Track 3
  List boolean or
  Boolean OR is Up
    82 changes, last change 00:06:35
    object 1 Down
    object 2 Up
  Tracked by:
    EEM applet CLEAR_NAT

Hello,

 

that looks a lot better. Not sure why the EEM script doesn't work. You might want to remove it all together and use three scripts, one for each interface. For the last one, Cellular 1/0, you need to have the script react to the syslog that gets generated when the interface goes down:

 

event manager applet CLEAR_NAT_TRACK_1
event track 1 state any
action 1.0 cli command "enable"
action 2.0 cli command "clear ip nat translation *"
action 3.0 cli command "end"
!
event manager applet CLEAR_NAT_TRACK_2
event track 2 state any
action 1.0 cli command "enable"
action 2.0 cli command "clear ip nat translation *"
action 3.0 cli command "end"
!
event manager applet CLEAR_NAT_CELL_1_0
event syslog pattern "Cellular1/0, changed state to down"
action 1.0 cli command "enable"
action 2.0 cli command "clear ip nat translation *"
action 3.0 cli command "end"

Hello,

 

one more thing: the problem with dialer interfaces is that they never really go down, but are always up/up (spoofing), so that might cause problems when you track them. At some point they introduced the command:

 

dialer down-with-vInterface

 

which needs to be configured under the dialer interfaces, and which causes the dialer interface to actually change its state to down. You might want to give that a try.

I've changed the EEM scripts to the ones you wrote, and will test them out!
I don't have the "dialer down-with-vinterface" on my current version of IOS, but after a few days of idle I notice that the "interface down" message has been posted in the cli a few times over the last days from that interface anyway.
For now I see that the routing changes back to Dialer1 when that interface becomes available again.

Thanks for all your help and advice! Very much appreciated.
Review Cisco Networking products for a $25 gift card