LinuxでFirewallDとIptablesファイアウォールを開始/停止および有効/無効にする方法


ファイアウォールは、ユーザーのシステムと外部ネットワークの間のシールドとして機能するソフトウェアであり、一部のパケットを通過させ、他のパケットを破棄します。ファイアウォールは通常、ネットワーク層、つまりIpv4とIpv6の両方のIPパケットで動作します。

パケットが通過するか、ボックされるかは、ファイアウォール内のそのようなタイプのパケットに対するルールによって異なります。これらのルールは、組み込みまたはユーザー定義のルールにすることができます。ネットワークに入る各パケットは、このシールドを通過する必要があります。このシールドは、そのようなタイプのパケットに対して定義されているルールに照らして検証します。

各ルールには、パケットがそれを満たさない場合に適用されるターゲットアクションがあります。 Linuxシステムでは、サービスとしてのファイアウォールは多くのソフトウェアによって提供されます。最も一般的なのは、firewalldとiptablesです。

Linuxでは、さまざまな種類のファイアウォールが使用されていますが、ほとんどの標準的なファイアウォールはIptablesとFirewalldであり、この記事で説明します。

FirewallDは、LinuxシステムのDynamic FirewallManagerです。このサービスは、ネットワーク接続を構成するために使用されます。これにより、ネットワークの通過を許可する外部ネットワークまたは内部パケットと、ブロックするパケットを決定します。

パーマネントとランタイムの2種類の構成が可能です。ランタイム構成は失われ、サービスが再起動されますが、永続的な構成はシステムブート全体で保持されるため、サービスがアクティブになるたびに実行されます。

これらの構成に対応して、firewallDには2つのディレクトリがあります。デフォルト/フォールバックディレクトリ(/ usr/lib/Firewall)は失われ、システムは更新され、システム構成(/ etc/Firewall)は永続的であり、指定されている場合はデフォルトのディレクトリを上書きします。これは、RHEL/CentOS7およびFedora18のデフォルトサービスとして検出されます。

Iptablesは、IPパケットを許可、ドロップ、または返すことを決定する別のサービスです。 IptablesサービスはIpv4パケットを管理し、Ip6tablesはIpv6パケットを管理します。このサービスは、各テーブルがさまざまな目的で維持されるテーブルのリストを管理します。たとえば、「filter」テーブルはファイアウォールルール用、「nat」テーブルは新しい接続の場合に参照され、「mangle」はパケットの変更の場合などです。

各テーブルにはさらに、組み込みまたはユーザー定義のチェーンがあり、チェーンはパケットに適用される一連のルールを示します。したがって、そのパケットのターゲットアクションを決定します。つまり、許可、ブロック、または返送する必要があります。 。このサービスは、RHEL/CentOS 6/5やFedora、ArchLinux、Ubuntuなどのシステムのデフォルトサービスです。

ファイアウォールの詳細については、次のリンクをたどってください。

  1. Understanding IPtables Firewall Basics and Tips
  2. Configure Iptables Firewall in Linux
  3. Configure FirewallD in Linux
  4. Useful FirewallD Rules to Manage Firewall in Linux
  5. How to Control Network Traffic Using FirewallD and Iptables

この記事では、LinuxでIptablesおよびFirewallDサービスを開始、停止、または再起動する方法について説明します。

FirewallDサービスを開始/停止および有効/無効にする方法

CentOS/RHEL7またはFedora18以降のバージョンを使用している場合は、以下の手順に従ってFirewallDサービスを管理する必要があります。

# systemctl start firewalld 
# systemctl stop firewalld
# systemctl status firewalld
# firewall-cmd --state

別の方法として、firewalldサービスを無効にして、パケットにルールが適用されないようにし、必要なルールを再度有効にすることもできます。

# systemctl disable firewalld
# systemctl enable firewalld
# systemctl mask firewalld

また、 firewall.service から/dev/null へのシンボリックリンクを作成するファイアウォールサービスをマスクして、サービスを無効にすることもできます。

# systemctl unmask firewalld

これは、サービスのマスキングの逆です。これにより、マスキング中に作成されたサービスのシンボリックリンクが削除され、サービスが再度有効になります。

IPtablesサービスを開始/停止および有効/無効にする方法

RHEL/CentOS6/5/4およびFedora12-18 iptablesファイアウォールは以前から提供されており、iptablesサービスは次の方法でインストールできます。

# yum install iptables-services

次に、次のコマンドを使用して、サービスを開始、停止、または再起動できます。

# systemctl start iptables
OR
# service iptables start
# systemctl stop iptables
OR
# service iptables stop
# systemctl disable iptables
Or
# service iptables save
# service iptables stop
# systemctl enable iptables
Or
# service iptables start
# systemctl status iptables
OR
# service iptables status

ただし、Ubuntuおよびその他の一部のLinuxディストリビューションでは、ufwはiptablesファイアウォールサービスを管理するために使用されるコマンドです。 Ufwは、ユーザーがiptablesファイアウォールサービスを処理するための簡単なインターフェイスを提供します。

$ sudo ufw enable
$ sudo ufw disable
# sudo ufw status 

ただし、コマンドに続くすべてのルールを含むiptablesにチェーンを一覧表示する場合は、同じことを実現するのに役立ちます。

# iptables -L -n -v

結論

これらは、Linuxベースのシステムでパケット管理サービスを開始、停止、無効化、および有効化するのに役立つ手法です。 Linuxディストリビューションが異なれば、デフォルトとしてさまざまなサービスを使用できます。たとえば、Ubuntuはデフォルトのプリインストールサービスとしてiptablesを使用でき、CentOSはIPパケットの送受信を管理するためのデフォルトの構成済みサービスとしてfirewalldを使用できます。

この記事では、ほとんどすべてのLinuxディストリビューションでこれらのサービスを管理するための最も一般的なトリックを紹介しますが、何かを見つけてこの記事に追加したい場合は、いつでもコメントを歓迎します。