ファイアウォール機能が有効になっている場合、そのままの設定ではOpen監視を使用することができません。
以下のどちらかの対応が必要です。
ファイアウォール機能に対して必要な通信を許可する
ファイアウォール機能を無効とする
ポイント
「ファイアウォール機能を無効とする」に設定するよりも、「ファイアウォール機能に対して必要な通信を許可する」で設定する方が、安全な環境で使用することができます。
使用するポート番号
Open監視が使用するポートは、“使用するポート番号”を参照してください。
設定例
以下に記載されているファイアウォール設定のコマンドは、ファイアウォール設定を以下の条件で行う環境で有効な例です。
firewalldサービスを使用する場合【Red Hat Enterprise Linux 7以降】
iptablesサービスを使用する場合
ノードに入ってくるパケットを INPUTチェインでのみ制御している
ノードから出ていくパケットを OUTPUTチェインでのみ制御している
上記条件に合わない環境で設定を行う場合は、対象チェインやターゲット(ACCEPTやDROPなど)の指定変更、設定の追加などが必要となります。ファイアウォール機能の詳細については、OSのマニュアルを参照してください。
上記以外でファイアウォール設定を行っている場合は、各ファイアウォール機能のマニュアルを参照してください。
ファイアウォール機能を利用して、必要な通信だけを許可する場合は、以下の設定を行います。
firewalldサービスを使用する場合【Red Hat Enterprise Linux 7以降】
iptablesサービスの無効化と停止を行います。
【IPv4】
# /usr/bin/systemctl disable iptables.service # /usr/bin/systemctl stop iptables.service
【IPv6】
# /usr/bin/systemctl disable ip6tables.service # /usr/bin/systemctl stop ip6tables.service
firewalldサービスの有効化と起動を行います。
# /usr/bin/systemctl enable firewalld.service # /usr/bin/systemctl start firewalld.service
ネットワークインタフェースを追加します。
例)
publicゾーンに対して追加する場合
# /usr/bin/firewall-cmd --permanent --zone=public --add-interface=eth0
ゾーンに対して、ポート/プロトコルを有効にします。
例)
publicゾーンに対して9294/tcpの通信を許可する場合
# /usr/bin/firewall-cmd --permanent --zone=public --add-port=9294/tcp
設定の反映を行います。
# /usr/bin/firewall-cmd --reload
iptablesサービスを使用する場合
firewalldサービスの無効化と停止を行います(Red Hat Enterprise Linux 7以降の場合)。
# /usr/bin/systemctl disable firewalld.service # /usr/bin/systemctl stop firewalld.service
iptablesサービスの有効化と起動を行います(Red Hat Enterprise Linux 7以降の場合)。
【IPv4】
# /usr/bin/systemctl enable iptables.service # /usr/bin/systemctl start iptables.service
【IPv6】
# /usr/bin/systemctl enable ip6tables.service # /usr/bin/systemctl start ip6tables.service
自サーバ内で使用する通信を許可します。
【IPv4】
# /sbin/iptables -I INPUT -i lo -j ACCEPT # /sbin/iptables -I OUTPUT -o lo -j ACCEPT
【IPv6】
# /sbin/ip6tables -I INPUT -i lo -j ACCEPT # /sbin/ip6tables -I OUTPUT -o lo -j ACCEPT
ICMP通信を許可します。
【IPv4】
# /sbin/iptables -I INPUT -p icmp -j ACCEPT # /sbin/iptables -I OUTPUT -p icmp -j ACCEPT
【IPv6】
# /sbin/ip6tables -I INPUT -p ipv6-icmp -j ACCEPT # /sbin/ip6tables -I OUTPUT -p ipv6-icmp -j ACCEPT
接続済みの通信を許可します。
サーバに接続してきたコンピュータに対して、同じ経路を使用して応答できるようにします。
【IPv4】
# /sbin/iptables -I INPUT -p tcp -m state --state ESTABLISHED -j ACCEPT # /sbin/iptables -I OUTPUT -p tcp -m state --state ESTABLISHED -j ACCEPT
【IPv6】
# /sbin/ip6tables -I INPUT -p tcp -m state --state ESTABLISHED -j ACCEPT # /sbin/ip6tables -I OUTPUT -p tcp -m state --state ESTABLISHED -j ACCEPT
udp通信のポート(161/udpや9294/udp)を許可する場合は、udp通信について、接続済みの通信を許可します。
【IPv4】
# /sbin/iptables -I INPUT -p udp -m state --state ESTABLISHED -j ACCEPT # /sbin/iptables -I OUTPUT -p udp -m state --state ESTABLISHED -j ACCEPT
【IPv6】
# /sbin/ip6tables -I INPUT -p udp -m state --state ESTABLISHED -j ACCEPT # /sbin/ip6tables -I OUTPUT -p udp -m state --state ESTABLISHED -j ACCEPT
特定の通信を許可します。
“使用するポート番号”を参照して、必要な通信を許可してください。
送信、受信ともにすべて、 --sportオプションではなく、--dportオプションを指定して設定します。
送信ポートの通信を許可する場合
【IPv4】
# /sbin/iptables -I OUTPUT -p プロトコル --dport ポート番号 -j ACCEPT
【IPv6】
# /sbin/ip6tables -I OUTPUT -p プロトコル --dport ポート番号 -j ACCEPT
例)
送信ポート9820/tcpの通信を許可する場合
【IPv4】
# /sbin/iptables -I OUTPUT -p tcp --dport 9820 -j ACCEPT
【IPv6】
# /sbin/ip6tables -I OUTPUT -p tcp --dport 9820 -j ACCEPT
受信ポートの通信を許可する場合
【IPv4】
# /sbin/iptables -I INPUT -p プロトコル --dport ポート番号 -j ACCEPT
【IPv6】
# /sbin/ip6tables -I INPUT -p プロトコル --dport ポート番号 -j ACCEPT
例)
受信ポート10050/tcpの通信を許可する場合
【IPv4】
# /sbin/iptables -I INPUT -p tcp --dport 10050 -j ACCEPT
【IPv6】
# /sbin/ip6tables -I INPUT -p tcp --dport 10050 -j ACCEPT
設定の保存と反映を行います。設定はすぐにシステムに反映され、システム再起動後も有効になります。
【IPv4】
Red Hat Enterprise Linux 6以前の場合
# /etc/init.d/iptables save # /sbin/service iptables restart
Red Hat Enterprise Linux 7以降の場合
# /sbin/service iptables save # /sbin/service iptables restart
【IPv6】
Red Hat Enterprise Linux 6以前の場合
# /etc/init.d/ip6tables save # /sbin/service ip6tables restart
Red Hat Enterprise Linux 7以降の場合
# /sbin/service ip6tables save # /sbin/service ip6tables restart
設定が反映されていることを、以下のコマンドで確認します。
【IPv4】
# /sbin/iptables -L
【IPv6】
# /sbin/ip6tables -L
ファイアウォール機能を無効とする場合は、以下の設定を行います。
【Red Hat Enterprise Linux 6以前】
現在のファイアウォールの設定を消去します。
【IPv4】
# /sbin/iptables -F
【IPv6】
# /sbin/ip6tables -F
すべての送受信を許可します
【IPv4】
# /sbin/iptables -P INPUT ACCEPT # /sbin/iptables -P OUTPUT ACCEPT
【IPv6】
# /sbin/ip6tables -P INPUT ACCEPT # /sbin/ip6tables -P OUTPUT ACCEPT
設定の保存と反映を行います。
設定はすぐにシステムに反映され、システム再起動後も有効になります。
【IPv4】
# /etc/init.d/iptables save # /sbin/service iptables restart
【IPv6】
# /etc/init.d/ip6tables save # /sbin/service ip6tables restart
【Red Hat Enterprise Linux 7以降】
firewalldサービスの無効化と停止を行います。
# /usr/bin/systemctl disable firewalld.service # /usr/bin/systemctl stop firewalld.service
iptablesサービスの無効化と停止を行います。
【IPv4】
# /usr/bin/systemctl disable iptables.service # /usr/bin/systemctl stop iptables.service
【IPv6】
# /usr/bin/systemctl disable ip6tables.service # /usr/bin/systemctl stop ip6tables.service