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]]
| |