#!/bin/bash time_in=$(date +%s%N) . /etc/sysconfig/rx3-net . /etc/sysconfig/rx3-vpn CGI_NAME="vpn-admin_board.cgi" VPN_TYPE[0]="IPSec" VPN_TYPE[1]="OpenVPN" VPN_TYPE[2]="L2TP" VPN_TYPE[3]="PPTP" VPN_TYPE[4]="NoVPN" #-------------------------------------------------------------------------------------------------------------------------- # Lookup Source IP () #-------------------------------------------------------------------------------------------------------------------------- Lookup_Src_IP () { lo_id=0 for lo_blk in ${IP_SRC_SN} do OIFS=${IFS} IFS=: set ${lo_blk} lo_ip=$1 lo_table=$2 lo_owner=$3 lo_type=$4 IFS=${OIFS} echo "${lo_ip}:${lo_table}:${lo_owner}:${lo_type}:${lo_type}:sn:${lo_id}" lo_id=$((${lo_id}+1)) done for lo_blk in ${IP_SRC_PTP} do OIFS=${IFS} IFS=: set ${lo_blk} lo_id=$1 lo_table=$2 lo_owner=$3 lo_forward=$4 IFS=${OIFS} for lo_type in 1 2 3 do echo "${IP_PREFIX}.${lo_type}.${lo_id}:${lo_table}:${lo_owner}:${lo_type}:${lo_forward}:ptp:${lo_id}" done done } #-------------------------------------------------------------------------------------------------------------------------- # Lookup Owner () #-------------------------------------------------------------------------------------------------------------------------- Lookup_Owner () { for lo_blk in $(Lookup_Src_IP) do OIFS=${IFS} IFS=: set ${lo_blk} lo_ip=$1 lo_table=$2 lo_owner=$3 lo_type=$4 IFS=${OIFS} if [[ "${ip}" == "${lo_ip}" ]] then echo ${lo_owner} fi done } #-------------------------------------------------------------------------------------------------------------------------- # Header Print #-------------------------------------------------------------------------------------------------------------------------- Header_Print () { case "${format}" in "html") echo "Content-type: text/html" echo "" echo "" echo "" echo "
" echo " " echo " " echo " " echo " " echo " " if [[ "${cmd_status}" == "" ]] then echo ""
echo "
"
echo "
# | Name | Type | Device | Address | Config | Table | Status | Bytes In | Bytes Out | UpTime |
${idx} | ${name} | ${type} | ${dev} | ${address} | ${conf} | ${table} | "
if [[ "${status}" == 1 ]]
then
echo -n "![]() | "
else
echo -n "${bytes_received} | ${bytes_sent} | ${uptime} | " else echo "${idx};${name};${type};${dev};${conf};${table};${status};${bytes_received};${bytes_sent};${uptime}" fi idx=$((idx+1)) done if [[ "${format}" == "html" ]] then echo "
"
echo "
"
echo "
"
if [[ $i == $id ]]
then
echo -n "![]() | "
else
echo -n "![]() | "
if [[ "${REMOTE_USER}" == "${owner}" ]]
then
echo -n "![]() |
"
echo "
"
echo "
# | Type | IP | Host Name | Status | Device | " else echo "TABLE: VPN_Routing_Board" echo -n "#;Type;IP;Host Name;Status;Device;" fi for blk in ${VPN_EXT_LIST} do OIFS=${IFS} IFS=: set $blk dev=$1 conf=$2 table=$3 name=$4 IFS=${OIFS} if [[ "${format}" == "html" ]] then echo -n "${name} | " else echo -n "${name};" fi done if [[ "${format}" == "html" ]] then echo "Forward | From Port | To Port | Owner | Bytes In | Bytes Out | UpTime | Last Seen |
"
echo "
"
echo "
"
echo "
"
echo "
"
echo "
"
echo "
"
echo "
"
echo ""
echo " Date: $(/bin/date)
"
echo "
"
echo "
"
echo "
"
printf "Page generated in %d.%03d seconds" ${elaps_sec} ${elaps_mili}
echo "
" echo " Rx3 Admin" echo "
" echo "" echo ""
echo " "
echo "
"
echo "
"
echo "