1 (edytowany przez jaros85 2018-05-13 22:49:18)

Temat: Failover mwan3 Aero2

Witam wszystkich.
Posiadam następującą konfigurację sprzętową
Ruter WDR4300 LEDE z LuCI - r3876-efb6ca1
Modem E3372h-153 (Hi-Link) z kartą Aero2
Konfigurację wykonałem według poniższej instrukcji:
http://pliki.linuxiarz.pl/11-2013/PORAD … 3%20v1.pdf\
Niestety w żaden sposób nie jestem w stanie ustawić aby ruch przełączył się na wan2

Interfejs wan2 jest offline po przełączeniu się na wan2 (gdy wan jest offline) a następnie gdy nastąpi powrót do głównego interfejsu wan.
Gdy ruter przełączy się na wan2 nie pingują się żadne serwery DNS ani jakikolwiek publiczny adres IP.
Działa jedynie dostęp do adresu IP 192.168.8.1 modemu gdy ruch przełączy się na wan2

Status mwan3.

Interface status:
 interface wan is online and tracking is active
 interface wan2 is offline and tracking is active

Current ipv4 policies:
failover:
 wan (100%)


Current ipv6 policies:
failover:
 unreachable


Directly connected ipv4 networks:
 192.168.8.100
 127.0.0.1
 224.0.0.0/3
 10.0.100.1
 192.168.100.1
 172.16.100.0/30
 192.168.100.31
 192.168.125.19
 172.16.100.3
 127.0.0.0
 127.0.0.0/8
 172.16.200.3
 192.168.8.0/24
 10.0.100.0/29
 192.168.100.0/27
 192.168.125.63
 192.168.8.255
 172.16.100.0
 192.168.125.0/26
 192.168.8.0
 192.168.100.0
 172.16.200.1
 192.168.8.1
 172.16.200.0/30
 10.0.100.7
 192.168.125.1
 192.168.125.0
 127.255.255.255
 172.16.200.0
 172.16.100.1
 10.0.100.0

Directly connected ipv6 networks:
 fe80::/64
 fd6a:3de3:2021::/64

Active ipv4 user rules:
   47  2541 - failover  all  --  *      *       0.0.0.0/0            0.0.0.0/0            

Active ipv6 user rules:
   20 10780 - failover  all      *      *       ::/0                 ::/0

/etc/config/mwan3

config interface 'wan'
    option enabled '1'
    option reliability '2'
    option count '1'
    option timeout '2'
    option interval '5'
    option down '3'
    option up '8'
    option reroute '0'
    list track_ip '8.8.8.8'
    list track_ip '208.67.222.222'

config interface 'wan2'
    option reliability '1'
    option count '1'
    option timeout '10'
    option interval '20'
    option down '10'
    option up '5'
    option enabled '1'
    option reroute '0'
    list track_ip '8.8.8.8'
    list track_ip '208.67.222.222'

config member 'wan_m1_w3'
    option interface 'wan'
    option metric '1'
    option weight '1'

config member 'wan2_m2_w2'
    option interface 'wan2'
    option metric '2'
    option weight '2'

config policy 'failover'
    list use_member 'wan_m1_w3'
    list use_member 'wan2_m2_w2'

config rule 'default_rule'
    option dest_ip '0.0.0.0/0'
    option proto 'all'
    option sticky '0'
    option use_policy 'failover'

/etc/config/network

config interface 'loopback'
    option ifname 'lo'
    option proto 'static'
    option ipaddr '127.0.0.1'
    option netmask '255.0.0.0'

config globals 'globals'
    option ula_prefix 'fd6a:3de3:2021::/48'

config interface 'lan'
    option type 'bridge'
    option ifname 'eth0.1'
    option proto 'static'
    option ip6assign '60'
    option ipaddr '192.168.100.1'
    option netmask '255.255.255.224'

config interface 'wan'
    option ifname 'eth0.2'
    option proto 'dhcp'
    option metric '10'
    option peerdns '0'
    option metric '1'
    option dns '8.8.8.8 208.67.222.222'

config interface 'wan6'
    option ifname 'eth0.2'
    option proto 'dhcpv6'

config switch
    option name 'switch0'
    option reset '1'
    option enable_vlan '1'

config switch_vlan
    option device 'switch0'
    option vlan '1'
    option ports '4 5 0t'

config switch_vlan
    option device 'switch0'
    option vlan '2'
    option ports '1 0t'

config switch_vlan
    option device 'switch0'
    option vlan '3'
    option ports '2 0t'

config switch_vlan
    option device 'switch0'
    option vlan '4'
    option ports '3 0t'

config interface 'wan2'
    option proto 'dhcp'
    option ifname 'eth1'
    option metric '20'
    option peerdns '0'
    option metric '2'
    option dns '8.8.8.8 208.67.222.222'

config interface 'lan2'
    option ifname 'eth0.3'
    option proto 'static'
    option ipaddr '172.16.100.1'
    option netmask '255.255.255.252'

config interface 'lan3'
    option ifname 'eth0.4'
    option proto 'static'
    option ipaddr '172.16.200.1'
    option netmask '255.255.255.252'

config interface 'guest'
    option type 'bridge'
    option proto 'static'
    option ipaddr '10.0.100.1'
    option netmask '255.255.255.248'

/etc/config/firewall

config defaults
    option syn_flood '1'
    option input 'ACCEPT'
    option output 'ACCEPT'
    option forward 'REJECT'

config zone
    option name 'lan'
    list network 'lan'
    option input 'ACCEPT'
    option output 'ACCEPT'
    option forward 'ACCEPT'

config zone
    option name 'wan'
    list network 'wan'
    list network 'wan6'
    list network 'wan2'
    option input 'REJECT'
    option output 'ACCEPT'
    option forward 'REJECT'
    option masq '1'
    option mtu_fix '1'

config forwarding
    option src 'lan'
    option dest 'wan'

config rule
    option name 'Allow-DHCP-Renew'
    option src 'wan'
    option proto 'udp'
    option dest_port '68'
    option target 'ACCEPT'
    option family 'ipv4'

config rule
    option name 'Allow-Ping'
    option src 'wan'
    option proto 'icmp'
    option icmp_type 'echo-request'
    option family 'ipv4'
    option target 'ACCEPT'

config rule
    option name 'Allow-IGMP'
    option src 'wan'
    option proto 'igmp'
    option family 'ipv4'
    option target 'ACCEPT'

config rule
    option name 'Allow-DHCPv6'
    option src 'wan'
    option proto 'udp'
    option src_ip 'fc00::/6'
    option dest_ip 'fc00::/6'
    option dest_port '546'
    option family 'ipv6'
    option target 'ACCEPT'

config rule
    option name 'Allow-MLD'
    option src 'wan'
    option proto 'icmp'
    option src_ip 'fe80::/10'
    list icmp_type '130/0'
    list icmp_type '131/0'
    list icmp_type '132/0'
    list icmp_type '143/0'
    option family 'ipv6'
    option target 'ACCEPT'

config rule
    option name 'Allow-ICMPv6-Input'
    option src 'wan'
    option proto 'icmp'
    list icmp_type 'echo-request'
    list icmp_type 'echo-reply'
    list icmp_type 'destination-unreachable'
    list icmp_type 'packet-too-big'
    list icmp_type 'time-exceeded'
    list icmp_type 'bad-header'
    list icmp_type 'unknown-header-type'
    list icmp_type 'router-solicitation'
    list icmp_type 'neighbour-solicitation'
    list icmp_type 'router-advertisement'
    list icmp_type 'neighbour-advertisement'
    option limit '1000/sec'
    option family 'ipv6'
    option target 'ACCEPT'

config rule
    option name 'Allow-ICMPv6-Forward'
    option src 'wan'
    option dest '*'
    option proto 'icmp'
    list icmp_type 'echo-request'
    list icmp_type 'echo-reply'
    list icmp_type 'destination-unreachable'
    list icmp_type 'packet-too-big'
    list icmp_type 'time-exceeded'
    list icmp_type 'bad-header'
    list icmp_type 'unknown-header-type'
    option limit '1000/sec'
    option family 'ipv6'
    option target 'ACCEPT'

config rule
    option name 'Allow-IPSec-ESP'
    option src 'wan'
    option dest 'lan'
    option proto 'esp'
    option target 'ACCEPT'

config rule
    option name 'Allow-ISAKMP'
    option src 'wan'
    option dest 'lan'
    option dest_port '500'
    option proto 'udp'
    option target 'ACCEPT'

config include
    option path '/etc/firewall.user'

config zone
    option name 'lan2'
    list network 'lan2'
    option output 'ACCEPT'
    option input 'REJECT'
    option forward 'REJECT'

config forwarding
    option src 'lan2'
    option dest 'wan'

config rule
    option src 'lan2'
    option proto 'udp'
    option src_port '67-68'
    option dest_port '67-68'
    option target 'ACCEPT'
    option family 'ipv4'

config rule
    option src 'lan2'
    option dest_port '53'
    option target 'ACCEPT'
    option family 'ipv4'
    option proto 'tcpudp'

config zone
    option name 'lan3'
    list network 'lan3'
    option output 'ACCEPT'
    option input 'REJECT'
    option forward 'REJECT'

config forwarding
    option src 'lan3'
    option dest 'wan'

config rule
    option src 'lan3'
    option proto 'udp'
    option src_port '67-68'
    option dest_port '67-68'
    option target 'ACCEPT'
    option family 'ipv4'

config rule
    option src 'lan3'
    option dest_port '53'
    option target 'ACCEPT'
    option family 'ipv4'
    option proto 'tcpudp'

config zone
    option name 'guest'
    list network 'guest'
    option output 'ACCEPT'
    option input 'REJECT'
    option forward 'REJECT'

config forwarding
    option src 'guest'
    option dest 'wan'

config rule
    option src 'guest'
    option proto 'udp'
    option src_port '67-68'
    option dest_port '67-68'
    option target 'ACCEPT'
    option family 'ipv4'

config rule
    option src 'guest'
    option dest_port '53'
    option target 'ACCEPT'
    option family 'ipv4'
    option proto 'tcpudp'
| C2600 @ OpenWrt 21.02 / LuCi -> sieć gościnna, WINS serwer, VLAN, DLNA, multiwan
| WDR4300 @ OpenWrt 21.02 / LuCI -> extroot, sieć gościnna, WINS serwer
| MR3020 @ MiFi 17.01 -> E3372 HiLink
| WR842ND v2 @ Gargoyle PL 1.13.0 -> testy

2 (edytowany przez mar_w 2018-05-13 23:48:39)

Odp: Failover mwan3 Aero2

jeżeli masz to:

interface wan2 is offline and tracking is active

to sprawdź czy masz w systemie pakiet ip-full
Jeżeli nie ma, to doinstaluj sobie, bo oczywiście mwan3 ma nadal w zależnościach "ip" którego już nie ma.
https://github.com/openwrt/packages/blo … 3/Makefile
A błąd był zgłoszony w tamtym roku.

Xiaomi AX3000T @ Netgear R6220
* DVBT2 - T230C *

3

Odp: Failover mwan3 Aero2

Małe sprostowanie: pakiet "ip" fizycznie nie istnieje ale jest dostarczany wirtualnie zarówno przez ip-full jak i ip-tiny. Inna sprawa że mwan3 powinien po prostu zależeć od ip-full i tyle.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

4

Odp: Failover mwan3 Aero2

A pewnie wszystko byłoby dobrze, gdyby nie zmienili nazewnictwa, bo nagle pakiet "ip" z 15.05 stał się "ip-tiny" w 17.01
Na szczęście "ip-full" został bez zmiany nazwy.
Polecenie "ip" z Busybox-a może na początku zmylić użytkownika, że niby coś  z "ip" już jest w systemie.

Ogólnie instalacja pakietu mwan3 nie informuje, że "ip" nie ma w repo, nie ma w systemie i nie zostały spełnione wszystkie zależności do poprawnej pracy. Przy instalacji wszystko jest cacy i trzeba się domyślać.

chodzą też słuchy, że być może wystarczy "ip-tiny" (oszczędność miejsca ~37kB dla ar71xx) ale osobiście nie sprawdzałem.

Xiaomi AX3000T @ Netgear R6220
* DVBT2 - T230C *

5

Odp: Failover mwan3 Aero2

Niestety po włączeniu rutera po jakimś czasie wan2 przełącza się w Off-Line.
Podejrzewam jakiś problem z routingiem ponieważ tak jak wcześniej pisałem gdy działa tylko wan2 nie jestem w stanie zapingować jakiegokolwiek adresu z wan-u (adresy 8.8.8.8 i 208.67.222.222 nie są dostępne więc interfejs przechodzi w off-line)

root@WDR4300:/sbin# ping -I eth0.2 8.8.8.8
PING 8.8.8.8 (8.8.8.8): 56 data bytes
64 bytes from 8.8.8.8: seq=0 ttl=59 time=9.582 ms
64 bytes from 8.8.8.8: seq=1 ttl=59 time=9.346 ms
^C
--- 8.8.8.8 ping statistics ---
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 9.346/9.464/9.582 ms
root@WDR4300:/sbin# ping -I eth1 8.8.8.8
PING 8.8.8.8 (8.8.8.8): 56 data bytes
^C
--- 8.8.8.8 ping statistics ---
21 packets transmitted, 0 packets received, 100% packet loss

Wcześniej maiłem pakiet ip-tiny doinstalowałem ip-full ale nic to nie zmieniło.

root@WDR4300:/sbin# opkg list-installed | grep ip-
ip-full - 4.4.0-10
ip-tiny - 4.4.0-10
root@WDR4300:/sbin# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         192.168.125.1   0.0.0.0         UG    1      0        0 eth0.2
default         192.168.8.1     0.0.0.0         UG    2      0        0 eth1
10.0.100.0      *               255.255.255.248 U     0      0        0 br-guest
172.16.100.0    *               255.255.255.252 U     0      0        0 eth0.3
172.16.200.0    *               255.255.255.252 U     0      0        0 eth0.4
192.168.8.0     *               255.255.255.0   U     2      0        0 eth1
192.168.8.1     *               255.255.255.255 UH    2      0        0 eth1
192.168.100.0   *               255.255.255.224 U     0      0        0 br-lan
192.168.125.0   *               255.255.255.192 U     1      0        0 eth0.2
192.168.125.1   *               255.255.255.255 UH    1      0        0 eth0.2
| C2600 @ OpenWrt 21.02 / LuCi -> sieć gościnna, WINS serwer, VLAN, DLNA, multiwan
| WDR4300 @ OpenWrt 21.02 / LuCI -> extroot, sieć gościnna, WINS serwer
| MR3020 @ MiFi 17.01 -> E3372 HiLink
| WR842ND v2 @ Gargoyle PL 1.13.0 -> testy

6

Odp: Failover mwan3 Aero2

Przecież masz aero2. Nie pingujesz adesów googla bo nie przepuści, co najwyżej możesz pingować dnsy od aero2.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

7

Odp: Failover mwan3 Aero2

Zmieniłem na DNSy Aero2 ale nic to nie zmieniło.
Na wan2 ma ustawione DNSy: 212.2.96.51 212.2.96.52 (te same do testowania dostępności).
Te adresy się pingują po wpisaniu kodu captcha przez pierwszą godzinę później znowu są nie osiągalne więc ponownie interfejs wan2 przełącza się offline.

Gdy wpiszę kod captcha sytuacja wygląda następująco:
-obydwa interfejsy w.g. mwan3 są on-line
-wyciągam kabel z interfejsu wan
-ruch przełącza się na wan2 wg mwan3 (i tu zaczynają się problemy)
Mimo iż mogę pingować co chcę to i tak nic nie chce się otworzyć żadna strona ale jak tylko połączę kabel do portu wan ruch zaczyna działać prawidłowo przez wan2 (dioda na modemie zmienia kolor) można to też potwierdzić przez stronę pokazującą mój IP oraz speedtest, niestety bardzo szybko ruch przełącza się na interfejs wan.
Aby ruch na wan2 działał prawidłowo to muszę zrestartować ruter ale po podłączeniu kabla do interfejsu wan ruch się nie przełącza. Nie jestem w stanie otworzyć żadnej strony muszę zrestartować ruter.

Tak jak wcześniej podejrzewałem problem może być z rutingiem po przełączeniu interfejsów.
Kolejna sprawa to jakie adresy ustawić do testowania dostępności wan2. Mogę ustawić 192.168.8.1 do testowania ale czy to rozwiązanie problemu ?

| C2600 @ OpenWrt 21.02 / LuCi -> sieć gościnna, WINS serwer, VLAN, DLNA, multiwan
| WDR4300 @ OpenWrt 21.02 / LuCI -> extroot, sieć gościnna, WINS serwer
| MR3020 @ MiFi 17.01 -> E3372 HiLink
| WR842ND v2 @ Gargoyle PL 1.13.0 -> testy

8

Odp: Failover mwan3 Aero2

W aero2 możesz ustawić tą stronę do logowania, free.aero2.net.pl. Sprawdź sobie czy ona jest dostępna po podaniu kodu.

192.168.8.1 to modem, on jest dostępny zawsze.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

9

Odp: Failover mwan3 Aero2

Przeprowadziłem kilka testów to co zauważyłem:
wan (główny) - jeżeli kabel jest podłączony to pinguję wszystko co się da
wan2 (aero2) - jeżeli captcha jest wpisany a kabel w wan jest wpięty to wszytko się pinguje
wan2 (aero2) - jeżeli captcha nie wpiszę nic się nie pinguje przez wan2 bez względu na stan głównego wanu.

Przed rozpoczęciem testów wpisałem captcha aby nie mieć problemu z dostępem do neta przez wan2.
- kabel do portu wan jest podpięty i ruch jest kierowany przez ten interfejs
- odłączam kabel od wanu mwan3 przełącza ruch na wan2 i tu wszystko przestaje działać mimo iż ping idzie nic się nie otwiera
- wykonuję polecenie ifdown wan a następnie ifup wan
- po wykonaniu tych poleceń ruch już odbywa się przawidłowo przez wan2
- podłączam kabel do wanu a mwan3 przełącza cały ruch przez ten interfejs bez żadnej ingerencji.
- niestety jak ponownie odłączę kabel od wanu muszę ponownie restartować interfejs jak wyżej ponieważ ruch nie chce się przełączyć na wan2 (w mwan3 się przełącza ale fizycznie ruch na wan2 nie jest kierowany)

Czy ktoś może potwierdzić to zachowanie się interfejsów ?

| C2600 @ OpenWrt 21.02 / LuCi -> sieć gościnna, WINS serwer, VLAN, DLNA, multiwan
| WDR4300 @ OpenWrt 21.02 / LuCI -> extroot, sieć gościnna, WINS serwer
| MR3020 @ MiFi 17.01 -> E3372 HiLink
| WR842ND v2 @ Gargoyle PL 1.13.0 -> testy

10

Odp: Failover mwan3 Aero2

a u mnie na xiaomi miwifi mini po wydaniu polecenia "mwan3 start" i "mwan3 status" nie wyświetla się nic w terminalu smile
czyste LEDE - Reboot (17.01-SNAPSHOT, r3876-efb6ca1)
mwan3 - 2.0.2-1

Xiaomi AX3000T @ Netgear R6220
* DVBT2 - T230C *

11 (edytowany przez mar_w 2018-05-16 20:33:52)

Odp: Failover mwan3 Aero2

Up:
nikt nie chce sprawdzić czy na maszynkach z katalogu mt7620 da się zrobić cokolwiek z mwan3?
Teraz sprawdziłem na WT3020 i jest to samo co na Miwifi-Mini tzn. nic się nie pokazuje w terminalu.

root@LEDE:~# mwan3 status
root@LEDE:~# 
root@LEDE:~# mwan3 stop
root@LEDE:~# 
root@LEDE:~# mwan3 start
root@LEDE:~# 
root@LEDE:~# mwan3 status
root@LEDE:~# 
...
/        /\      _    ___ ___  ___
   /  LE    /  \    | |  | __|   \| __|
  /    DE  /    \   | |__| _|| |) | _|
 /________/  LE  \  |____|___|___/|___|                      lede-project.org
 \        \   DE /
  \    LE  \    /  -----------------------------------------------------------
   \  DE    \  /    Reboot (17.01-SNAPSHOT, r3876-efb6ca1)
    \________\/    -----------------------------------------------------------

 -----------------------------------------------------------------------------
 |                                                                           |
 | Build time: 2018-04-21 07:50 CEST                                         |
 |                                                                           |
 | Cezary Jackiewicz (obsy), http://eko.one.pl                               |
 |                                                                           |
 -----------------------------------------------------------------------------
 | Machine: Nexx WT3020

Czyżby jakiś błąd przy kompilacji pakietu...???

Xiaomi AX3000T @ Netgear R6220
* DVBT2 - T230C *

12

Odp: Failover mwan3 Aero2

opkg install ip6tables zrób smile mwan3 tego wymaga i sprawdza przy wywołaniu czy jest w systemie.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

13 (edytowany przez mar_w 2018-05-17 01:13:13)

Odp: Failover mwan3 Aero2

... tylko że w Twoim obrazie Reboot (17.01-SNAPSHOT, r3876-efb6ca1) jest "od startu" pakiet o którym piszesz smile
I jaki mogę zrobić następny krok? smile


EDIT1: po analizie skryptów okazuje się, że mając w systemie ip-full nie można w ogóle dostać żadnej odpowiedzi od mwan3 ponieważ w pliku:
https://github.com/openwrt/packages/blo … sbin/mwan3
zamiast: [ -x /usr/bin/ip ] || exit 4  trzeba zmienić ścieżkę na
[ -x /usr/sbin/ip ] || exit 4

oraz w pliku:
https://github.com/openwrt/packages/blo … 3/mwan3.sh
należy zmienić:
IP4="/usr/bin/ip -4"
IP6="/usr/bin/ip -6"

analogicznie na to:
IP4="/usr/sbin/ip -4"
IP6="/usr/sbin/ip -6"

EDIT2: co tylko częściowo poprawia sytuację, ponieważ już można dostać jakąkolwiek odpowiedź ale nadal trzeba kopać bo nie działa. To z podłączonym kablem do WAN-u:

# mwan3 status
Interface status:
interface wan is offline and tracking is down
interface wan2 is unknown and tracking is down

Current ipv4 policies:

Current ipv6 policies:

Directly connected ipv4 networks:

Directly connected ipv6 networks:

Active ipv4 user rules:

Active ipv6 user rules:

a Internet mam na routerze...

EDIT3: Kolejna próba to powrót do ustawień "fabrycznych" mwan3 - 2.0.2-1
Z tym, że  trzeba USUNĄĆ z systemu pakiet ip-full i zainstalować pakiet ip-tiny
Co nie zmienia faktu, że ip-tiny nie ma w zależnościach mwan3.

Wniosek: ogólnie zapanował jakiś chaos, ponieważ mając lepszy pakiet (full) nic nie działa.

Xiaomi AX3000T @ Netgear R6220
* DVBT2 - T230C *

14

Odp: Failover mwan3 Aero2

mar_w napisał/a:

... tylko że w Twoim obrazie Reboot (17.01-SNAPSHOT, r3876-efb6ca1) jest "od startu" pakiet o którym piszesz smile

Nie, w moim w/w obrazie nie ma mwan3 od startu. Ja nie kompiluję mwan3 w ogóle.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

15

Odp: Failover mwan3 Aero2

Cezary napisał/a:

opkg install ip6tables zrób smile mwan3 tego wymaga i sprawdza przy wywołaniu czy jest w systemie.

Do tego się odniosłem w swoim pierwszym zdaniu  w #13
Myślę że warto dopisać w poradniku informację o ip-tiny

Xiaomi AX3000T @ Netgear R6220
* DVBT2 - T230C *

16

Odp: Failover mwan3 Aero2

Dopisałem.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

17

Odp: Failover mwan3 Aero2

A czy któryś z kolegów ma rozwiązanie na mój problem.
Przełączenie z wan2 do wan działa bez problemu ale przełączenie z wan na wan2 już nie i wymaga resetu wanu.

| C2600 @ OpenWrt 21.02 / LuCi -> sieć gościnna, WINS serwer, VLAN, DLNA, multiwan
| WDR4300 @ OpenWrt 21.02 / LuCI -> extroot, sieć gościnna, WINS serwer
| MR3020 @ MiFi 17.01 -> E3372 HiLink
| WR842ND v2 @ Gargoyle PL 1.13.0 -> testy

18

Odp: Failover mwan3 Aero2

Ponieważ Aero2 działa tak, że jak skończy się czas sesji (1 godz.) to nie idą pingi w  świat, dopóki automat nie przyzna biletu (poprzez Captcha) na kolejną sesję.
Taka sytuacja powoduje, że mwan3 "widzi" wan2 jako offline i dopóki nie zmieni się stan na online, to nie ma ochoty puszczać ruchu przez nieaktywne złącze bo i po co skoro jest nieaktywne smile
Aby wywołać stronę bdi.free.aero2.net.pl:8080 przez wan2 to złącze musi być online, a nie jest.

Sytuacja zapętlona... ale można oszukać mwan3 jeżeli mamy Aero2 np. na Hilinku.
W konfigu mwan3 dla sekcji wan2 można ustawić track na adres modemu Hilink np:
list track_ip '192.168.10.1'

Wiem że głupio to wygląda ale... mając tryb Failover, który puszcza ruch wg metryk to Internet zawsze będzie szedł głównym łączem WAN.
W przypadku zaniku WAN-a mwan3 będzie miał "zawsze" tryb online na WAN2, więc w przypadku wywołania strony google.pl i jednocześnie skończonej sesji, automat Aero2 przekieruje na bdi.free.aero2.net.pl:8080 w celu wpisania Captcha.
Potem mamy już internet na kolejną godzinę itd.

Gdy wróci połączenie na WAN to nastąpi przełączenie ze względu na mniejszą metrykę.
Sprawdź...

Xiaomi AX3000T @ Netgear R6220
* DVBT2 - T230C *

19

Odp: Failover mwan3 Aero2

Problem w tym że właśnie tak mam zrobione pinguje modem 192.168.8.1
Łącze wan2 jest online ale nawet jak wcześniej wpiszę captcha i normalnie przez godzinę mam dostęp do neta przez Aero2 to i tak mwan3 nie chce przełączyć ruchu.
Nawet jak wsadzę inną kartę sim do modemu co ma normalnego nie limitowanego neta to nie działa.
W logach mwan3 jest info że cały ruch 100% idzie przez wan2 ale nic nie działa ruter nie przełącza rutingu na ten interfejs.
Powrót na wan główny działa ok ale z wan na wan2 już nie.

| C2600 @ OpenWrt 21.02 / LuCi -> sieć gościnna, WINS serwer, VLAN, DLNA, multiwan
| WDR4300 @ OpenWrt 21.02 / LuCI -> extroot, sieć gościnna, WINS serwer
| MR3020 @ MiFi 17.01 -> E3372 HiLink
| WR842ND v2 @ Gargoyle PL 1.13.0 -> testy

20 (edytowany przez mar_w 2018-05-20 14:58:44)

Odp: Failover mwan3 Aero2

Sprawdzałem zarówno dla aktywnej sesji Aero2 jak i nieaktywnej sesji.
Dla aktywnej sesji wszystko chodzi bezboleśnie, dla nieaktywnej sesji zazwyczaj sprawdzam w przeglądarce na tablecie stronę google.pl i wtedy dostaje z automatu przekierowanie na bdi.free.aero2.net.pl:8080 w celu wpisania Captcha. I dalej chodzi OK.

Pokaż nowe konfigi bo rozumiem, że te z posta #1 już się nie liczą, albo wystawię Ci swoje za jakiś czas.

I nie wiem po co masz/miałeś 2 razy inny "metric" (cytat z posta #1):

jaros85 napisał/a:

...
/etc/config/network
...

config interface 'wan'
    option ifname 'eth0.2'
    option proto 'dhcp'
    option metric '10'
    option peerdns '0'
    option metric '1'
    option dns '8.8.8.8 208.67.222.222'
....
config interface 'wan2'
    option proto 'dhcp'
    option ifname 'eth1'
   option metric '20'
    option peerdns '0'
    option metric '2'
    option dns '8.8.8.8 208.67.222.222'

Xiaomi AX3000T @ Netgear R6220
* DVBT2 - T230C *

21

Odp: Failover mwan3 Aero2

Konfiguracja się trochę zmieniła, co do metryki to faktycznie nie zauważyłem była dwa razy.
Poniżej przesyłam aktualny konfig.
Niestety nadal sytuacja jest taka sama jak wcześniej nie chce przejść z wan na wan2.

mwan3

config interface 'wan'
    option enabled '1'
    option reliability '2'
    option count '1'
    option timeout '2'
    option interval '5'
    option down '3'
    option up '8'
    option reroute '0'
    list track_ip '8.8.8.8'
    list track_ip '208.67.222.222'

config interface 'wan2'
    option reliability '1'
    option count '1'
    option timeout '10'
    option interval '20'
    option down '10'
    option up '5'
    option enabled '1'
    option reroute '0'
    list track_ip '192.168.8.1'
    list track_ip '212.2.96.51'
    list track_ip '212.2.96.52'

config member 'wan_m1_w3'
    option interface 'wan'
    option metric '1'
    option weight '1'

config member 'wan2_m2_w2'
    option interface 'wan2'
    option metric '2'
    option weight '2'

config policy 'failover'
    list use_member 'wan_m1_w3'
    list use_member 'wan2_m2_w2'

config rule 'default_rule'
    option dest_ip '0.0.0.0/0'
    option proto 'all'
    option sticky '0'
    option use_policy 'failover'

network

config interface 'loopback'
    option ifname 'lo'
    option proto 'static'
    option ipaddr '127.0.0.1'
    option netmask '255.0.0.0'

config globals 'globals'
    option ula_prefix 'fd6a:3de3:2021::/48'

config interface 'lan'
    option type 'bridge'
    option ifname 'eth0.1'
    option proto 'static'
    option ip6assign '60'
    option ipaddr '192.168.100.1'
    option netmask '255.255.255.224'

config interface 'wan'
    option ifname 'eth0.2'
    option proto 'dhcp'
    option peerdns '0'
    option metric '1'
    option dns '8.8.8.8 208.67.222.222'

config interface 'wan6'
    option ifname 'eth0.2'
    option proto 'dhcpv6'

config switch
    option name 'switch0'
    option reset '1'
    option enable_vlan '1'

config switch_vlan
    option device 'switch0'
    option vlan '1'
    option ports '4 5 0t'

config switch_vlan
    option device 'switch0'
    option vlan '2'
    option ports '1 0t'

config switch_vlan
    option device 'switch0'
    option vlan '3'
    option ports '2 0t'

config switch_vlan
    option device 'switch0'
    option vlan '4'
    option ports '3 0t'

config interface 'wan2'
    option proto 'dhcp'
    option ifname 'eth1'
    option peerdns '0'
    option metric '2'
    option dns '212.2.96.51 212.2.96.52'

config interface 'lan2'
    option ifname 'eth0.3'
    option proto 'static'
    option ipaddr '172.16.100.1'
    option netmask '255.255.255.252'

config interface 'lan3'
    option ifname 'eth0.4'
    option proto 'static'
    option ipaddr '172.16.200.1'
    option netmask '255.255.255.252'

config interface 'guest'
    option type 'bridge'
    option proto 'static'
    option ipaddr '10.0.100.1'
    option netmask '255.255.255.248'
| C2600 @ OpenWrt 21.02 / LuCi -> sieć gościnna, WINS serwer, VLAN, DLNA, multiwan
| WDR4300 @ OpenWrt 21.02 / LuCI -> extroot, sieć gościnna, WINS serwer
| MR3020 @ MiFi 17.01 -> E3372 HiLink
| WR842ND v2 @ Gargoyle PL 1.13.0 -> testy

22

Odp: Failover mwan3 Aero2

A może za krótko czekasz? Masz ustawione 20 sekund interval na sprawdzanie Wan2.

Ja ustawiłem tak jak poniżej. Pakiet mwan3-2.0.2-1 + ip-tiny. Oczywiście to są urywki plików konfiguracyjnych, gdzie wprowadziłem zmiany. Aż mnie wywala whatismyip.com bo za często robiłem testy smile. Raz miałem 46.xxxxxx z WAN-em(1) a raz 5.xxxxxx - bez Wan-a(1)  czyli Wan2 (darmowe Aero2).
https://pastebin.com/sqsvUDS7

Xiaomi AX3000T @ Netgear R6220
* DVBT2 - T230C *

23 (edytowany przez jaros85 2018-05-23 16:57:45)

Odp: Failover mwan3 Aero2

Zweryfikowałem swoją konfigurację.
Wszystko wygląda ok ale...

W dwóch przeglądarkach otworzyłem sobie strony 192.168.8.1 gdy byłem przełączony na wan2 w drugiej przeglądarce otwierałem inne strony internetowe i tak:

Po przełączeniu się na wan2 nie wywołuje się z automatu strona http://bdi.free.aero2.net.pl:8080/ mogę ją wywołać ręcznie wtedy strona się otwiera.
Mogę wpisać kod captch ale już nie wywoływana jest strona z sukcesem czyli http://start.aero2.pl/
W międzyczasie na drugiej przeglądarce widzę ruch na stronie konfiguracji modemu.
Mogę otworzyć www.google.pl bo wcześniej otwierałem tą stronę i każdą inną która została wcześniej otwarta.
W google mogę wyszukać dowolną frazę i wyniki się wyświetlają tak samo działa podpowiadanie w czasie rzeczywistym wpisywanych fraz.
Niestety już ping na google nie działa komputer nie jest w stanie rozwiązać nazwy.

Te strony które mi się na wan2 otwierają generują ruch na wan2 i na interfejsie modemu (widać ruch 5-20kb/s).
Niestety innej strony której nie otwierałem ostatnio np wp.pl nie otworzę już.
Tak samo zwykłe google po pewnym czasie przestają działać.

Jednoznacznie wskazuje to na problem z rozwiązywaniem nazw DNS przez ruter.

Aktualnie na wan2 mam ustawione następujące DNSy 212.2.96.51 212.2.96.52 mogę je pingować o dziwo 8.8.8.8 i inne się nie pingują.

Mam zainstalowane ip-full i ip-tiny w tej samej wersji czy ma to jakiś wpływ ?

Jakieś pomysły ?

EDIT 1:
Faktycznie mwan3 nie przełącza ruchu do serwerów DNS.
Testy robiłem na karcie T-Mobile z normalnym internetem.
Bez względu jakie DNSy są na interfejsie wan2 historia jest taka sama
Gdy ruch mwan3 przełączy na wan2 mogę otworzyć dowolną stronę tylko po adresie IP.
Wystarczy że położę wan (główny) ifdown wan wszystko ożywa ruch jest kierowany prawidło i strony otwierają się po nazwie.

| C2600 @ OpenWrt 21.02 / LuCi -> sieć gościnna, WINS serwer, VLAN, DLNA, multiwan
| WDR4300 @ OpenWrt 21.02 / LuCI -> extroot, sieć gościnna, WINS serwer
| MR3020 @ MiFi 17.01 -> E3372 HiLink
| WR842ND v2 @ Gargoyle PL 1.13.0 -> testy

24 (edytowany przez tinware 2019-10-07 11:28:55)

Odp: Failover mwan3 Aero2

Cześć jaros85, przeglądając to forum wpadłem na Twój temat i mam chyba pewne doświadczenia, z którym chciałbym się podzielić.


W pierwszej sprawie to konfiguracja mwan3. Nie podawaj żadnego źródła do pingowania hosta - wtedy mwan3 będzie brał pod uwagę tylko stan z opcji initial_state, która jest online. Będzie się zgłaszał ten WAN jako "online and tracking is not enabled" oraz WebGUI jako "Status: Wyłączony" - nie ważne czy masz aktualnie aktywną sesję w Aero2, czy nie oraz czy działa na karcie Aero2 dostęp do Internetu czy nie - interfejs zawsze będzie uznawany za działający, dlatego uważam że nie warto używać go w "Load Balancingu" z innym interfejsem o tej samej metryce oraz na pewno zastosować go jako ostatnią metrykę w failoverze.

# nano /etc/config/mwan3
...
config interface 'wan_aero2'
        option enabled '1'
        option initial_state 'online'
        #list track_ip '8.8.8.8' <--- zakomentować
        option family 'ipv4'
        option flush_conntrack 'never'
        
...

Potwierdź te ustawienia poprzez poniższą komendę i zrestartuj usługę:

# uci commit mwan3
# mwan3 restart

Następnie trzeba wyskrobać skrypt w bashu uruchamiany przy starcie routera i działający w tle (np. /etc/rc.local):

# Put your custom commands here that should be executed once
# the system init finished. By default this file does nothing.

sh /root/aero2_reset.sh &

exit 0

Musiałby działać na zasadzie nieskończonej pętli, w której będzie sprawdzany brak dostępu do Internetu na interfejsie Aero2. Jeśli taka sytuacja nastąpi skrypt powinien zresetować ten interfejs i nawiązać połączenie od nowa. Utwórz plik /root/aero2_reset.sh

#!/bin/sh


# Interfejs logiczny (np. wan, wan2, aero2, mobile)
INTERFACE_LOGICAL="wan_aero2"

# Interfejs fizyczny (np. eth2, wwan0)
INTERFACE_PHYSICAL="wwan0"

# Szybkosc dzialania (np. od 1 do 5)
TIMEOUT=2

# Sprawdzanie zycia hostow z ponizszej listy
TRACKS_IP=" \
  8.8.8.8 \
  8.8.4.4 \
"

# Funkcja restartujaca polaczenie lub modem hilink
function reset {
  
  # Modem szeregowy (np. przez QMI)
  ifdown $INTERFACE_LOGICAL
  ifup $INTERFACE_LOGICAL
  
  # Modem HiLink wykrywany jako karta sieciowa przez ADB (Wymagane "opkg update" i "opkg install adb")
  #adb kill-server > /dev/null
  #adb connect 192.168.8.1 > /dev/null
  #adb shell "echo -en 'AT^RESET\r' > /dev/appvcom1" > /dev/null
  #adb kill-server > /dev/null
  
}


#########################################################
################### Skrypt wykonawczy ###################
#########################################################

while true
do
  OFFLINE=true
  for TRACK_IP in $TRACKS_IP
  do
    if ping -I $INTERFACE_PHYSICAL -c 1 -w $TIMEOUT -W $TIMEOUT $TRACK_IP > /dev/null; then
      OFFLINE=false
    fi
    sleep $TIMEOUT
  done
  if [ "$OFFLINE" == "true" ]; then
    reset
    sleep 900
  fi
  sleep $(( TIMEOUT * 2 ))
done

Podajemy nazwy interfejsów fizycznego i logicznego, czas zadziałania (tak sobie to nazwałem), liste ip hostów do pingowania oraz w funkcji "reset" piszemy skrypt resetowania lub odkomentowujemy to co mamy dostepne, czyli resetowanie modemu szeregowego lub modemu HiLink z otwartym dostępem przez ADB i Telnet.


Tego skryptu nie przygotowałem do obsługi kilku kart sim, ponieważ nie widzę sensu w stosowaniu dwóch kart Aero2, ale jeśli ktoś chciałby używać tego skryptu dla kilku kart sim to proponuję skopiować ten plik kilka razy i używać oddzielnie dla każdej karty sim:
- /root/aero2_sim1_reset.sh
- /root/aero2_sim2_reset.sh
- /root/aero2_sim3_reset.sh


Dodatkowo pamiętaj, że po automatycznym zrestartowaniu się połączenia jeśli strona z captcha nie chce się wyświetlić:
- należy wywołać stronę www bez szyfrowania SSL (czyli http: // zamiast https: // )
- w routerze /etc/config/dhcp -> option rebind_protection '0' (niezalecane)

25

Odp: Failover mwan3 Aero2

Dziś (07/10/2019) po kilku miesiącach edytuje swój post powyżej i wprowadzam w nim nowe dane.