I've had IPv4 multi-ISP working for years, with the slower DSL/PPPoE ISP
also providing IPv6. Recently, my faster ISP (cable) started providing
IPv6, so I had hoped to extend the capability. However, incoming ping6
requests on the ppp interface destined to the local LAN's matching IPv6
interface goes back out as ping replies on the ppp ISP only for a few
pings before then switching to the cable interface, despite my having
"track" in the providers file.
This is good:
02:34:53.275338 ppp0 In IP6 limitaneiKVM.romanus.ca >
2607:f2c0:f00e:b700::1: ICMP6, echo request, id 12272, seq 148, length 64
02:34:53.275462 ppp0 Out IP6 2607:f2c0:f00e:b700::1 >
limitaneiKVM.romanus.ca: ICMP6, echo reply, id 12272, seq 148, length 64
02:34:54.275950 ppp0 In IP6 limitaneiKVM.romanus.ca >
2607:f2c0:f00e:b700::1: ICMP6, echo request, id 12272, seq 149, length 64
02:34:54.276077 ppp0 Out IP6 2607:f2c0:f00e:b700::1 >
limitaneiKVM.romanus.ca: ICMP6, echo reply, id 12272, seq 149, length 64
02:34:55.277554 ppp0 In IP6 limitaneiKVM.romanus.ca >
2607:f2c0:f00e:b700::1: ICMP6, echo request, id 12272, seq 150, length 64
02:34:55.277681 ppp0 Out IP6 2607:f2c0:f00e:b700::1 >
limitaneiKVM.romanus.ca: ICMP6, echo reply, id 12272, seq 150, length 64
This is where it goes bad:
02:34:56.278894 ppp0 In IP6 limitaneiKVM.romanus.ca >
2607:f2c0:f00e:b700::1: ICMP6, echo request, id 12272, seq 151, length 64
02:34:56.279029 cable Out IP6 2607:f2c0:f00e:b700::1 >
limitaneiKVM.romanus.ca: ICMP6, echo reply, id 12272, seq 151, length 64
02:34:57.305997 ppp0 In IP6 limitaneiKVM.romanus.ca >
2607:f2c0:f00e:b700::1: ICMP6, echo request, id 12272, seq 152, length 64
02:34:57.306131 cable Out IP6 2607:f2c0:f00e:b700::1 >
limitaneiKVM.romanus.ca: ICMP6, echo reply, id 12272, seq 152, length 64
Interfaces:
eth-lan: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::20d:56ff:fefd:cc95 prefixlen 64 scopeid 0x20<link>
inet6 2607:f2c0:f00e:b700::1 prefixlen 64 scopeid 0x0<global>
inet6 2607:fea8:be20:722::1 prefixlen 64 scopeid 0x0<global>
ppp0: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST> mtu 1492
inet6 2607:f2c0:a000:1a2:20d:56ff:fefd:cc95 prefixlen 64 scopeid 0x0<global>
inet6 fe80::20d:56ff:fefd:cc95 prefixlen 128 scopeid 0x20<link>
cable: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 2607:f798:80c:b7:2017:c5f4:f77e:4033 prefixlen 128 scopeid 0x0<global>
inet6 fe80::211:25ff:fecc:749a prefixlen 64 scopeid 0x20<link>
/etc/shorewall6/interfaces
#ZONE INTERFACE BROADCAST OPTIONS
net ppp0 - tcpflags,forward=1,dhcp,accept_ra=2,optional
net cable - tcpflags,forward=1,dhcp,accept_ra=2,optional
eloc eth-lan detect tcpflags,forward=1,dhcp,accept_ra=0,routeback
- lo - -
/etc/shorewall6/providers
#NAME NUMBER MARK DUPLICATE INTERFACE GATEWAY
OPTIONS COPY
teksavvy 11 0x100 - ppp0 - track,fallback -
rogers 12 0x200 - cable detect
track,primary -
I even try to force the traffic routing correctly in
/etc/shorewall6/rtrules to no avail:
#SOURCE DEST PROVIDER PRIORITY
ppp0 - teksavvy 1000
cable - rogers 1000
[2607:f2c0:f00e:b700::/64] ::/0 teksavvy 1000
[2607:fea8:be20:722::/64] ::/0 rogers 1000
KEEP_RT_TABLES is "No" in /etc/shorewall/shorewall.conf and "Yes" in
/etc/shorewall6/shorewall6.conf
shorewall6 show routing:
Shorewall6 5.2.8 Routing at pomerium - Wed 04 Dec 2024 02:53:00 PM EST
Routing Rules
0: from all lookup local
1: from all fwmark 0x20000/0x20000 lookup 16
999: from all lookup main
1000: from all iif ppp0 lookup 11
1000: from 2607:f2c0:f00e:b700::/64 lookup 11
1000: from all iif cable lookup 12
1000: from 2607:fea8:be20:722::/64 lookup 12
10010: from all fwmark 0x100/0xff00 lookup 11
10011: from all fwmark 0x200/0xff00 lookup 12
20000: from 2607:f2c0:a000:1a2:20d:56ff:fefd:cc95 lookup 11
20000: from 2607:f798:80c:b7:2017:c5f4:f77e:4033 lookup 12
32765: from all lookup balance
32767: from all lookup default
Table 11:
default dev ppp0 metric 1024 pref medium
Table 12:
fe80::217:10ff:fe93:b09d dev cable src
2607:f798:80c:b7:2017:c5f4:f77e:4033 metric 1024 pref medium
default via fe80::217:10ff:fe93:b09d dev cable src
2607:f798:80c:b7:2017:c5f4:f77e:4033 metric 1024 pref medium
Table 16:
local default dev lo metric 1024 pref medium
Table balance:
default via fe80::217:10ff:fe93:b09d dev cable metric 1024 pref medium
Table default:
fe80::/32 dev cable metric 1024 pref medium
default dev ppp0 metric 11 pref medium
Table local:
multicast ff00::/8 dev ppp0 proto kernel metric 256 pref medium
multicast ff00::/8 dev fibre proto kernel metric 256 linkdown pref medium
multicast ff00::/8 dev eth-lanX proto kernel metric 256 pref medium
multicast ff00::/8 dev eth-lan proto kernel metric 256 pref medium
multicast ff00::/8 dev dsl proto kernel metric 256 pref medium
multicast ff00::/8 dev cable proto kernel metric 256 pref medium
local fe80::211:25ff:fecc:749b dev dsl proto kernel metric 0 pref medium
local fe80::211:25ff:fecc:749a dev cable proto kernel metric 0 pref medium
local fe80::211:25ff:fecc:7499 dev fibre proto kernel metric 0 pref medium
local fe80::20d:56ff:fefd:cc96 dev eth-lanX proto kernel metric 0 pref
medium
local fe80::20d:56ff:fefd:cc95 dev ppp0 proto kernel metric 0 pref medium
local fe80::20d:56ff:fefd:cc95 dev eth-lan proto kernel metric 0 pref medium
local 2607:fea8:be20:722::1 dev eth-lan proto kernel metric 0 pref medium
local 2607:f798:80c:b7:2017:c5f4:f77e:4033 dev cable proto kernel metric
0 pref medium
local 2607:f2c0:f00e:b701::1 dev eth-lanX proto kernel metric 0 pref medium
local 2607:f2c0:f00e:b700::1 dev eth-lan proto kernel metric 0 pref medium
local 2607:f2c0:a000:1a2:20d:56ff:fefd:cc95 dev ppp0 proto kernel metric
0 pref medium
local ::1 dev lo proto kernel metric 0 pref medium
anycast fe80:: dev fibre proto kernel metric 0 pref medium
anycast fe80:: dev eth-lanX proto kernel metric 0 pref medium
anycast fe80:: dev eth-lan proto kernel metric 0 pref medium
anycast fe80:: dev dsl proto kernel metric 0 pref medium
anycast fe80:: dev cable proto kernel metric 0 pref medium
anycast 2607:fea8:be20:722:: dev eth-lan proto kernel metric 0 pref medium
anycast 2607:f2c0:f00e:b701:: dev eth-lanX proto kernel metric 0 pref medium
anycast 2607:f2c0:f00e:b700:: dev eth-lan proto kernel metric 0 pref medium
anycast 2607:f2c0:a000:1a2:: dev ppp0 proto kernel metric 0 pref medium
Table main:
unreachable 2607:f2c0:f00e:b700::/56 dev lo proto dhcp metric 1001 pref
medium
fe80::217:10ff:fe93:b09d dev cable src
2607:f798:80c:b7:2017:c5f4:f77e:4033 metric 1024 pref medium
fd07:f798:3:41be::/64 dev cable proto ra metric 1006 mtu 1500 pref medium
fd07:f798:3:41be::/64 dev cable proto kernel metric 256 pref medium
2607:fea8:be20:722::/64 dev eth-lan proto dhcp metric 1002 pref medium
2607:f798:80c:b7::/64 dev cable proto ra metric 1006 mtu 1500 pref medium
2607:f798:80c:b7::/64 dev cable proto kernel metric 256 pref medium
2607:f798:70:10aa::/64 dev cable proto ra metric 1006 mtu 1500 pref medium
2607:f798:70:10aa::/64 dev cable proto kernel metric 256 pref medium
2607:f2c0:f200:1906::/64 dev cable proto ra metric 1006 mtu 1500 pref medium
2607:f2c0:f200:1906::/64 dev cable proto kernel metric 256 pref medium
2607:f2c0:f00e:b701::/64 dev eth-lanX proto dhcp metric 1003 pref medium
2607:f2c0:f00e:b700::/64 dev eth-lan proto dhcp metric 1002 pref medium
2607:f2c0:a000:1a2::/64 dev ppp0 proto ra metric 1010 pref medium
2607:f2c0:a000:1a2::/64 dev ppp0 proto kernel metric 256 expires
2591895sec pref medium
2607:9880:1:26::/64 dev cable proto ra metric 1006 mtu 1500 pref medium
2607:9880:1:26::/64 dev cable proto kernel metric 256 pref medium
2604:5580:50:1026::/64 dev cable proto ra metric 1006 mtu 1500 pref medium
2604:5580:50:1026::/64 dev cable proto kernel metric 256 pref medium
2604:5580:41:26::/64 dev cable proto ra metric 1006 mtu 1500 pref medium
2604:5580:41:26::/64 dev cable proto kernel metric 256 pref medium
2604:5580:101:16::/64 dev cable proto ra metric 1006 mtu 1500 pref medium
2604:5580:101:16::/64 dev cable proto kernel metric 256 pref medium
default via fe80::217:10ff:fe93:b09d dev cable proto ra metric 1006 mtu
1500 pref medium
default via fe80::200:ff:fe00:0 dev ppp0 proto ra metric 1024 expires
1695sec hoplimit 64 pref medium
default via fe80::200:ff:fe00:0 dev ppp0 proto ra metric 1010 pref medium
_______________________________________________
Shorewall-users mailing list
Shorewall-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/shorewall-users