我目前正在研究CentOS 7.3。
为了激活SNMP,我安装了它,使用firewall-cmd
命令对它进行了configuration并成功启动了服务。
现在,我意识到我需要打开端口161,使SNMP开始通信。 因此我运行下面的命令。
$sudo firewall-cmd --permanent --add-port=161/udp --zone-public
Success
$sudo firewall-cmd --reload
Success
之后,我检查了新的选项是否被成功添加,并且一切都变好了。
但是,当试图检查如果我没有问题连接到端口161使用telnet,我收到以下错误信息。
Trying 127.0.0.1... telnet: connect to address 127.0.0.1: Connection refused Trying ::1... telnet: connect to address ::1: No route to host
我在这一步中是否有任何遗漏?
你不能telnet snmp端口,因为它不是TCP,是UDP;
尝试使用net-snmp软件包中的snmpget命令进行testing:
http://net-snmp.sourceforge.net/tutorial/tutorial-5/commands/snmpget.html
为了提供更多的理解,请在linuxquestions.org上的@tkedwardsfind这篇文章,了解使用telnet检查UDP端口连通性的结果:
“UDP是一种无连接的协议,意味着它只是将包发送到指定的目的地,TCP是面向连接的,意味着它使用”三次握手“build立到另一端的连接。
因此,将“telnet”范例应用于TCP是有意义的 – 即使您没有发送任何数据,并且您可以发送和接收,您仍然保持连接(一段时间)数据连续不断地重新连接。
另一方面,UDP并不适合telnet模式 – 它更像是一个即发即弃(fire-and-forget)系统,在这个系统中,你可以向目的地发送一系列数据包。 然后继续进行其他操作(或者等待无所事事),直到(或者如果)远程进程发回一些数据包。
因此,在恢复UDP它不是你真的可以检查,除非它会给你回来的信息。