Difference between pages "Pxe" and "Snmp"

From Linuxintro
(Difference between pages)
imported>ThorstenStaerk
 
imported>ThorstenStaerk
 
Line 1: Line 1:
'''PXE''' stands for '''P'''reboot E'''x'''ecution '''E'''nvironment. It is used to boot a computer using booting information from over the network.
+
Trying to build an SNMP prototype
  
= Overview =
+
SUSE Linux:
The typical PXE boot looks like this:
 
# Computer ''A'' starts. Its [http://en.wikipedia.org/wiki/BIOS BIOS] is set to do a PXE [[boot]], so booting from the network.
 
# Computer ''A'' acquires an IP address from [[dhcp]] [[server]] ''B''.
 
# Computer ''A'' downloads its booting files ([[initrd]] and [[kernel]]) via [[tftp]] from ''B''.
 
# Computer ''A'' executes the kernel just as if it had from its local [[hard disk]].
 
  
= How to start =
+
yast -i nagios apache2
In this example we use SUSE Linux 12.1.
+
/etc/init.d/nagios start
 +
/etc/init.d/apache2 start
  
== DHCP ==
+
Remember your login nagiosadmin:nagiosadmin and point your browser to http://127.0.0.1/nagios
To allow your computers to boot from the network, they first need an IP address. So, [[set up a dhcp-server]]. Make sure /etc/dhcpd.conf contains the following lines:
 
allow booting;
 
allow bootp;
 
authoritative; # I am the one and only here
 
Make sure your "subnet" section contains the following lines:
 
next-server ''192.168.0.5'';
 
filename "pxelinux.0";
 
Make sure you have restarted your dhcpd:
 
/etc/init.d/dhcpd restart
 
  
== TFTP ==
+
  /etc/init.d/snmptrapd
After your computers have received their IP address, they start asking for their booting file from the TFTP-server, in this case ''192.168.0.5''. So, make sure they can get it.
+
  tail -f /var/log/net-snmpd.log
* [[Install]] tftp and syslinux:
+
  snmptrap -v 2c -c public localhost "" NET-SNMP-EXAMPLES-MIB::netSnmpExampleHeartbeatNotification netSnmpExampleHeartbeatRate i 42
  # yast -i tftp syslinux
 
* copy syslinux' pxelinux.0 to /srv/tftpboot/:
 
# rpm -ql syslinux | grep pxelinux.0
 
/usr/share/syslinux/gpxelinux.0
 
/usr/share/syslinux/pxelinux.0
 
# cp /usr/share/syslinux/pxelinux.0 /srv/tftpboot/
 
* Activate the tftp server. To do this, change /etc/xinetd.d/tftp. Replace
 
disable = yes
 
with
 
disable = no
 
Then restart xinetd which hosts tftpd:
 
  /etc/init.d/xinetd restart
 
* Test it:
 
  tftp ''192.168.0.5'' -c get pxelinux.0
 
Test your configuration now by booting a connected computer from PXE. You should get an error message saying that the configuration file pxelinux.cfg/default has not been found.
 
  
== pxelinux.cfg/default ==
+
  No access configuration - dropping trap.
Create a /srv/tftpboot/pxelinux.cfg/default like this:
 
default linux
 
  timeout 0
 
prompt 1
 
display display.msg
 
 
label linux
 
  kernel vmlinuz
 
  append initrd=initrd
 
  
* Now you must supply kernel (vmlinuz) and initrd into the tftp folder:
+
So it seems I have to
cp /boot/vmlinuz /srv/tftpboot
 
cp /boot/initrd /srv/initrd
 
  
== Change initial ramdisk ==
+
  cat /etc/snmp/snmptrapd.conf
If you now want to change the initrd to actually do something, you can do it like this:
+
  disableAuthorization yes
  cd /tftpboot
+
  traphandle default /bin/snmppl
mkdir tmp
+
 
cd tmp
+
  /etc/init.d/snmptrapd restart
cp ../initrd.img ./initrd.gz
+
  cat /bin/snmppl
  gunzip initrd.gz
+
  #!/bin/bash
  mkdir tmp2
+
  date >>/tmp/dates
cd tmp2
 
  [[cpio]] -id < ../initrd
 
Do the needed changes now in this folder. Then pack the initrd again:
 
  [[find]] . | cpio --create --format='newc' > ../newinitrd
 
  cd ..
 
  [[gzip]] newinitrd
 
Your new [[initrd]] is now called newinitrd.gz.
 
  
 
= See also =
 
= See also =
* [http://en.wikipedia.org/wiki/Preboot_Execution_Environment Wikipedia on PXE]
+
* http://nagios.sourceforge.net/docs/3_0/quickstart-opensuse.html
* http://www.digitalpeer.com/id/linuxnfs
+
* http://net-snmp.sourceforge.net/wiki/index.php/TUT:snmptrap
 
+
* http://www.linuxforums.org/forum/gentoo-linux/108864-net-snmp.html
[[Category:Networking]]
+
* http://paulgporter.net/2013/09/16/nagios-snmp-traps/
[[Category:Boot]]
 
[[Category:Guides]]
 

Revision as of 09:32, 6 May 2014

Trying to build an SNMP prototype

SUSE Linux:

yast -i nagios apache2
/etc/init.d/nagios start
/etc/init.d/apache2 start

Remember your login nagiosadmin:nagiosadmin and point your browser to http://127.0.0.1/nagios

/etc/init.d/snmptrapd
tail -f /var/log/net-snmpd.log
snmptrap -v 2c -c public localhost "" NET-SNMP-EXAMPLES-MIB::netSnmpExampleHeartbeatNotification netSnmpExampleHeartbeatRate i 42
No access configuration - dropping trap.

So it seems I have to

cat /etc/snmp/snmptrapd.conf
disableAuthorization yes
traphandle default /bin/snmppl
/etc/init.d/snmptrapd restart
cat /bin/snmppl
#!/bin/bash
date >>/tmp/dates

See also