1
0
Fork 0
mirror of https://github.com/Ysurac/openmptcprouter-feeds.git synced 2025-02-15 03:51:51 +00:00

Check IPv6 only when enabled

This commit is contained in:
Ycarus 2018-08-08 16:00:11 +02:00
parent 8867a1adb0
commit e6f6f49379
2 changed files with 29 additions and 15 deletions

View file

@ -69,9 +69,9 @@ function wizard_add()
-- Set interfaces settings -- Set interfaces settings
local interfaces = luci.http.formvaluetable("intf") local interfaces = luci.http.formvaluetable("intf")
for intf, _ in pairs(interfaces) do for intf, _ in pairs(interfaces) do
local ipaddr = luci.http.formvalue("cbid.network.%s.ipaddr" % intf) local ipaddr = luci.http.formvalue("cbid.network.%s.ipaddr" % intf) or ""
local netmask = luci.http.formvalue("cbid.network.%s.netmask" % intf) local netmask = luci.http.formvalue("cbid.network.%s.netmask" % intf) or ""
local gateway = luci.http.formvalue("cbid.network.%s.gateway" % intf) local gateway = luci.http.formvalue("cbid.network.%s.gateway" % intf) or ""
ucic:set("network",intf,"ipaddr",ipaddr) ucic:set("network",intf,"ipaddr",ipaddr)
ucic:set("network",intf,"netmask",netmask) ucic:set("network",intf,"netmask",netmask)
ucic:set("network",intf,"gateway",gateway) ucic:set("network",intf,"gateway",gateway)
@ -450,6 +450,11 @@ function interfaces_status()
mArray.openmptcprouter["dns"] = true mArray.openmptcprouter["dns"] = true
end end
mArray.openmptcprouter["ipv6"] = "disabled"
if tonumber((sys.exec("sysctl net.ipv6.conf.all.disable_ipv6")):match(" %d+")) == 0 then
mArray.openmptcprouter["ipv6"] = "enabled"
end
mArray.openmptcprouter["ss_addr"] = "" mArray.openmptcprouter["ss_addr"] = ""
--mArray.openmptcprouter["ss_addr6"] = "" --mArray.openmptcprouter["ss_addr6"] = ""
mArray.openmptcprouter["wan_addr"] = "" mArray.openmptcprouter["wan_addr"] = ""
@ -465,7 +470,9 @@ function interfaces_status()
end end
-- wanaddr -- wanaddr
mArray.openmptcprouter["wan_addr"] = sys.exec("wget -4 -qO- -T 1 http://ip.openmptcprouter.com") mArray.openmptcprouter["wan_addr"] = sys.exec("wget -4 -qO- -T 1 http://ip.openmptcprouter.com")
mArray.openmptcprouter["wan_addr6"] = sys.exec("wget -6 -qO- -T 1 http://ipv6.openmptcprouter.com") if mArray.openmptcprouter["ipv6"] == 'enabled' then
mArray.openmptcprouter["wan_addr6"] = sys.exec("wget -6 -qO- -T 1 http://ipv6.openmptcprouter.com")
end
end end
mArray.openmptcprouter["remote_addr"] = luci.http.getenv("REMOTE_ADDR") or "" mArray.openmptcprouter["remote_addr"] = luci.http.getenv("REMOTE_ADDR") or ""
@ -480,6 +487,8 @@ function interfaces_status()
-- Check openmptcprouter service are running -- Check openmptcprouter service are running
mArray.openmptcprouter["tun_service"] = false mArray.openmptcprouter["tun_service"] = false
mArray.openmptcprouter["tun_state"] = ''
mArray.openmptcprouter["tun6_state"] = ''
if string.find(sys.exec("/usr/bin/pgrep '^(/usr/sbin/)?glorytun(-udp)?$'"), "%d+") or string.find(sys.exec("/usr/bin/pgrep '^(/usr/sbin/)?mlvpn?$'"), "%d+") or string.find(sys.exec("/usr/bin/pgrep '^(/usr/sbin/)?openvpn?$'"), "%d+") then if string.find(sys.exec("/usr/bin/pgrep '^(/usr/sbin/)?glorytun(-udp)?$'"), "%d+") or string.find(sys.exec("/usr/bin/pgrep '^(/usr/sbin/)?mlvpn?$'"), "%d+") or string.find(sys.exec("/usr/bin/pgrep '^(/usr/sbin/)?openvpn?$'"), "%d+") then
mArray.openmptcprouter["tun_service"] = true mArray.openmptcprouter["tun_service"] = true
mArray.openmptcprouter["tun_ip"] = get_ip("omrvpn") mArray.openmptcprouter["tun_ip"] = get_ip("omrvpn")
@ -499,11 +508,13 @@ function interfaces_status()
else else
mArray.openmptcprouter["tun_state"] = 'DOWN' mArray.openmptcprouter["tun_state"] = 'DOWN'
end end
local tunnel_ping6_test = ut.trim(sys.exec("ping6 -W 1 -c 1 fe80::a00:1 -I 6in4-omr6in4 | grep '100% packet loss'")) if mArray.openmptcprouter["ipv6"] == 'enabled' then
if tunnel_ping6_test == "" then local tunnel_ping6_test = ut.trim(sys.exec("ping6 -W 1 -c 1 fe80::a00:1 -I 6in4-omr6in4 | grep '100% packet loss'"))
mArray.openmptcprouter["tun6_state"] = 'UP' if tunnel_ping6_test == "" then
else mArray.openmptcprouter["tun6_state"] = 'UP'
mArray.openmptcprouter["tun6_state"] = 'DOWN' else
mArray.openmptcprouter["tun6_state"] = 'DOWN'
end
end end
else else
mArray.openmptcprouter["tun_state"] = 'DOWN' mArray.openmptcprouter["tun_state"] = 'DOWN'
@ -672,7 +683,7 @@ function interfaces_status()
-- Detect if WAN get an IPv6 -- Detect if WAN get an IPv6
local ipv6_discover = 'NONE' local ipv6_discover = 'NONE'
if ifname ~= nil then if ifname ~= nil then
if tonumber((sys.exec("sysctl net.ipv6.conf.all.disable_ipv6")):match(" %d+")) == 0 then if mArray.openmptcprouter["ipv6"] == 'enabled' then
local ipv6_result = _ipv6_discover(ifname) local ipv6_result = _ipv6_discover(ifname)
if type(ipv6_result) == "table" and #ipv6_result > 0 then if type(ipv6_result) == "table" and #ipv6_result > 0 then
local ipv6_addr_test local ipv6_addr_test

View file

@ -142,12 +142,15 @@
{ {
statusMessage += 'VPN tunnel DOWN<br/>'; statusMessage += 'VPN tunnel DOWN<br/>';
} }
if (mArray.openmptcprouter.tun6_state == "DOWN") if (mArray.openmptcprouter.ipv6 == "enabled")
{ {
statusMessage += 'VPN IPv6 tunnel DOWN<br/>'; if (mArray.openmptcprouter.tun6_state == "DOWN")
} else if (mArray.openmptcprouter.wan_addr6 == '') {
{ statusMessage += 'VPN IPv6 tunnel DOWN<br/>';
statusMessage += 'No IPv6 access<br/>'; } else if (mArray.openmptcprouter.wan_addr6 == '')
{
statusMessage += 'No IPv6 access<br/>';
}
} }
if (statusMessage !== "") if (statusMessage !== "")
{ {