mirror of
https://github.com/Ysurac/openmptcprouter-feeds.git
synced 2025-03-09 15:40:03 +00:00
Fix VPN gateway check
This commit is contained in:
parent
7359f8dfc8
commit
90333e9906
1 changed files with 22 additions and 2 deletions
|
@ -192,6 +192,23 @@ function get_ip(interface)
|
||||||
return ip
|
return ip
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function get_gateway(interface)
|
||||||
|
local gateway = nil
|
||||||
|
local dump = nil
|
||||||
|
|
||||||
|
dump = require("luci.util").ubus("network.interface.%s" % interface, "status", {})
|
||||||
|
|
||||||
|
if dump and dump.route then
|
||||||
|
local _, route
|
||||||
|
for _, route in ipairs(dump.route) do
|
||||||
|
if dump.route[_].target == "0.0.0.0" then
|
||||||
|
gateway = dump.route[_].nexthop
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return gateway
|
||||||
|
end
|
||||||
|
|
||||||
-- This function come from OverTheBox by OVH with some changes
|
-- This function come from OverTheBox by OVH with some changes
|
||||||
-- Copyright 2015 OVH <OverTheBox@ovh.net>
|
-- Copyright 2015 OVH <OverTheBox@ovh.net>
|
||||||
-- Simon Lelievre (simon.lelievre@corp.ovh.com)
|
-- Simon Lelievre (simon.lelievre@corp.ovh.com)
|
||||||
|
@ -239,8 +256,11 @@ function interfaces_status()
|
||||||
mArray.openmptcprouter["tun_service"] = true
|
mArray.openmptcprouter["tun_service"] = true
|
||||||
mArray.openmptcprouter["tun_ip"] = get_ip("omrvpn")
|
mArray.openmptcprouter["tun_ip"] = get_ip("omrvpn")
|
||||||
local tun_dev = uci:get("network","omrvpn","ifname")
|
local tun_dev = uci:get("network","omrvpn","ifname")
|
||||||
if tundev ~= "" then
|
if tun_dev ~= "" then
|
||||||
local peer = ut.trim(sys.exec("ip -4 r list dev " .. tun_dev .. " | grep kernel | awk '/proto kernel/ {print $1}' | tr -d '\n'"))
|
local peer = get_gateway("omrvpn")
|
||||||
|
if peer ~= "" then
|
||||||
|
ut.trim(sys.exec("ip -4 r list dev " .. tun_dev .. " | grep kernel | awk '/proto kernel/ {print $1}' | tr -d '\n'"))
|
||||||
|
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'"))
|
||||||
if tunnel_ping_test == "" then
|
if tunnel_ping_test == "" then
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue