mirror of
https://github.com/Ysurac/openmptcprouter-feeds.git
synced 2025-03-09 15:40:03 +00:00
Fix VPN gateway search
This commit is contained in:
parent
1d5fbd422d
commit
ee70e81c8b
2 changed files with 9 additions and 3 deletions
|
@ -275,7 +275,7 @@ function interfaces_status()
|
||||||
if tun_dev ~= "" then
|
if tun_dev ~= "" then
|
||||||
local peer = get_gateway("omrvpn")
|
local peer = get_gateway("omrvpn")
|
||||||
if peer ~= "" then
|
if peer ~= "" then
|
||||||
ut.trim(sys.exec("ip -4 r list dev " .. tun_dev .. " | grep kernel | awk '/proto kernel/ {print $1}' | tr -d '\n'"))
|
peer = ut.trim(sys.exec("ip -4 r list dev " .. tun_dev .. " | grep kernel | awk '/proto kernel/ {print $1}' | grep -v / | tr -d '\n'"))
|
||||||
end
|
end
|
||||||
if peer ~= "" then
|
if peer ~= "" then
|
||||||
local tunnel_ping_test = ut.trim(sys.exec("ping -W 1 -c 1 " .. peer .. " | grep '100% packet loss'"))
|
local tunnel_ping_test = ut.trim(sys.exec("ping -W 1 -c 1 " .. peer .. " | grep '100% packet loss'"))
|
||||||
|
@ -371,6 +371,12 @@ function interfaces_status()
|
||||||
|
|
||||||
-- Detect WAN gateway status
|
-- Detect WAN gateway status
|
||||||
local gw_ping = 'UP'
|
local gw_ping = 'UP'
|
||||||
|
if gateway == "" then
|
||||||
|
gateway = get_gateway(interface)
|
||||||
|
end
|
||||||
|
if gateway ~= "" then
|
||||||
|
gateway = ut.trim(sys.exec("ip -4 r list dev " .. ifname .. " | grep kernel | awk '/proto kernel/ {print $1}' | grep -v / | tr -d '\n'"))
|
||||||
|
end
|
||||||
if gateway ~= "" then
|
if gateway ~= "" then
|
||||||
local gw_ping_test = ut.trim(sys.exec("ping -W 1 -c 1 " .. gateway .. " | grep '100% packet loss'"))
|
local gw_ping_test = ut.trim(sys.exec("ping -W 1 -c 1 " .. gateway .. " | grep '100% packet loss'"))
|
||||||
if gw_ping_test ~= "" then
|
if gw_ping_test ~= "" then
|
||||||
|
|
|
@ -11,9 +11,9 @@ service_triggers() {
|
||||||
reload_service() {
|
reload_service() {
|
||||||
iface=$(uci -q get glorytun.vpn.dev)
|
iface=$(uci -q get glorytun.vpn.dev)
|
||||||
addr=$(ubus call network.interface.omrvpn status | jsonfilter -e '@["ipv4-address"][0].address | tr -d "\n")
|
addr=$(ubus call network.interface.omrvpn status | jsonfilter -e '@["ipv4-address"][0].address | tr -d "\n")
|
||||||
[ -z "$addr" ] && [ -n "$iface" ] && addr=$(ip -4 addr show dev $iface | grep inet | awk '{print $2}' | cut -d/ -f1 | tr -d "\n")
|
[ -z "$addr" ] && [ -n "$iface" ] && addr=$(ip -4 addr show dev $iface | grep inet | awk '{print $2}' | cut -d/ -f1 | grep -v / | tr -d "\n")
|
||||||
peer=$(ubus call network.interface.omrvpn status | jsonfilter -e '@.route[0].nexthop' | tr -d "\n")
|
peer=$(ubus call network.interface.omrvpn status | jsonfilter -e '@.route[0].nexthop' | tr -d "\n")
|
||||||
[ -z "$peer" ] && [ -n "$iface" ] && peer=$(ip -4 r list dev $iface | grep kernel | awk '/proto kernel/ {print $1}' | tr -d "\n")
|
[ -z "$peer" ] && [ -n "$iface" ] && peer=$(ip -4 r list dev $iface | grep kernel | awk '/proto kernel/ {print $1}' | grep -v / | tr -d "\n")
|
||||||
[ -z "$addr" ] && exit 0
|
[ -z "$addr" ] && exit 0
|
||||||
[ -z "$peer" ] && exit 0
|
[ -z "$peer" ] && exit 0
|
||||||
if [ "$addr" != "$(uci -q get network.omr6in4.ipaddr)" ] || [ "$peer" != "$(uci -q get network.omr6in4.peeraddr)" ]; then
|
if [ "$addr" != "$(uci -q get network.omr6in4.ipaddr)" ] || [ "$peer" != "$(uci -q get network.omr6in4.peeraddr)" ]; then
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue