RHEL7のファイアウォールにSNMP接続を通過させる方法は?
コンピューターでこのコマンドを実行したとき:
systemctl stop firewalld
すべてのSNMPパケットが問題なく通過しています。 firewalldを再起動すると、すべてのパケットがブロックされました。もちろん、ファイアウォールを実行した状態でいくつかの設定を試しました。
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はタイムアウトのままです。
これを行う正しい方法は、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
SNMPはudpとtcpです。ルールでプロトコルを変更すると、機能するはずです。