Tło
uzyskanie SNMP na Ubuntu 18.04 może być wyzwaniem. Powodem jest to, że domyślny plik konfiguracyjny SNMP zawiera tak wiele wpisów, że jest całkowicie przytłaczający i dodatkowo może być skonfigurowany do słuchania tylko na localhost. Wreszcie, jeśli nie masz portu UDP 161 dozwolonego na firewallu, będziesz się kręcił w kółko.
w tym artykule spróbujemy zainstalować SNMP na Ubuntu, aby zewnętrzny serwer mógł uzyskać dostęp do twojej konfiguracji.
zainstalujemy biblioteki, wykonamy kopię zapasową i minimalną konfigurację, a następnie rozpoczniemy testowanie. Opcjonalnie Sprawdzimy, czy istnieje ograniczenie localhost. Sprawdzanie zapory pozostawiam tobie lub skontaktuj się z nami, jeśli potrzebujesz dodatkowej pomocy.
biblioteka SNMP do instalacji
sudo apt-get install snmpd
Konfiguracja
domyślny plik snmpd.conf
dostarczany z Ubuntu jest zbyt skomplikowany i naprawdę potrzebujemy tylko kilku wpisów. Więc najpierw zrobimy kopię zapasową, abyśmy mogli zacząć od zera z inteligentnymi domyślnymi wartościami:
cp /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.backup
teraz możesz edytować plik za pomocą ulubionego edytora tekstu, np. vi /etc/snmp/snmpd.conf
i usunąć wszystko.
uwaga na temat zapór ogniowych
musisz włączyć UDP
port 161
w zaporze, jeśli monitorujesz serwer z zewnątrz. Konfiguracja zapory sieciowej może okazać się jednym z trudniejszych aspektów monitorowania SNMP, ponieważ czasami możesz przechodzić przez wiele zapór sieciowych, np. zaporę AWS i lokalną zaporę Virtualmin. Jeśli pojawi się następujący problem, możesz mieć do czynienia z problemem zapory sieciowej:
Timeout: No Response from host.domain.com
oto przykład konfiguracji, która działa.
jeśli używasz systemu takiego jak PRTG do monitorowania serwerów, wypróbuj następujące ustawienia:
# cat /etc/snmp/snmpd.confcom2sec readonly your_secret_communitysyslocation "Server Location"syscontact Firstname Lastnamesysservices 76master yesagentaddress udp:161rocommunity your_secret_community
po zapisaniu pliku snmpd.conf
uruchom ponownie demona SNMPD
.
service snmpd restart
testowanie
możesz użyć snmpwalk do testowania SNMP, pod warunkiem, że jest zainstalowany. Zainstaluj to narzędzie, robiąc to:
apt install snmp
następnie wykonaj: snmpwalk-C your_secret_community – v1 localhost z hosta lokalnego lub zdalnego do testowania. Najpierw spróbuj localhost
, a następnie sprawdź adres IP swojego serwera. Idealnie jest również przeprowadzić ten test z NMS do zdalnego hosta.
Localhost Restriction?
Sprawdź /etc/default/snmpd
dla ograniczenia localhost
być może będziesz musiał sprawdzić następującą linię, aby sprawdzić, czy twój SNMP nie jest zablokowany na localhost:
# cat /etc/default/snmpdSNMPDOPTS='-Lsd -Lf /dev/null -u Debian-snmp -g Debian-snmp -I -smux,mteTrigger,mteTriggerConf -p /run/snmpd.pid'
jeśli widzisz 127.0.0.1
, ale próbujesz podłączyć SNMP ze zdalnego systemu, Usuń Test 127.0.0.1
, aby sprawdzić, czy SNMP nasłuchuje na wszystkich portach:
:~# netstat -ulnp | grep 161udp 0 0 0.0.0.0:161 0.0.0.0:* 33914/snmpd