Hi feckert,
I'm using mwan3 and wireguard client with latest openwrt trunk version.
My problem is the mwan3track didn't not working properly on wireguard interface:
root@HOME-Router:~# ping -I wana 8.8.8.8
PING 8.8.8.8 (8.8.8.8): 56 data bytes
^C
--- 8.8.8.8 ping statistics ---
4 packets transmitted, 0 packets received, 100% packet loss
root@HOME-Router:~# ping -I wanb 8.8.8.8
PING 8.8.8.8 (8.8.8.8): 56 data bytes
^C
--- 8.8.8.8 ping statistics ---
3 packets transmitted, 0 packets received, 100% packet loss
root@HOME-Router:~#
As above,the mwan3track failed so mwan3 marked the wireguard interface offline. But the wireguard interface actually is working properly.
Am I missconfigured something? Thanks.
trendy
December 2, 2019, 8:42am
2
What is the output of:
uci show network; uci show mwan3; mwan3 status
The output:
BusyBox v1.31.1 () built-in shell (ash)
_______ ________ __
| |.-----.-----.-----.| | | |.----.| |_
| - || _ | -__| || | | || _|| _|
|_______|| __|_____|__|__||________||__| |____|
|__| W I R E L E S S F R E E D O M
-----------------------------------------------------
OpenWrt SNAPSHOT, r11615-3f79aaa297
-----------------------------------------------------
root@HOME-Router:~# uci show network; uci show mwan3; mwan3 status
network.loopback=interface
network.loopback.ifname='lo'
network.loopback.proto='static'
network.loopback.ipaddr='127.0.0.1'
network.loopback.netmask='255.0.0.0'
network.globals=globals
network.globals.ula_prefix='dd5d:189b:b5f9::/48'
network.lan=interface
network.lan.type='bridge'
network.lan.ifname='lan0 lan1 lan2 lan3 lan4'
network.lan.proto='static'
network.lan.ipaddr='192.168.1.1'
network.lan.netmask='255.255.255.0'
network.lan.ip6prefix='dd5d:189b:b5f9:1::/64'
network.lan.stp='1'
network.lan.ip6addr='dd5d:189b:b5f9:1::1/64'
network.wan1=interface
network.wan1.proto='pppoe'
network.wan1.username='****'
network.wan1.password='*****'
network.wan1.ifname='eth2.2'
network.wan1.ipv6='1'
network.wan1.metric='10'
network.wan1.force_link='1'
network.wan1_6=interface
network.wan1_6.ifname='@wan1'
network.wan1_6.proto='dhcpv6'
network.wan1_6.reqaddress='try'
network.wan1_6.reqprefix='auto'
network.wan1_6.metric='11'
network.wan2=interface
network.wan2.ifname='macvlan1'
network.wan2.proto='pppoe'
network.wan2.username='***'
network.wan2.password='***'
network.wan2.metric='15'
network.wan2.macaddr='44:e0:e6:97:72:7d'
network.wan2.ipv6='1'
network.wan2_6=interface
network.wan2_6.proto='dhcpv6'
network.wan2_6.reqaddress='try'
network.wan2_6.reqprefix='auto'
network.wan2_6.metric='16'
network.wan2_6.ifname='@wan2'
network.wan3=interface
network.wan3.proto='pppoe'
network.wan3.username='****'
network.wan3.password='****'
network.wan3.force_link='1'
network.wan3.ifname='eth2.4'
network.wan3.isp='cmcc'
network.wan3.metric='20'
network.wan3.ipv6='1'
network.wan3_6=interface
network.wan3_6.ifname='@wan3'
network.wan3_6.proto='dhcpv6'
network.wan3_6.reqaddress='try'
network.wan3_6.reqprefix='auto'
network.wan3_6.metric='21'
network.wan4=interface
network.wan4.ifname='macvlan2'
network.wan4.proto='pppoe'
network.wan4.username='***'
network.wan4.password='***'
network.wan4.metric='25'
network.wan4.isp='cmcc'
network.wan4.macaddr='d7:0a:4e:8d:72:45'
network.wan4.ipv6='1'
network.wan4_6=interface
network.wan4_6.proto='dhcpv6'
network.wan4_6.reqaddress='try'
network.wan4_6.reqprefix='auto'
network.wan4_6.metric='26'
network.wan4_6.ifname='@wan4'
network.wana=interface
network.wana.proto='wireguard'
network.wana.private_key='0C26kxAdBqI8tCYspS5cRgbG********'
network.wana.metric='30'
network.wana.iftype='wireguard'
network.wana.addresses='192.168.120.2/24' 'dda1:aaaa:e111::2/64'
network.wana.mtu='1300'
network.wana_6=interface
network.wana_6.proto='static'
network.wana_6.force_link='0'
network.wana_6.metric='550'
network.wana_6.ifname='@wana'
network.wana_6.iftype='wireguard'
network.wana_6.ip6addr='dda1:aaaa:e111::2/64'
network.wana_6.ip6gw='dda1:aaaa:e111::1'
network.wanb=interface
network.wanb.proto='wireguard'
network.wanb.private_key='WMLMJlUfT52wUmX2c/PNa********'
network.wanb.metric='40'
network.wanb.iftype='wireguard'
network.wanb.addresses='192.168.150.2/24' 'ddc1:aaaa:f111::2/64'
network.wanb.mtu='1300'
network.wanb_6=interface
network.wanb_6.proto='static'
network.wanb_6.force_link='0'
network.wanb_6.metric='600'
network.wanb_6.ifname='@wanb'
network.wanb_6.iftype='wireguard'
network.wanb_6.ip6addr='ddc1:aaaa:f111::2/64'
network.wanb_6.ip6gw='ddc1:aaaa:f111::1'
network.modem1=interface
network.modem1.proto='static'
network.modem1.ifname='eth2.2'
network.modem1.netmask='255.255.255.0'
network.modem1.metric='100'
network.modem1.ipaddr='192.168.50.2'
network.modem1.gateway='192.168.50.1'
network.modem1.auto='0'
network.modem2=interface
network.modem2.proto='static'
network.modem2.ifname='eth2.4'
network.modem2.netmask='255.255.255.0'
network.modem2.metric='110'
network.modem2.ipaddr='192.168.51.2'
network.modem2.gateway='192.168.51.1'
network.modem2.auto='0'
network.macvlandev_macvlan1=device
network.macvlandev_macvlan1.name='macvlan1'
network.macvlandev_macvlan1.ifname='eth2.2'
network.macvlandev_macvlan1.type='macvlan'
network.macvlandev_macvlan2=device
network.macvlandev_macvlan2.name='macvlan2'
network.macvlandev_macvlan2.ifname='eth2.4'
network.macvlandev_macvlan2.type='macvlan'
network.vpn0=interface
network.vpn0.proto='wireguard'
network.vpn0.private_key='QGFzF4RpuJyzv8LLl4jy***'
network.vpn0.mtu='1420'
network.vpn0.listen_port='5888'
network.vpn0.addresses='192.168.195.1/24' 'dd5d:189b:b5f9:2::1/64'
network.@wireguard_wana[0]=wireguard_wana
network.@wireguard_wana[0].public_key='Hr/0zcCJMg+F4nEnZ4q0zhHyLg8lq******'
network.@wireguard_wana[0].allowed_ips='0.0.0.0/0' '::/0'
network.@wireguard_wana[0].endpoint_host='******'
network.@wireguard_wana[0].endpoint_port='51887'
network.@wireguard_wanb[0]=wireguard_wanb
network.@wireguard_wanb[0].public_key='Lv0b1pHsLFcqArB4IYw1jgcn*******'
network.@wireguard_wanb[0].allowed_ips='0.0.0.0/0' '::/0'
network.@wireguard_wanb[0].endpoint_host='*****'
network.@wireguard_wanb[0].endpoint_port='51888'
mwan3.AntiGFW_DNS=rule
mwan3.AntiGFW_DNS.proto='all'
mwan3.AntiGFW_DNS.family='ipv4'
mwan3.AntiGFW_DNS.dest_ip='8.8.8.8,8.8.4.4,208.67.222.222,208.67.220.220,199.91.73.222,178.79.131.110'
mwan3.AntiGFW_DNS.sticky='1'
mwan3.AntiGFW_DNS.timeout='600'
mwan3.AntiGFW_DNS.use_policy='wana_wanb'
mwan3.AntiGFW_DNS_V6=rule
mwan3.AntiGFW_DNS_V6.proto='all'
mwan3.AntiGFW_DNS_V6.family='ipv6'
mwan3.AntiGFW_DNS_V6.dest_ip='2001:4860:4860::8888,2001:4860:4860::8844'
mwan3.AntiGFW_DNS_V6.sticky='1'
mwan3.AntiGFW_DNS_V6.timeout='600'
mwan3.AntiGFW_DNS_V6.use_policy='wana_6_wanb_6'
mwan3.ChinaNet_DNS=rule
mwan3.ChinaNet_DNS.dest_ip='221.228.255.1,218.2.135.1,61.177.7.1,218.4.4.4,218.2.2.2,114.114.114.114'
mwan3.ChinaNet_DNS.family='ipv4'
mwan3.ChinaNet_DNS.proto='all'
mwan3.ChinaNet_DNS.sticky='1'
mwan3.ChinaNet_DNS.timeout='600'
mwan3.ChinaNet_DNS.use_policy='wan1_wan2'
mwan3.CM_DNS=rule
mwan3.CM_DNS.dest_ip='112.4.0.55,221.131.143.69,114.114.115.115'
mwan3.CM_DNS.family='ipv4'
mwan3.CM_DNS.proto='all'
mwan3.CM_DNS.sticky='1'
mwan3.CM_DNS.timeout='600'
mwan3.CM_DNS.use_policy='wan3_wan4'
mwan3.VPS_LA=rule
mwan3.VPS_LA.family='ipv4'
mwan3.VPS_LA.proto='all'
mwan3.VPS_LA.sticky='1'
mwan3.VPS_LA.timeout='600'
mwan3.VPS_LA.dest_ip='31.40.214.127,173.242.119.141'
mwan3.VPS_LA.use_policy='wan1_2_default'
mwan3.IPV4_PTlist=rule
mwan3.IPV4_PTlist.proto='all'
mwan3.IPV4_PTlist.family='ipv4'
mwan3.IPV4_PTlist.use_policy='wan3_4_wan1_2'
mwan3.IPV4_PTlist.ipset='ptlist'
mwan3.IPV4_PTlist.sticky='0'
mwan3.IPV4_GFW=rule
mwan3.IPV4_GFW.proto='all'
mwan3.IPV4_GFW.family='ipv4'
mwan3.IPV4_GFW.ipset='gfwlist'
mwan3.IPV4_GFW.timeout='300'
mwan3.IPV4_GFW.sticky='0'
mwan3.IPV4_GFW.use_policy='wana_wanb'
mwan3.CM_IPV4=rule
mwan3.CM_IPV4.proto='all'
mwan3.CM_IPV4.family='ipv4'
mwan3.CM_IPV4.ipset='cmcc'
mwan3.CM_IPV4.timeout='600'
mwan3.CM_IPV4.sticky='1'
mwan3.CM_IPV4.use_policy='wan3_wan4'
mwan3.ChinaNet_IPV4=rule
mwan3.ChinaNet_IPV4.proto='all'
mwan3.ChinaNet_IPV4.family='ipv4'
mwan3.ChinaNet_IPV4.timeout='600'
mwan3.ChinaNet_IPV4.sticky='1'
mwan3.ChinaNet_IPV4.use_policy='wan1_wan2'
mwan3.ChinaNet_IPV4.ipset='cnnocmcc'
mwan3.IPV4_WEB=rule
mwan3.IPV4_WEB.proto='all'
mwan3.IPV4_WEB.family='ipv4'
mwan3.IPV4_WEB.sticky='1'
mwan3.IPV4_WEB.use_policy='wan_1_2_3_4'
mwan3.IPV4_LB=rule
mwan3.IPV4_LB.proto='all'
mwan3.IPV4_LB.family='ipv4'
mwan3.IPV4_LB.sticky='0'
mwan3.IPV4_LB.use_policy='loadbalanced'
mwan3.IPV6_PTlist=rule
mwan3.IPV6_PTlist.proto='all'
mwan3.IPV6_PTlist.family='ipv6'
mwan3.IPV6_PTlist.use_policy='wan34_6_wan12_6'
mwan3.IPV6_PTlist.ipset='ptlist6'
mwan3.IPV6_PTlist.sticky='1'
mwan3.IPV6_GFW=rule
mwan3.IPV6_GFW.proto='all'
mwan3.IPV6_GFW.family='ipv6'
mwan3.IPV6_GFW.sticky='0'
mwan3.IPV6_GFW.ipset='gfwlist6'
mwan3.IPV6_GFW.use_policy='wana_6_wanb_6'
mwan3.CM_IPV6=rule
mwan3.CM_IPV6.proto='all'
mwan3.CM_IPV6.family='ipv6'
mwan3.CM_IPV6.ipset='cmccv6'
mwan3.CM_IPV6.timeout='600'
mwan3.CM_IPV6.sticky='1'
mwan3.CM_IPV6.use_policy='wan3_6_wan4_6'
mwan3.ChinaNet_IPV6=rule
mwan3.ChinaNet_IPV6.proto='all'
mwan3.ChinaNet_IPV6.family='ipv6'
mwan3.ChinaNet_IPV6.timeout='600'
mwan3.ChinaNet_IPV6.sticky='1'
mwan3.ChinaNet_IPV6.use_policy='wan1_6_wan2_6'
mwan3.ChinaNet_IPV6.ipset='cnnocmccv6'
mwan3.IPV6_WEB=rule
mwan3.IPV6_WEB.proto='all'
mwan3.IPV6_WEB.family='ipv6'
mwan3.IPV6_WEB.timeout='600'
mwan3.IPV6_WEB.sticky='1'
mwan3.IPV6_WEB.use_policy='wan12_6_wan34_6'
mwan3.IPV6_LB=rule
mwan3.IPV6_LB.proto='all'
mwan3.IPV6_LB.family='ipv6'
mwan3.IPV6_LB.use_policy='loadbalanced6'
mwan3.IPV6_LB.sticky='0'
mwan3.globals=globals
mwan3.globals.mmx_mask='0x3F00'
mwan3.globals.rtmon_interval='5'
mwan3.wan1=interface
mwan3.wan1.enabled='1'
mwan3.wan1.family='ipv4'
mwan3.wan1.track_ip='114.114.114.114' '114.114.115.115' '223.5.5.5' '223.6.6.6'
mwan3.wan1.size='56'
mwan3.wan1.timeout='2'
mwan3.wan1.initial_state='online'
mwan3.wan1.track_method='ping'
mwan3.wan1.online_metric='1'
mwan3.wan1.count='3'
mwan3.wan1.interval='30'
mwan3.wan1.reliability='2'
mwan3.wan1.failure_interval='3'
mwan3.wan1.recovery_interval='3'
mwan3.wan1.max_ttl='60'
mwan3.wan1.check_quality='0'
mwan3.wan1.down='3'
mwan3.wan1.up='2'
mwan3.wan1_6=interface
mwan3.wan1_6.enabled='1'
mwan3.wan1_6.family='ipv6'
mwan3.wan1_6.count='3'
mwan3.wan1_6.timeout='2'
mwan3.wan1_6.up='2'
mwan3.wan1_6.reliability='2'
mwan3.wan1_6.down='3'
mwan3.wan1_6.size='56'
mwan3.wan1_6.interval='30'
mwan3.wan1_6.failure_interval='3'
mwan3.wan1_6.recovery_interval='3'
mwan3.wan1_6.track_ip='240e:5a::6666' '240e:5b::6666'
mwan3.wan1_6.track_method='ping'
mwan3.wan1_6.check_quality='0'
mwan3.wan1_6.initial_state='online'
mwan3.wan2=interface
mwan3.wan2.enabled='1'
mwan3.wan2.family='ipv4'
mwan3.wan2.track_ip='114.114.114.114' '114.114.115.115' '223.5.5.5' '223.6.6.6'
mwan3.wan2.size='56'
mwan3.wan2.timeout='2'
mwan3.wan2.initial_state='online'
mwan3.wan2.track_method='ping'
mwan3.wan2.online_metric='1'
mwan3.wan2.count='3'
mwan3.wan2.interval='30'
mwan3.wan2.reliability='2'
mwan3.wan2.failure_interval='3'
mwan3.wan2.recovery_interval='3'
mwan3.wan2.max_ttl='60'
mwan3.wan2.check_quality='0'
mwan3.wan2.down='3'
mwan3.wan2.up='2'
mwan3.wan2_6=interface
mwan3.wan2_6.enabled='1'
mwan3.wan2_6.family='ipv6'
mwan3.wan2_6.count='3'
mwan3.wan2_6.timeout='2'
mwan3.wan2_6.up='2'
mwan3.wan2_6.reliability='2'
mwan3.wan2_6.down='3'
mwan3.wan2_6.size='56'
mwan3.wan2_6.interval='30'
mwan3.wan2_6.failure_interval='3'
mwan3.wan2_6.recovery_interval='3'
mwan3.wan2_6.track_ip='240e:5a::6666' '240e:5b::6666'
mwan3.wan2_6.track_method='ping'
mwan3.wan2_6.check_quality='0'
mwan3.wan2_6.initial_state='online'
mwan3.wan3=interface
mwan3.wan3.enabled='1'
mwan3.wan3.family='ipv4'
mwan3.wan3.track_ip='112.4.0.55' '221.131.143.69' '114.114.114.114' '114.114.115.115'
mwan3.wan3.up='2'
mwan3.wan3.reliability='2'
mwan3.wan3.count='3'
mwan3.wan3.size='56'
mwan3.wan3.timeout='2'
mwan3.wan3.interval='30'
mwan3.wan3.failure_interval='3'
mwan3.wan3.recovery_interval='3'
mwan3.wan3.initial_state='online'
mwan3.wan3.track_method='ping'
mwan3.wan3.online_metric='2'
mwan3.wan3.max_ttl='60'
mwan3.wan3.check_quality='0'
mwan3.wan3.down='3'
mwan3.wan3_6=interface
mwan3.wan3_6.enabled='1'
mwan3.wan3_6.family='ipv6'
mwan3.wan3_6.count='3'
mwan3.wan3_6.timeout='2'
mwan3.wan3_6.up='2'
mwan3.wan3_6.reliability='2'
mwan3.wan3_6.down='3'
mwan3.wan3_6.size='56'
mwan3.wan3_6.interval='30'
mwan3.wan3_6.failure_interval='3'
mwan3.wan3_6.recovery_interval='3'
mwan3.wan3_6.track_ip='2409:8020:2000::88' '2409:8020:2000::8'
mwan3.wan3_6.track_method='ping'
mwan3.wan3_6.check_quality='0'
mwan3.wan3_6.initial_state='online'
mwan3.wan4=interface
mwan3.wan4.enabled='1'
mwan3.wan4.family='ipv4'
mwan3.wan4.track_ip='112.4.0.55' '221.131.143.69' '114.114.114.114' '114.114.115.115'
mwan3.wan4.up='2'
mwan3.wan4.reliability='2'
mwan3.wan4.count='3'
mwan3.wan4.size='56'
mwan3.wan4.timeout='2'
mwan3.wan4.interval='30'
mwan3.wan4.failure_interval='3'
mwan3.wan4.recovery_interval='3'
mwan3.wan4.initial_state='online'
mwan3.wan4.track_method='ping'
mwan3.wan4.online_metric='2'
mwan3.wan4.max_ttl='60'
mwan3.wan4.check_quality='0'
mwan3.wan4.down='3'
mwan3.wan4_6=interface
mwan3.wan4_6.enabled='1'
mwan3.wan4_6.family='ipv6'
mwan3.wan4_6.count='3'
mwan3.wan4_6.timeout='2'
mwan3.wan4_6.up='2'
mwan3.wan4_6.reliability='2'
mwan3.wan4_6.down='3'
mwan3.wan4_6.size='56'
mwan3.wan4_6.interval='30'
mwan3.wan4_6.failure_interval='3'
mwan3.wan4_6.recovery_interval='3'
mwan3.wan4_6.track_ip='2409:8020:2000::88' '2409:8020:2000::8'
mwan3.wan4_6.track_method='ping'
mwan3.wan4_6.check_quality='0'
mwan3.wan4_6.initial_state='online'
mwan3.wana=interface
mwan3.wana.enabled='1'
mwan3.wana.family='ipv4'
mwan3.wana.timeout='2'
mwan3.wana.up='2'
mwan3.wana.count='3'
mwan3.wana.down='3'
mwan3.wana.size='56'
mwan3.wana.interval='5'
mwan3.wana.failure_interval='3'
mwan3.wana.recovery_interval='3'
mwan3.wana.initial_state='online'
mwan3.wana.keep_failure_interval='1'
mwan3.wana.track_method='ping'
mwan3.wana.max_ttl='60'
mwan3.wana.check_quality='0'
mwan3.wana.track_ip='8.8.8.8' '8.8.4.4'
mwan3.wana.reliability='2'
mwan3.wana_6=interface
mwan3.wana_6.enabled='1'
mwan3.wana_6.family='ipv6'
mwan3.wana_6.count='3'
mwan3.wana_6.timeout='2'
mwan3.wana_6.up='2'
mwan3.wana_6.down='3'
mwan3.wana_6.size='56'
mwan3.wana_6.interval='5'
mwan3.wana_6.failure_interval='3'
mwan3.wana_6.recovery_interval='3'
mwan3.wana_6.initial_state='online'
mwan3.wana_6.keep_failure_interval='1'
mwan3.wana_6.reliability='1'
mwan3.wana_6.track_ip='dda1:aaaa:e111::1'
mwan3.wana_6.track_method='ping'
mwan3.wana_6.max_ttl='60'
mwan3.wana_6.check_quality='0'
mwan3.wanb=interface
mwan3.wanb.enabled='1'
mwan3.wanb.family='ipv4'
mwan3.wanb.count='3'
mwan3.wanb.timeout='2'
mwan3.wanb.up='2'
mwan3.wanb.down='3'
mwan3.wanb.size='56'
mwan3.wanb.interval='5'
mwan3.wanb.failure_interval='3'
mwan3.wanb.recovery_interval='3'
mwan3.wanb.initial_state='online'
mwan3.wanb.keep_failure_interval='1'
mwan3.wanb.track_method='ping'
mwan3.wanb.max_ttl='60'
mwan3.wanb.check_quality='0'
mwan3.wanb.track_ip='8.8.8.8' '8.8.4.4'
mwan3.wanb.reliability='2'
mwan3.wanb_6=interface
mwan3.wanb_6.enabled='1'
mwan3.wanb_6.family='ipv6'
mwan3.wanb_6.count='3'
mwan3.wanb_6.timeout='2'
mwan3.wanb_6.up='2'
mwan3.wanb_6.down='3'
mwan3.wanb_6.size='56'
mwan3.wanb_6.interval='5'
mwan3.wanb_6.failure_interval='3'
mwan3.wanb_6.recovery_interval='3'
mwan3.wanb_6.initial_state='online'
mwan3.wanb_6.keep_failure_interval='1'
mwan3.wanb_6.reliability='1'
mwan3.wanb_6.track_ip='ddc1:aaaa:f111::1'
mwan3.wanb_6.track_method='ping'
mwan3.wanb_6.max_ttl='60'
mwan3.wanb_6.check_quality='0'
mwan3.wan1_m1_w1=member
mwan3.wan1_m1_w1.metric='1'
mwan3.wan1_m1_w1.interface='wan1'
mwan3.wan1_m1_w1.weight='1'
mwan3.wan1_m2_w1=member
mwan3.wan1_m2_w1.metric='2'
mwan3.wan1_m2_w1.interface='wan1'
mwan3.wan1_m2_w1.weight='1'
mwan3.wan1_m3_w1=member
mwan3.wan1_m3_w1.metric='3'
mwan3.wan1_m3_w1.interface='wan1'
mwan3.wan1_m3_w1.weight='1'
mwan3.wan1_m4_w1=member
mwan3.wan1_m4_w1.metric='4'
mwan3.wan1_m4_w1.interface='wan1'
mwan3.wan1_m4_w1.weight='1'
mwan3.wan2_m1_w1=member
mwan3.wan2_m1_w1.interface='wan2'
mwan3.wan2_m1_w1.weight='1'
mwan3.wan2_m1_w1.metric='1'
mwan3.wan2_m2_w1=member
mwan3.wan2_m2_w1.interface='wan2'
mwan3.wan2_m2_w1.weight='1'
mwan3.wan2_m2_w1.metric='2'
mwan3.wan2_m3_w1=member
mwan3.wan2_m3_w1.interface='wan2'
mwan3.wan2_m3_w1.weight='1'
mwan3.wan2_m3_w1.metric='3'
mwan3.wan2_m4_w1=member
mwan3.wan2_m4_w1.interface='wan2'
mwan3.wan2_m4_w1.weight='1'
mwan3.wan2_m4_w1.metric='4'
mwan3.wan3_m1_w1=member
mwan3.wan3_m1_w1.interface='wan3'
mwan3.wan3_m1_w1.weight='1'
mwan3.wan3_m1_w1.metric='1'
mwan3.wan3_m2_w1=member
mwan3.wan3_m2_w1.interface='wan3'
mwan3.wan3_m2_w1.weight='1'
mwan3.wan3_m2_w1.metric='2'
mwan3.wan3_m3_w1=member
mwan3.wan3_m3_w1.interface='wan3'
mwan3.wan3_m3_w1.weight='1'
mwan3.wan3_m3_w1.metric='3'
mwan3.wan3_m4_w1=member
mwan3.wan3_m4_w1.interface='wan3'
mwan3.wan3_m4_w1.weight='1'
mwan3.wan3_m4_w1.metric='4'
mwan3.wan4_m1_w1=member
mwan3.wan4_m1_w1.interface='wan4'
mwan3.wan4_m1_w1.weight='1'
mwan3.wan4_m1_w1.metric='1'
mwan3.wan4_m2_w1=member
mwan3.wan4_m2_w1.interface='wan4'
mwan3.wan4_m2_w1.weight='1'
mwan3.wan4_m2_w1.metric='2'
mwan3.wan4_m3_w1=member
mwan3.wan4_m3_w1.interface='wan4'
mwan3.wan4_m3_w1.weight='1'
mwan3.wan4_m3_w1.metric='3'
mwan3.wan4_m4_w1=member
mwan3.wan4_m4_w1.interface='wan4'
mwan3.wan4_m4_w1.weight='1'
mwan3.wan4_m4_w1.metric='4'
mwan3.wan1_6_m1_w1=member
mwan3.wan1_6_m1_w1.interface='wan1_6'
mwan3.wan1_6_m1_w1.weight='1'
mwan3.wan1_6_m1_w1.metric='1'
mwan3.wan1_6_m2_w1=member
mwan3.wan1_6_m2_w1.interface='wan1_6'
mwan3.wan1_6_m2_w1.weight='1'
mwan3.wan1_6_m2_w1.metric='2'
mwan3.wan1_6_m3_w1=member
mwan3.wan1_6_m3_w1.interface='wan1_6'
mwan3.wan1_6_m3_w1.weight='1'
mwan3.wan1_6_m3_w1.metric='3'
mwan3.wan1_6_m4_w1=member
mwan3.wan1_6_m4_w1.interface='wan1_6'
mwan3.wan1_6_m4_w1.weight='1'
mwan3.wan1_6_m4_w1.metric='4'
mwan3.wan2_6_m1_w1=member
mwan3.wan2_6_m1_w1.interface='wan2_6'
mwan3.wan2_6_m1_w1.weight='1'
mwan3.wan2_6_m1_w1.metric='1'
mwan3.wan2_6_m2_w1=member
mwan3.wan2_6_m2_w1.interface='wan2_6'
mwan3.wan2_6_m2_w1.weight='1'
mwan3.wan2_6_m2_w1.metric='2'
mwan3.wan2_6_m3_w1=member
mwan3.wan2_6_m3_w1.interface='wan2_6'
mwan3.wan2_6_m3_w1.weight='1'
mwan3.wan2_6_m3_w1.metric='3'
mwan3.wan2_6_m4_w1=member
mwan3.wan2_6_m4_w1.interface='wan2_6'
mwan3.wan2_6_m4_w1.weight='1'
mwan3.wan2_6_m4_w1.metric='4'
mwan3.wan3_6_m1_w1=member
mwan3.wan3_6_m1_w1.interface='wan3_6'
mwan3.wan3_6_m1_w1.weight='1'
mwan3.wan3_6_m1_w1.metric='1'
mwan3.wan3_6_m2_w1=member
mwan3.wan3_6_m2_w1.interface='wan3_6'
mwan3.wan3_6_m2_w1.weight='1'
mwan3.wan3_6_m2_w1.metric='2'
mwan3.wan3_6_m3_w1=member
mwan3.wan3_6_m3_w1.interface='wan3_6'
mwan3.wan3_6_m3_w1.weight='1'
mwan3.wan3_6_m3_w1.metric='3'
mwan3.wan3_6_m4_w1=member
mwan3.wan3_6_m4_w1.interface='wan3_6'
mwan3.wan3_6_m4_w1.weight='1'
mwan3.wan3_6_m4_w1.metric='4'
mwan3.wan4_6_m1_w1=member
mwan3.wan4_6_m1_w1.interface='wan4_6'
mwan3.wan4_6_m1_w1.weight='1'
mwan3.wan4_6_m1_w1.metric='1'
mwan3.wan4_6_m2_w1=member
mwan3.wan4_6_m2_w1.interface='wan4_6'
mwan3.wan4_6_m2_w1.weight='1'
mwan3.wan4_6_m2_w1.metric='2'
mwan3.wan4_6_m3_w1=member
mwan3.wan4_6_m3_w1.interface='wan4_6'
mwan3.wan4_6_m3_w1.weight='1'
mwan3.wan4_6_m3_w1.metric='3'
mwan3.wan4_6_m4_w1=member
mwan3.wan4_6_m4_w1.interface='wan4_6'
mwan3.wan4_6_m4_w1.weight='1'
mwan3.wan4_6_m4_w1.metric='4'
mwan3.wana_m1_w1=member
mwan3.wana_m1_w1.interface='wana'
mwan3.wana_m1_w1.metric='1'
mwan3.wana_m1_w1.weight='1'
mwan3.wana_m2_w1=member
mwan3.wana_m2_w1.interface='wana'
mwan3.wana_m2_w1.metric='2'
mwan3.wana_m2_w1.weight='1'
mwan3.wanb_m1_w1=member
mwan3.wanb_m1_w1.interface='wanb'
mwan3.wanb_m1_w1.weight='1'
mwan3.wanb_m1_w1.metric='1'
mwan3.wanb_m2_w1=member
mwan3.wanb_m2_w1.interface='wanb'
mwan3.wanb_m2_w1.weight='1'
mwan3.wanb_m2_w1.metric='2'
mwan3.wana_6_m1_w1=member
mwan3.wana_6_m1_w1.interface='wana_6'
mwan3.wana_6_m1_w1.weight='1'
mwan3.wana_6_m1_w1.metric='1'
mwan3.wana_6_m2_w1=member
mwan3.wana_6_m2_w1.interface='wana_6'
mwan3.wana_6_m2_w1.weight='1'
mwan3.wana_6_m2_w1.metric='2'
mwan3.wanb_6_m1_w1=member
mwan3.wanb_6_m1_w1.interface='wanb_6'
mwan3.wanb_6_m1_w1.weight='1'
mwan3.wanb_6_m1_w1.metric='1'
mwan3.wanb_6_m2_w1=member
mwan3.wanb_6_m2_w1.interface='wanb_6'
mwan3.wanb_6_m2_w1.weight='1'
mwan3.wanb_6_m2_w1.metric='2'
mwan3.wan1_only=policy
mwan3.wan1_only.use_member='wan1_m1_w1'
mwan3.wan1_only.last_resort='unreachable'
mwan3.wan2_only=policy
mwan3.wan2_only.use_member='wan2_m1_w1'
mwan3.wan2_only.last_resort='unreachable'
mwan3.wan3_only=policy
mwan3.wan3_only.use_member='wan3_m1_w1'
mwan3.wan3_only.last_resort='unreachable'
mwan3.wan4_only=policy
mwan3.wan4_only.use_member='wan4_m1_w1'
mwan3.wan4_only.last_resort='unreachable'
mwan3.wan1_wan2=policy
mwan3.wan1_wan2.last_resort='unreachable'
mwan3.wan1_wan2.use_member='wan1_m1_w1' 'wan2_m2_w1'
mwan3.wan1_2_default=policy
mwan3.wan1_2_default.last_resort='default'
mwan3.wan1_2_default.use_menber='wan1_m1_w1' 'wan2_m2_w1'
mwan3.wan1_2_default.use_member='wan1_m1_w1' 'wan2_m2_w1'
mwan3.wan1_2_wan3_4=policy
mwan3.wan1_2_wan3_4.use_member='wan1_m1_w1' 'wan2_m1_w1' 'wan3_m2_w1' 'wan4_m2_w1'
mwan3.wan1_2_wan3_4.last_resort='default'
mwan3.wan3_4_wan1_2=policy
mwan3.wan3_4_wan1_2.last_resort='unreachable'
mwan3.wan3_4_wan1_2.use_member='wan3_m1_w1' 'wan4_m1_w1' 'wan1_m2_w1' 'wan2_m2_w1'
mwan3.wan3_wan4=policy
mwan3.wan3_wan4.last_resort='unreachable'
mwan3.wan3_wan4.use_member='wan3_m1_w1' 'wan4_m2_w1'
mwan3.wan3_4_2_1=policy
mwan3.wan3_4_2_1.last_resort='unreachable'
mwan3.wan3_4_2_1.use_member='wan3_m1_w1' 'wan4_m2_w1' 'wan2_m3_w1' 'wan1_m4_w1'
mwan3.wan4_3_2_1=policy
mwan3.wan4_3_2_1.last_resort='unreachable'
mwan3.wan4_3_2_1.use_member='wan4_m1_w1' 'wan3_m2_w1' 'wan2_m3_w1' 'wan1_m4_w1'
mwan3.wan1_2_3_4=policy
mwan3.wan1_2_3_4.last_resort='unreachable'
mwan3.wan1_2_3_4.use_member='wan1_m1_w1' 'wan2_m2_w1' 'wan3_m3_w1' 'wan4_m4_w1'
mwan3.loadbalanced=policy
mwan3.loadbalanced.last_resort='unreachable'
mwan3.loadbalanced.use_member='wan4_m1_w1' 'wan3_m1_w1' 'wan2_m1_w1' 'wan1_m1_w1'
mwan3.wan1_6_only=policy
mwan3.wan1_6_only.use_member='wan1_6_m1_w1'
mwan3.wan1_6_only.last_resort='unreachable'
mwan3.wan2_6_only=policy
mwan3.wan2_6_only.use_member='wan2_6_m1_w1'
mwan3.wan2_6_only.last_resort='unreachable'
mwan3.wan3_6_only=policy
mwan3.wan3_6_only.use_member='wan3_6_m1_w1'
mwan3.wan3_6_only.last_resort='unreachable'
mwan3.wan4_6_only=policy
mwan3.wan4_6_only.use_member='wan4_6_m1_w1'
mwan3.wan4_6_only.last_resort='unreachable'
mwan3.wan1_6_wan2_6=policy
mwan3.wan1_6_wan2_6.use_member='wan1_6_m1_w1' 'wan2_6_m1_w1'
mwan3.wan1_6_wan2_6.last_resort='unreachable'
mwan3.wan3_6_wan4_6=policy
mwan3.wan3_6_wan4_6.use_member='wan3_6_m1_w1' 'wan4_6_m1_w1'
mwan3.wan3_6_wan4_6.last_resort='unreachable'
mwan3.wan12_6_wan34_6=policy
mwan3.wan12_6_wan34_6.use_member='wan1_6_m1_w1' 'wan2_6_m2_w1' 'wan3_6_m3_w1' 'wan4_6_m4_w1'
mwan3.wan12_6_wan34_6.last_resort='unreachable'
mwan3.wan34_6_wan12_6=policy
mwan3.wan34_6_wan12_6.use_member='wan3_6_m1_w1' 'wan4_6_m1_w1' 'wan1_6_m2_w1' 'wan2_6_m2_w1'
mwan3.wan34_6_wan12_6.last_resort='unreachable'
mwan3.loadbalanced6=policy
mwan3.loadbalanced6.last_resort='unreachable'
mwan3.loadbalanced6.use_member='wan1_6_m1_w1' 'wan2_6_m1_w1' 'wan3_6_m1_w1' 'wan4_6_m1_w1'
mwan3.wana_only=policy
mwan3.wana_only.use_member='wana_m1_w1'
mwan3.wana_only.last_resort='unreachable'
mwan3.wanb_only=policy
mwan3.wanb_only.use_member='wanb_m2_w1'
mwan3.wanb_only.last_resort='unreachable'
mwan3.wana_wanb=policy
mwan3.wana_wanb.use_member='wana_m1_w1' 'wanb_m2_w1'
mwan3.wana_wanb.last_resort='unreachable'
mwan3.wanb_wana=policy
mwan3.wanb_wana.use_member='wanb_m1_w1' 'wana_m2_w1'
mwan3.wanb_wana.last_resort='unreachable'
mwan3.wana_6_only=policy
mwan3.wana_6_only.use_member='wana_6_m1_w1'
mwan3.wana_6_only.last_resort='unreachable'
mwan3.wanb_6_only=policy
mwan3.wanb_6_only.use_member='wanb_6_m1_w1'
mwan3.wanb_6_only.last_resort='unreachable'
mwan3.wana_6_wanb_6=policy
mwan3.wana_6_wanb_6.use_member='wana_6_m1_w1' 'wanb_6_m2_w1'
mwan3.wana_6_wanb_6.last_resort='unreachable'
mwan3.wanb_6_wana_6=policy
mwan3.wanb_6_wana_6.use_member='wanb_6_m1_w1' 'wana_6_m2_w1'
mwan3.wanb_6_wana_6.last_resort='unreachable'
Interface status:
interface wan1 is online and tracking is active
interface wan1_6 is online and tracking is active
interface wan2 is online and tracking is active
interface wan2_6 is online and tracking is active
interface wan3 is online and tracking is active
interface wan3_6 is online and tracking is active
interface wan4 is online and tracking is active
interface wan4_6 is online and tracking is active
interface wana is online and tracking is active
interface wana_6 is online and tracking is active
interface wanb is online and tracking is active
interface wanb_6 is online and tracking is active
Current ipv4 policies:
loadbalanced:
wan1 (25%)
wan2 (25%)
wan3 (25%)
wan4 (25%)
loadbalanced6:
unreachable
wan12_6_wan34_6:
unreachable
wan1_2_3_4:
wan1 (100%)
wan1_2_default:
wan1 (100%)
wan1_2_wan3_4:
wan2 (50%)
wan1 (50%)
wan1_6_only:
unreachable
wan1_6_wan2_6:
unreachable
wan1_only:
wan1 (100%)
wan1_wan2:
wan1 (100%)
wan2_6_only:
unreachable
wan2_only:
wan2 (100%)
wan34_6_wan12_6:
unreachable
wan3_4_2_1:
wan3 (100%)
wan3_4_wan1_2:
wan4 (50%)
wan3 (50%)
wan3_6_only:
unreachable
wan3_6_wan4_6:
unreachable
wan3_only:
wan3 (100%)
wan3_wan4:
wan3 (100%)
wan4_3_2_1:
wan4 (100%)
wan4_6_only:
unreachable
wan4_only:
wan4 (100%)
wan_1_2_3_4:
wana_6_only:
unreachable
wana_6_wanb_6:
unreachable
wana_only:
wana (100%)
wana_wanb:
wana (100%)
wanb_6_only:
unreachable
wanb_6_wana_6:
unreachable
wanb_only:
wanb (100%)
wanb_wana:
wanb (100%)
Current ipv6 policies:
loadbalanced:
unreachable
loadbalanced6:
wan4_6 (25%)
wan3_6 (25%)
wan2_6 (25%)
wan1_6 (25%)
wan12_6_wan34_6:
wan1_6 (100%)
wan1_2_3_4:
unreachable
wan1_2_default:
default
wan1_2_wan3_4:
default
wan1_6_only:
wan1_6 (100%)
wan1_6_wan2_6:
wan2_6 (50%)
wan1_6 (50%)
wan1_only:
unreachable
wan1_wan2:
unreachable
wan2_6_only:
wan2_6 (100%)
wan2_only:
unreachable
wan34_6_wan12_6:
wan4_6 (50%)
wan3_6 (50%)
wan3_4_2_1:
unreachable
wan3_4_wan1_2:
unreachable
wan3_6_only:
wan3_6 (100%)
wan3_6_wan4_6:
wan4_6 (50%)
wan3_6 (50%)
wan3_only:
unreachable
wan3_wan4:
unreachable
wan4_3_2_1:
unreachable
wan4_6_only:
wan4_6 (100%)
wan4_only:
unreachable
wan_1_2_3_4:
wana_6_only:
wana_6 (100%)
wana_6_wanb_6:
wana_6 (100%)
wana_only:
unreachable
wana_wanb:
unreachable
wanb_6_only:
wanb_6 (100%)
wanb_6_wana_6:
wanb_6 (100%)
wanb_only:
unreachable
wanb_wana:
unreachable
Directly connected ipv4 networks:
127.0.0.0/8
192.168.150.0
172.17.0.0/16
180.115.231.1
192.168.1.1
192.168.120.0/24
183.213.154.1
192.168.150.0/24
180.115.231.38
192.168.195.255
127.0.0.1
192.168.195.0
127.255.255.255
114.228.153.135
192.168.120.2
127.0.0.0
192.168.1.255
183.213.155.94
192.168.150.255
224.0.0.0/3
172.17.0.0
112.1.96.162
192.168.1.0
114.228.153.1
172.17.255.255
192.168.120.255
192.168.195.0/24
192.168.120.0
192.168.1.0/24
192.168.195.1
172.17.0.1
112.1.96.1
192.168.150.2
192.168.195.4
Directly connected ipv6 networks:
240e:3a0:420f:44b5::/64
2409:8a20:4302:e45f::/64
dd5d:189b:b5f9:2::4
240e:3a0:420c:fedf::/64
dd5d:189b:b5f9:1::/64
ddc1:aaaa:f111::/64
fe80::/10
dda1:aaaa:e111::/64
2409:8a20:4302:e498::/64
dd5d:189b:b5f9:2::/64
fe80::/64
Active ipv4 user rules:
2328 187K S AntiGFW_DNS all -- * * 0.0.0.0/0 8.8.8.8
1888 159K S AntiGFW_DNS all -- * * 0.0.0.0/0 8.8.4.4
0 0 S AntiGFW_DNS all -- * * 0.0.0.0/0 208.67.222.222
0 0 S AntiGFW_DNS all -- * * 0.0.0.0/0 208.67.220.220
0 0 S AntiGFW_DNS all -- * * 0.0.0.0/0 199.91.73.222
0 0 S AntiGFW_DNS all -- * * 0.0.0.0/0 178.79.131.110
430 27069 S ChinaNet_DNS all -- * * 0.0.0.0/0 221.228.255.1
4132 262K S ChinaNet_DNS all -- * * 0.0.0.0/0 218.2.135.1
883 56009 S ChinaNet_DNS all -- * * 0.0.0.0/0 61.177.7.1
0 0 S ChinaNet_DNS all -- * * 0.0.0.0/0 218.4.4.4
0 0 S ChinaNet_DNS all -- * * 0.0.0.0/0 218.2.2.2
1223 87989 S ChinaNet_DNS all -- * * 0.0.0.0/0 114.114.114.114
946 70543 S CM_DNS all -- * * 0.0.0.0/0 112.4.0.55
904 67858 S CM_DNS all -- * * 0.0.0.0/0 221.131.143.69
910 68217 S CM_DNS all -- * * 0.0.0.0/0 114.114.115.115
0 0 S VPS_LA all -- * * 0.0.0.0/0 31.40.214.127
0 0 S VPS_LA all -- * * 0.0.0.0/0 173.242.119.141
529 31740 - wan3_4_wan1_2 all -- * * 0.0.0.0/0 0.0.0.0/0 match-set ptlist dst
65 4865 - wana_wanb all -- * * 0.0.0.0/0 0.0.0.0/0 match-set gfwlist dst
4120 249K S CM_IPV4 all -- * * 0.0.0.0/0 0.0.0.0/0 match-set cmcc dst
22388 1398K S ChinaNet_IPV4 all -- * * 0.0.0.0/0 0.0.0.0/0 match-set cnnocmcc dst
17133 1355K S IPV4_WEB all -- * * 0.0.0.0/0 0.0.0.0/0
17133 1355K - loadbalanced all -- * * 0.0.0.0/0 0.0.0.0/0
Active ipv6 user rules:
0 0 S AntiGFW_DNS_V6 all * * ::/0 2001:4860:4860::8888
0 0 S AntiGFW_DNS_V6 all * * ::/0 2001:4860:4860::8844
110 8800 S IPV6_PTlist all * * ::/0 ::/0 match-set ptlist6 dst
291 33193 - wana_6_wanb_6 all * * ::/0 ::/0 match-set gfwlist6 dst
1264 126K S CM_IPV6 all * * ::/0 ::/0 match-set cmccv6 dst
2873 254K S ChinaNet_IPV6 all * * ::/0 ::/0 match-set cnnocmccv6 dst
4263 340K S IPV6_WEB all * * ::/0 ::/0
0 0 - loadbalanced6 all * * ::/0 ::/0
Currently the wana and wanb is online because I've hacked the mwan3track (use ping -I $SRC_IP
, but still not working properly ):
if [ $iftype ]
then
METHOD="$SRC_IP"
else
METHOD="$DEVICE"
fi
and
ping)
if [ $check_quality -eq 0 ]; then
ping -I $METHOD -c $count -W $timeout -s $size -t $max_ttl -q $track_ip &> /dev/null
result=$?
else
ping_result="$(ping -I $METHOD -c $count -W $timeout -s $size -t $max_ttl -q $track_ip | tail -2)"
loss="$(echo "$ping_result" | grep "packet loss" | cut -d "," -f3 | awk '{print $1}' | sed -e 's/%//')"
if [ "$loss" -eq 100 ]; then
latency=999999
else
latency="$(echo "$ping_result" | grep -E 'rtt|round-trip' | cut -d "=" -f2 | cut -d "/" -f2 | cut -d "." -f1)"
fi
fi
;;
trendy
December 2, 2019, 9:18pm
4
Your config is quite big and I am a bit lost in there.
Could you tell me which rule handles the wireguard tunnel traffic?
mwan3.AntiGFW_DNS=rule
mwan3.AntiGFW_DNS.proto='all'
mwan3.AntiGFW_DNS.family='ipv4'
mwan3.AntiGFW_DNS.dest_ip='8.8.8.8,8.8.4.4,208.67.222.222,208.67.220.220,199.91.73.222,178.79.131.110'
mwan3.AntiGFW_DNS.sticky='1'
mwan3.AntiGFW_DNS.timeout='600'
mwan3.AntiGFW_DNS.use_policy='wana_wanb'
mwan3.AntiGFW_DNS_V6=rule
mwan3.AntiGFW_DNS_V6.proto='all'
mwan3.AntiGFW_DNS_V6.family='ipv6'
mwan3.AntiGFW_DNS_V6.dest_ip='2001:4860:4860::8888,2001:4860:4860::8844'
mwan3.AntiGFW_DNS_V6.sticky='1'
mwan3.AntiGFW_DNS_V6.timeout='600'
mwan3.AntiGFW_DNS_V6.use_policy='wana_6_wanb_6'
mwan3.IPV4_GFW=rule
mwan3.IPV4_GFW.proto='all'
mwan3.IPV4_GFW.family='ipv4'
mwan3.IPV4_GFW.ipset='gfwlist'
mwan3.IPV4_GFW.timeout='300'
mwan3.IPV4_GFW.sticky='0'
mwan3.IPV4_GFW.use_policy='wana_wanb'
These rulses above handles the wireguard tunnel traffic.
Maybe this is the wireguard issue, I've ported the tunsafe project to openwrt, which use the userspace tun device, and it's working properly with ping -I $DEVICE
.
The ping -I $SRC_IP
also not working properly caus the mwan3 rule and masquerading (i.e. ping -I 192.168.150.2 8.8.8.8
the ping package (from wanb) will actually go through the 192.168.120.1 (wana) ).
trendy
December 3, 2019, 9:14am
7
This can't be right, as the policy is using the wana and wanb interfaces.
I am asking which rule is handling the traffic to the IPs of the wireguard endpoints. This should be using some of the other interfaces.
Pinging with a specific source IP doesn't guarantee that the traffic will go out of that interface. All the routing rules will be applied, so it can exit from another interface.
You need to ping with -I $interface to force traffic from a specific interface.
mwan3.VPS_LA=rule
mwan3.VPS_LA.family='ipv4'
mwan3.VPS_LA.proto='all'
mwan3.VPS_LA.sticky='1'
mwan3.VPS_LA.timeout='600'
mwan3.VPS_LA.dest_ip='31.40.214.127,173.242.119.141'
mwan3.VPS_LA.use_policy='wan1_2_default'
This rulse handles the wireguard tunnel traffic, but I don't think it's mwan3 rule issue.
But the busybox ping won't get through the wireguard interface.
Then I've tried the iputils-ping, it can do ping -I $interface, but also can't guarantee the traffic go out of the specific interface.
root@HOME-Router:~# /usr/bin/ping
BusyBox v1.31.1 () multi-call binary.
Usage: ping [OPTIONS] HOST
Send ICMP ECHO_REQUEST packets to network hosts
-c CNT Send only CNT pings
-s SIZE Send SIZE data bytes in packets (default 56)
-i SECS Interval
-A Ping as soon as reply is recevied
-t TTL Set TTL
-I IFACE/IP Source interface or IP address
-W SEC Seconds to wait for the first response (default 10)
(after all -c CNT packets are sent)
-w SEC Seconds until ping exits (default:infinite)
(can exit earlier with -c CNT)
-q Quiet, only display output at start
and when finished
-p HEXBYTE Pattern to use for payload
root@HOME-Router:~# /usr/bin/ping -I wana 8.8.8.8
PING 8.8.8.8 (8.8.8.8): 56 data bytes
^C
--- 8.8.8.8 ping statistics ---
5 packets transmitted, 0 packets received, 100% packet loss
root@HOME-Router:~# /usr/sbin/ping
Usage: ping [-LRUbdfnqrvVaAD] [-c count] [-i interval] [-w deadline]
[-p pattern] [-s packetsize] [-t ttl] [-I interface]
[-M pmtudisc-hint] [-m mark] [-S sndbuf]
[-T tstamp-options] [-Q tos] [hop1 ...] destination
root@HOME-Router:~# /usr/sbin/ping -I wana 8.8.8.8
PING 8.8.8.8 (8.8.8.8) from 192.168.120.2 wana: 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_req=1 ttl=58 time=138 ms
64 bytes from 8.8.8.8: icmp_req=2 ttl=58 time=135 ms
64 bytes from 8.8.8.8: icmp_req=3 ttl=58 time=135 ms
64 bytes from 8.8.8.8: icmp_req=4 ttl=58 time=135 ms
^C
--- 8.8.8.8 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3002ms
rtt min/avg/max/mdev = 135.557/136.414/138.686/1.366 ms
Then I have to add the ip rule to mwan3:
config rule 'WANA_Source'
option src_ip '192.168.120.0/24'
option family 'ipv4'
option proto 'all'
option sticky '1'
option use_policy 'wana_only'
config rule 'WANB_Source'
option src_ip '192.168.150.0/24'
option family 'ipv4'
option proto 'all'
option sticky '1'
option use_policy 'wanb_only'
And hack the mwan3:
case "$family" in
ipv4)
PING="/usr/sbin/ping"
;;
ipv6)
PING="/usr/sbin/ping6"
;;
esac
Then the mwan3track working properly.
But the busybox ping can't ping with wireguard interface, I don't know it's busybox's issue or wireguard's issue.
trendy
December 3, 2019, 2:05pm
9
You have a typo in word mem ber, not sure if this is coincidence or connected.
Other than that it shouldn't have issue as you give precedence to wan1 for both tunnels.
In my case I was able to ping both ways. The first time it used the regular wan interface:
root@koutsomoura:~# ping -I 10.0.20.5 8.8.8.8
PING 8.8.8.8 (8.8.8.8) from 10.0.20.5: 56 data bytes
64 bytes from 8.8.8.8: seq=0 ttl=55 time=7.520 ms
64 bytes from 8.8.8.8: seq=1 ttl=55 time=4.880 ms
64 bytes from 8.8.8.8: seq=2 ttl=55 time=10.079 ms
64 bytes from 8.8.8.8: seq=3 ttl=55 time=5.003 ms
64 bytes from 8.8.8.8: seq=4 ttl=55 time=4.793 ms
^C
--- 8.8.8.8 ping statistics ---
5 packets transmitted, 5 packets received, 0% packet loss
round-trip min/avg/max = 4.793/6.455/10.079 ms
root@koutsomoura:~# ping -I elvetias 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=52 time=95.018 ms
64 bytes from 8.8.8.8: seq=2 ttl=52 time=94.510 ms
^C
--- 8.8.8.8 ping statistics ---
3 packets transmitted, 2 packets received, 33% packet loss
round-trip min/avg/max = 94.510/94.764/95.018 ms
And the second time it went via the tunnel, hence the longer time.
Does it work the same with mwan3 stopped?
Thanks, but there are right configs in the mwan3 config file, so it's not the reason of ping -I $device
failure.
And which version of openwrt are you running now?
I'm running on the latest trunk version.
trendy
December 3, 2019, 3:24pm
11
I am on 18.06.4, with busybox ping, but I remember this behavior for a long time.
I would say that this is normal behavior however. Using a specific source IP shouldn't guarantee the exit interface, if routing is different.
Actually I've used wireguard + mwan3 without this issue before, but I'm always follow up the latest trunk version of openwrt, I don't know this issue was from which version of trunk.
trendy
December 4, 2019, 11:05am
13
Let's see if anyone else is facing the same issue, or can contribute to solving your problem then.
It seemed that the issue was caused by mwan3 itself.
I've tried another device with lessest package installed, below is the test resault:
root@HOME-Router_HB:/usr/sbin# /etc/init.d/mwan3 start
RTNETLINK answers: File exists
RTNETLINK answers: File exists
RTNETLINK answers: File exists
RTNETLINK answers: File exists
RTNETLINK answers: File exists
RTNETLINK answers: File exists
root@HOME-Router_HB:/usr/sbin# ping -I wana 8.8.8.8
PING 8.8.8.8 (8.8.8.8): 56 data bytes
^C
--- 8.8.8.8 ping statistics ---
13 packets transmitted, 0 packets received, 100% packet loss
root@HOME-Router_HB:/usr/sbin# ping -I wana 192.168.120.1
PING 192.168.120.1 (192.168.120.1): 56 data bytes
^C
--- 192.168.120.1 ping statistics ---
6 packets transmitted, 0 packets received, 100% packet loss
root@HOME-Router_HB:/usr/sbin# /etc/init.d/mwan3 stop
root@HOME-Router_HB:/usr/sbin# ping -I wana 192.168.120.1
PING 192.168.120.1 (192.168.120.1): 56 data bytes
64 bytes from 192.168.120.1: seq=0 ttl=64 time=147.649 ms
64 bytes from 192.168.120.1: seq=1 ttl=64 time=143.192 ms
64 bytes from 192.168.120.1: seq=2 ttl=64 time=142.373 ms
64 bytes from 192.168.120.1: seq=3 ttl=64 time=189.098 ms
64 bytes from 192.168.120.1: seq=4 ttl=64 time=256.312 ms
^C
--- 192.168.120.1 ping statistics ---
5 packets transmitted, 5 packets received, 0% packet loss
round-trip min/avg/max = 142.373/175.724/256.312 ms
root@HOME-Router_HB:/usr/sbin# ping -I wana 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=58 time=293.347 ms
64 bytes from 8.8.8.8: seq=1 ttl=58 time=287.448 ms
64 bytes from 8.8.8.8: seq=2 ttl=58 time=285.715 ms
64 bytes from 8.8.8.8: seq=3 ttl=58 time=287.217 ms
64 bytes from 8.8.8.8: seq=4 ttl=58 time=289.991 ms
64 bytes from 8.8.8.8: seq=5 ttl=58 time=298.135 ms
64 bytes from 8.8.8.8: seq=6 ttl=58 time=286.923 ms
^C
--- 8.8.8.8 ping statistics ---
7 packets transmitted, 7 packets received, 0% packet loss
round-trip min/avg/max = 285.715/289.825/298.135 ms
root@HOME-Router_HB:/usr/sbin#
The mwan3 version is 2.8.2-2.
trendy
December 4, 2019, 1:15pm
15
@feckert any suggestions?
feckert
December 8, 2019, 4:50pm
16
Why do we track the wireguard interface with mwan3? My use case is always track a phyiscal interface so eth0/wwan0/pppoe-xdsl. So I have no use case and so no experience with your setup.
I will have to do a deeper look. I think we have the same problem with ipsec
trendy
December 8, 2019, 6:21pm
17
Supposed we are using a WG interface for internet connectivity, shouldn't we track it in case the path to the wg peer is broken and we cannot reach it, so to use the other gateway?
I mean if they are all gateways to the internet, physical or virtual, shouldn't they work and shouldn't we track them the same way?
Hi,
I've tried the new version, and still not working.
Please see : https://github.com/openwrt/packages/issues/10712#issuecomment-636031304
Thanks.
lucize
January 21, 2021, 7:17pm
20
try to go in firewall custom rules and add the following line
iptables -t nat -A POSTROUTING -d <destination_ip> -o <real_eth_interface> -j MASQUERADE
this fixed my problem in ipsec site2site