RE: ng0 snmp could not read interface

"Mohammed Ismail" <[email protected]>
Newsgroups gmane.comp.security.firewalls.m0n0wall
Message-ID <[email protected]>
-----Original Message-----
From: Adam Armstrong [mailto:[email protected]] 
Sent: Monday, May 04, 2009 8:29 PM
To: Mohammed Ismail
Cc: [email protected]
Subject: Re: [m0n0wall] ng0 snmp could not read interface
Please put :

$config['snmpbulkwalk'] = "/usr/bin/snmpbulkwalk";

Into config.php

Observer from 0.6 now uses snmpbulkwalk for walking interface tables.

> $cmd  = $config['snmpwalk'] . " -m IF-MIB -O nsq -" . $device['snmpver'] .
"
> -c " . $device['community'] . " " .
$device['hostname'].":".$device['port'];

#
I see only these interfaces via SNMP from m0n0 :

root@alpha:~# snmpwalk -v2c -c <THING> jersey.memetic.org ifDescr
IF-MIB::ifDescr.1 = STRING: vr0
IF-MIB::ifDescr.2 = STRING: vr1
IF-MIB::ifDescr.3 = STRING: vr2
IF-MIB::ifDescr.4 = STRING: lo0
IF-MIB::ifDescr.5 = STRING: enc0
IF-MIB::ifDescr.6 = STRING: ng0
IF-MIB::ifDescr.7 = STRING: gif0

What do you see on an snmpwalk? Can you show me your config.php?
adam.

>>>>>>>>>>>>>

server# snmpwalk -v2c -c community xxx.xxx.com ifDescr
IF-MIB::ifDescr.1 = STRING: fxp0
IF-MIB::ifDescr.2 = STRING: xl0
IF-MIB::ifDescr.3 = STRING: xl1
IF-MIB::ifDescr.4 = STRING: lo0
IF-MIB::ifDescr.5 = STRING: enc0
IF-MIB::ifDescr.6 = STRING: ng0

This is my output when I use the command>
Still cannot see ng0 in observer

This is my config.php
>>
<?php

### Database config
$config['db_host'] = "localhost";
$config['db_user'] = "xxx";
$config['db_pass'] = "xxx";
$config['db_name'] = "xxx";

### Installation Location
$config['install_dir'] 	= "/usr/local/www/observer";
$config['html_dir']	= $config['install_dir'] . "/html";
$config['rrd_dir'] 	= $config['install_dir'] . "/rrd";

### Default community
$config['community'] = "m0n0";

$config['base_url'] = "http://www.xxx.com";

### Location of executables

$config['sipcalc'] = "/usr/local/bin/sipcalc";
$config['rrdtool'] = "/usr/local/bin/rrdtool";
$config['fping'] = "/usr/local/sbin/fping";
$config['ipcalc'] = "/usr/local/bin/ipcalc";
$config['snmpwalk'] = "/usr/local/bin/snmpwalk";
$config['snmpget'] = "/usr/local/bin/snmpget";
$config['snmpbulkwalk'] = "/usr/local/bin/snmpbulkwalk";
$config['snmpset'] = "/usr/local/bin/snmpset";

### RRDGraph Settings

# Set the general colours and other settings for rrdtool graphs

$config['rrdgraph_defaults'] = array("-c", "BACK#FFFFFF", "-c",
"SHADEA#E5E5E5", "-c", "SHADEB#E5E5E5",
                                     "-c", "FONT#000000", "-c",
"CANVAS#FFFFFF", "-c", "GRID#aaaaaa",
                                     "-c", "MGRID#FFAAAA", "-c",
"FRAME#5e5e5e", "-c", "ARROW#5e5e5e",
                                     "-R", "normal");

$config['overlib_defaults'] = ",FGCOLOR,'#e5e5e5', BGCOLOR, '#e5e5e5'";


## List of networks to allow scanning-based discovery.
$config['nets'] =  array ("10.0.0.0/8", "172.22.0.0/16");

## Your local domain name and specifics
$config['mydomain'] = "xxx.com";
$config['page_title']  = "ObserverNMS";
$config['title_image'] = $config['base_url'] . "images/observer-logo.jpg";
$config['stylesheet']  = "css/styles.css"; 
$config['mono_font'] = $config['install_dir'] . "/fonts/DejaVuSansMono.ttf";
$config['favicon'] = "favicon.ico";
$config['header_color'] = "#1F334E";

$config['page_refresh'] = "90";  ## Refresh the page every xx seconds
$config['front_page'] = "pages/front/default.php";

$config['email_default']  = "[email protected]";
$config['email_from']     = "Observer <[email protected]>";
$config['email_headers']  = "From: " . $config['email_from'] . "\r\n";

### Which interface sections should we show?

$config['int_customers']       = 0;  # Enable Customer Port Parsing
$config['int_transit']         = 0;  # Enable Transit Types
$config['int_peering']         = 0;  # Enable Peering Types
$config['int_core']            = 0;  # Enable Core Port Types
$config['int_l2tp']            = 0;  # Enable L2TP Port Types

$config['show_locations']      = 1;  # Enable Locations on menu

### Which additional features should we enable?

$config['enable_bgp'] 		= 0; # Enable BGP session collection and
display
$config['enable_syslog'] 	= 0; # Enable Syslog
$config['enable_billing']	= 0; # Enable BGP session collection and
display
$config['enable_inventory']     = 1; # Enable Inventory
$config['enable_pseudowires']	= 0; # Enable Cisco Pseudowires

## Uncomment this to enable display of rancid-collected configs
#$config['rancid_configs']      = '/var/lib/rancid/network/configs/';
$config['cdp_autocreate']       = false;    # Should we autocreate hosts we
see via CDP?
$config['snmp_autodiscovery']   = false;    # Should we scan for and
autocreate hosts via snmp?
                                            # SNMP autodiscovery is * NOT
WORKING *

## If a syslog entry contails these strings it is deleted from the database
$config['syslog_filter'] = array("last message repeated", "Connection from
UDP: [127.0.0.1]:"); 

$config['syslog_age']    = "1 month"; ## Time to keep syslog for in 
                                      ## MySQL DATE_SUB format (eg '1 day',
'1 month')

### Interface name strings to ignore
#$config['bad_if'] = array("null",  "unrouted", "eobc", "mpls", "sl0",
"lp0", "faith0",
#             "-atm layer", "-atm subif", "-shdsl", "-adsl", "-aal5",
"-atm", "stackport",
#             "async", "plip", "-physical", "-signalling", "control plane",
"stacksub",
#            "bri", "-bearer", "bluetooth", "isatap", "ras", "qos",
"miniport", "lo0", "enc0");
##
$config['bad_if_regexp'] = array("/serial[0-9]:/");

### Mountpoints to ignore

$config['ignore_mount'] = array("/kern", "/mnt/cdrom", "/dev", "/dev/pts",
"/proc/bus/usb");

### Style Options

$list_colour_a = "#ffffff";
$list_colour_b = "#eeeeee";

$warn_colour_a = "#ffeeee";
$warn_colour_b = "#ffcccc";

include("includes/static-config.php");

?>


And this is /includes/discovery/interfaces.php

<?

# Discover interfaces

  echo("Interfaces : ");
  $cmd  = $config['snmpwalk'] . " -m IF-MIB -O nsq -" . $device['snmpver'] .
"  -c " . $device['community'] . " " .
$device['hostname'].":".$device['port'];
  $cmd  = $config['snmpbulkwalk'] . " -m IF-MIB -O nsq -" .
$device['snmpver'] . " -c " . $device['community'] . " " .
$device['hostname'].":".$device['port'];
  $cmd .= " ifDescr";
  $interfaces = trim(shell_exec($cmd));
  $interfaces = str_replace("\"", "", $interfaces);
  $interfaces = str_replace("ifDescr.", "", $interfaces);
  $interfaces = str_replace(" ", "||", $interfaces);

  $interface_ignored = 0;
  $interface_added   = 0;

  foreach(explode("\n", $interfaces) as $entry){

    $entry = trim($entry);
    list($ifIndex, $ifDescr) = explode("||", $entry);

#    if($config['ifdescr'][$device['os']]) {
#      $ifDescr = shell_exec($config['snmpget'] . " -m IF-MIB -O qv -" .
$device['snmpver'] . " -c " . $device['community'] . " " .
$device['hostname'].":".$device['port'] . " ifDescr.$ifIndex");
#      $ifDescr = str_replace("No Such Object available on this agent at
this OID", "", $ifDescr);
#      $ifDescr = str_replace("No Such Instance currently exists at this
OID", "", $ifDescr);
#      $ifDescr = trim(str_replace("\"", "", $ifDescr));
#    } else { $ifDescr = trim(str_replace("\"", "", $ifName)); }


    if(!strstr($entry, "irtual")) {
      $if = trim(strtolower($ifDescr));
      $nullintf = 0;
      foreach($config['bad_if'] as $bi) {
      if (strstr($if, $bi)) {
          $nullintf = 1;
        }
      }
      $ifDescr = fixifName($ifDescr);
      if (preg_match('/serial[0-9]:/', $if)) { $nullintf = '1'; }
      if(!$config['allow_ng']) {
       if (preg_match('/ng[0-9]+$/', $if)) { $nullintf = '1'; }
      }
      if ($nullintf == 0) {
        if(mysql_result(mysql_query("SELECT COUNT(*) FROM `interfaces` WHERE
`device_id` = '".$device['device_id']."' AND `ifIndex` = '$ifIndex'"), 0) ==
'0') {
          mysql_query("INSERT INTO `interfaces`
(`device_id`,`ifIndex`,`ifDescr`) VALUES
('".$device['device_id']."','$ifIndex','$ifDescr')");
          # Add Interface
           echo("+");
        } else {
          mysql_query("UPDATE `interfaces` SET `deleted` = '0', `ifDescr` =
'$ifDescr' WHERE `device_id` = '".$device['device_id']."' AND `ifIndex` =
'$ifIndex'"); 
          if(mysql_affected_rows()) { 
            echo("*"); 
          } else {
            echo(".");
          }
        }
        $int_exists[] = "$ifIndex";
      } else { 
        # Ignored Interface
	#echo("$if \n");
	if(mysql_result(mysql_query("SELECT COUNT(*) FROM `interfaces` WHERE
`device_id` = '".$device['device_id']."' AND `ifIndex` = '$ifIndex'"), 0) !=
'0') {
          mysql_query("UPDATE `interfaces` SET `deleted` = '1' WHERE
`device_id` = '".$device['device_id']."' AND `ifIndex` = '$ifIndex'");
          # Delete Interface
          echo("-"); ## Deleted Interface
        } else {
          echo("X"); ## Ignored Interface
        }
      }
    } 
  }


  $sql = "SELECT * FROM `interfaces` WHERE `device_id`  =
'".$device['device_id']."' AND `deleted` = '0'";
  $query = mysql_query($sql);

  while ($test_if = mysql_fetch_array($query)) {
        unset($exists);
        $i = 0;
        while ($i < count($int_exists) && !$exists) {
            $this_if = $test_if['ifIndex'];
            if ($int_exists[$i] == $this_if) { $exists = 1; }
            $i++;
        }
        if(!$exists) {
          echo("-");
          mysql_query("UPDATE `interfaces` SET `deleted` = '1' WHERE
interface_id = '" . $test_if['interface_id'] . "'");
        }
  }

  unset($temp_exists);
  echo("\n");

?>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.