I'm setting up IPv6 multiISP.
The default provider is via eth0.
With no providers defined, IPv6 is working.
At this point, the 'main' routing table is
shorewall6-lite show routing
...
Table main:
local ::1 dev lo proto kernel metric 256 pref medium
fe80::/64 dev eth0 proto kernel metric 256 pref medium
fe80::/64 dev dummy0 proto kernel metric 256 pref medium
2600:XXXX:YYYY::/64 dev eth0 proto kernel metric 256 pref medium
2600:XXXX::/64 dev eth0 proto kernel metric 256 pref medium
default via fe80::1 dev eth0 metric 1024 pref medium
The secondary provider will be via a 'sit' interface.
At first step of adding the current default as 1st IPv6 provider,
/providers
native 1 0x100 main EXT_IF fe80::1 track,balance
# he6 2 0x200 main HE6_IF $HE6_GW track,fallback
compile fails. with trace,
...
+ '[' restart = enable ']'
+ run_isusable_exit eth0
+ local status
+ status=0
+ '[' -f /var/lib/shorewall6-lite/eth0.status ']'
+ return 0
+ status=0
+ return 0
+ qt ip -6 route flush table 1
+ ip -6 route flush table 1
+ echo '/sbin/ip -6 route flush table 1 > /dev/null 2>&1'
+ cat
+ '[' restart = enable ']'
+ qt /sbin/ip -6 rule del fwmark 0x100/0xff00
+ /sbin/ip -6 rule del fwmark 0x100/0xff00
+ run_ip rule add fwmark 0x100/0xff00 pref 10000 table 1
+ /sbin/ip -6 rule add fwmark 0x100/0xff00 pref 10000 table 1
+ echo '/sbin/ip -6 rule del fwmark 0x100/0xff00 > /dev/null 2>&1'
+ /sbin/ip -6 -o route show table main
+ grep -vF ' cache '
+ sed 's/ via :: / /'
+ read net route
+ case $net in
+ run_ip route add table 1 local ::1 dev lo proto kernel metric 256
pref medium
+ /sbin/ip -6 route add table 1 local ::1 dev lo proto kernel metric
256 pref medium
+ read net route
+ case $net in
+ run_ip route add table 1 2600:XXXX::/64 dev eth0 proto kernel metric
256 pref medium
+ /sbin/ip -6 route add table 1 2600:XXXX::/64 dev eth0 proto kernel
metric 256 pref medium
+ read net route
+ case $net in
+ run_ip route add table 1 2600:XXXX:YYYY::/64 dev eth0 proto kernel
metric 256 pref medium
+ /sbin/ip -6 route add table 1 2600:XXXX:YYYY::/64 dev eth0 proto
kernel metric 256 pref medium
+ read net route
+ case $net in
+ run_ip route add table 1 fe80::/64 dev dummy0 proto kernel metric 256
pref medium
+ /sbin/ip -6 route add table 1 fe80::/64 dev dummy0 proto kernel
metric 256 pref medium
+ read net route
+ case $net in
+ run_ip route add table 1 fe80::/64 dev eth0 proto kernel metric 256
pref medium
+ /sbin/ip -6 route add table 1 fe80::/64 dev eth0 proto kernel metric
256 pref medium
RTNETLINK answers: File exists
+ error_message 'ERROR: Command "/sbin/ip -6 route' add table 1
fe80::/64 dev eth0 proto kernel metric 256 pref 'medium" Failed'
+ echo ' ERROR: Command "/sbin/ip -6 route' add table 1 fe80::/64 dev
eth0 proto kernel metric 256 pref 'medium" Failed'
ERROR: Command "/sbin/ip -6 route add table 1 fe80::/64 dev eth0
proto kernel metric 256 pref medium" Failed
+ return 1
+ stop_firewall
+ local hack
+ case $COMMAND in
+ set +x
Restoring Shorewall6 Lite...
Initializing...
Processing init user exit ...
Processing tcclear user exit ...
Setting up Accept Source Routing...
Setting up Proxy NDP...
Setting up Accept Routing Advertisements...
IPv6 Forwarding Enabled
Setting up IPv6 Interface Forwarding...
Processing restored user exit ...
done.
Shorewall6 Lite restored from /var/lib/shorewall6-lite/restore
/usr/share/shorewall/lib.common: line 140: 27265 Terminated
$SHOREWALL_SHELL $script $options $@
This appears to be related to IPv6's use of link-local addressing. A collision
with the preexisting default route?
------------------------------------------------------------------------------
_______________________________________________
Shorewall-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/shorewall-users