我有一台 CentOS 7 服务器,其中我打开了用于 SNMP 连接的端口。
尽管我可以看到这里打开的端口:
[matias@Centos_7_VM ~]$ sudo firewall-cmd --list-all
[sudo] password for matias:
public (active)
target: default
icmp-block-inversion: no
interfaces: ens33
sources:
services: ssh dhcpv6-client
ports: 80/tcp 10050/tcp 50000/tcp 161/tcp 160/tcp
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
当我尝试从外部访问此端口时,我总是发现它已关闭。甚至 nmap 也同意这一点:
Starting Nmap 7.01 ( https://nmap.org ) at 2018-08-01 14:52 -03
Nmap scan report for Centos_7_VM (192.168.43.216)
Host is up (0.52s latency).
Not shown: 996 filtered ports
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
161/tcp closed snmp
50000/tcp closed ibm-db2
我还能做什么来打开这些端口?(是的,我重新加载了防火墙当我最初打开端口时。)
答案1
SNMP 是 UDP 协议,不是 TCP 协议。所以需要打开 UDP 端口,即161/udp
。
更好的是,只需指定服务名称,firewalld 就会处理它。
firewall-cmd <options> --add-service=snmp