RHEL7ファイアウォールのSNMP接続を通過させるにはどうすればよいですか?

RHEL7ファイアウォールのSNMP接続を通過させるにはどうすればよいですか?

RHEL7ファイアウォールのSNMP接続を通過させるにはどうすればよいですか?

マイコンピュータでこのコマンドを実行した場合:

systemctl stop firewalld

すべてのSNMPパケットはシームレスに転送されます。ファイアウォールを再起動すると、すべてのパケットがブロックされます。もちろん、ファイアウォールを実行しながら、次のようないくつかの構成を試しました。

iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 161 -j ACCEPT

または

firewall-cmd --zone=public --add-port=161/tcp --permanent

エラーメッセージは表示されませんが、SNMPはまだタイムアウトします。

答え1

正しい方法は、SNMPプロファイルをFirewalldに追加することです。 TCPの代わりにUDP 161を使用する

vim /etc/firewalld/services/snmp.xml

<?xml version="1.0" encoding="utf-8"?>
<service>
  <short>SNMP</short>
  <description>SNMP protocol</description>
  <port protocol="udp" port="161"/>
</service>

その後、ファイアウォールを再ロードする必要があります。

firewall-cmd --reload

その後、パブリックゾーンにサービスを追加する必要があります。

firewall-cmd --zone=public --add-service snmp --permanent

次に、最後にファイアウォールを再ロードします。

firewall-cmd --reload

答え2

SNMPはUDPとTCPです。ルールでプロトコルを変更すると正常に動作します。

答え3

ポート 161/udp (tcp 以外) を開く必要があります。

firewall-cmd --zone=public --add-port=161/udp --permanent
firewall-cmd --reload

または、次のコマンドを使用して新しいSNMPサービスを作成します(次から変更されます)。文書 - 方法 - サービスの追加|):

firewall-cmd --permanent --new-service=snmp
firewall-cmd --permanent --service=snmp --set-description="SNMP protocol"
firewall-cmd --permanent --service=snmp --set-short=SNMP
firewall-cmd --permanent --service=snmp --add-port=161/udp
firewall-cmd --permanent --service=snmp --add-protocol=udp

次に、新しいSNMPサービスを使用します。

firewall-cmd --zone=public --add-service snmp --permanent
firewall-cmd --reload

関連情報