Linux ファイアウォール関連のコマンドと使用法

1. Linux ファイアウォールの概要

Fedora、CentOS、Red Hat およびその他の同様のディストリビューションでは、デフォルトでインストールされるファイアウォール ソフトウェアは firewalld であり、firewall-cmd コマンドによって設定および制御されます。この記事では主に firewalld について説明します。

  • ネットワーク ゾーンによって定義されたネットワーク リンクとインターフェイスのセキュリティ レベルをサポートする動的ファイアウォール管理ツール
  • IPv4、IPv6 ファイアウォール設定およびイーサネット ブリッジをサポート
  • ファイアウォール ルール インターフェイスを直接追加するサポート サービスまたはアプリケーション
  • 2 つの構成モードがあります
  • 実行時設定 (一時的な設定)
  • 永続的な構成

Firewalld と iptables の関係

ネットフィルター

Linux カーネルにあるパケットフィルタリング機能の体系を
Linux ファイアウォールの「カーネル状態」と呼びます
Firewalld/iptables

CentOS 7 のファイアウォール ルールを管理するためのデフォルト ツール (Firewalld) は、
Linux ファイアウォールの「ユーザー モード」と呼ばれます。

ここに画像の説明を挿入します

ファイアウォール iptables
設定ファイル /usr/lib/firewalld、/etc/firewalld /etc/sysconfig/iptables
ルールの変更 すべてのポリシーを更新する必要がなく、現在の接続が失われることもありません。 すべての戦略を更新する必要があり、リンクが失われます。
ファイアウォールの種類 動的ファイアウォール 静的ファイアウォール

2. Firewalld が起動、表示、終了します。

#启动: firewalld
systemctl start firewalld
#查看状态: 
systemctl status firewalld
#查看firewall运行状态
firewall-cmd --state
#停止:
systemctl stop firewalld
#禁用:
systemctl disable firewalld
#重新加载firewall 一般是修改firewalld以后需要重新加载
firewall-cmd --reload
#重启firewalld
systemctl restart firewalld

3.firewalld-cmd関連コマンド

#查看版本: 
firewall-cmd --version
#查看帮助: 
firewall-cmd --help
#显示状态: 
firewall-cmd --state
#查看所有放行的端口: 
firewall-cmd --zone=public --list-ports
#更新防火墙规则: 
firewall-cmd --reload
#查看区域信息: 
firewall-cmd --get-active-zones
#查询指定接口所属的区域: 
firewall-cmd --get-zone-of-interface=eth0
#拒绝所有包:
firewall-cmd --panic-on
#取消拒绝状态: 
firewall-cmd --panic-off
#查看是否拒绝: 
firewall-cmd --query-panic

4.firewalldリリースポート

# 查询端口是否开放
firewall-cmd --query-port=8080/tcp
# 新建永久规则,开放8080端口(TCP协议)任何ip都可以访问此端口
firewall-cmd --permanent --add-port=8080/tcp
# 移除上一个命令新建的规则
firewall-cmd --permanent --remove-port=8080/tcp
# 新建永久规则,批量开放一段端口(TCP协议)9001-9100区间的端口都开放
firewall-cmd --permanent --add-port=9001-9100/tcp

#添加或者移除规则后重新加载firewall后配置才会生效
firewall-cmd --reload

5.firewalldがホワイトリストIPをリリース

# 新建永久规则,开放192.168.1.1单个源IP的访问
firewall-cmd --permanent --add-source=192.168.1.1
# 新建永久规则,开放192.168.1.0/24源IP段的访问 
#192.168.1.0/24这个网络是指192.168.1.1-192.168.1.255之间的ip,24代表网络位24位,主机位8位
firewall-cmd --permanent --add-source=192.168.1.0/24
# 移除上述规则
firewall-cmd --permanent --remove-source=192.168.1.1


6.ルールの設定

# 允许指定IP访问本机8080端口
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.1" port protocol="tcp" port="8080" accept'
# 允许指定IP段访问本机8080-8090端口
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="8080-8090" accept'
# 禁止指定IP访问本机8080端口
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.1" port protocol="tcp" port="8080" reject'
#移除第一条规则(所有的移除规则基本都是add改成remove)
firewall-cmd --permanent --remove-rich-rule='rule family="ipv4" source address="192.168.1.1" port protocol="tcp" port="8080" accept'


コマンドの説明:
accept、allow、reject、reject、drop、reject
–add-rich-rule、add settings
–remove-rich-rule、remove settings
–permanent、永続的に有効になり、有効にするにはリロードする必要があります。

7. ファイアウォールゾーン(ドメイン)の概念

#可以得到所有的域

firewall-cmd --get-zones 

1. ドロップ: ドロップ ゾーンが使用されている場合、受信パケットはすべてドロップされます。これは、以前に使用した iptables -jdrop に似ています。ドロップ ルールを使用すると、応答がなくなります。
2. ブロック: ブロック領域は受信ネットワーク接続を拒否し、icmp-host-prohibited を返します。サーバーによって確立された接続のみが通過します。つまり、システムによって初期化されたネットワーク接続のみが許可されます。
3. パブリック: 選択した接続のみを受け入れますデフォルトでは、ssh と dhcpv6-client のみが許可されます。このゾーンはデフォルトのゾーンです。
4. 外部: この領域は、ルーターのマスカレード有効化オプションに相当します。指定された接続 (ssh など) のみが受け入れられ、他の接続はドロップされるか受け入れられません。
5. 隔離 (dmz): 一部のサービスのみを外部からアクセスできるようにしたい場合は、dmz 領域で定義できます。sshのみで接続できるのも特徴です。
6. 作業: この領域では、内部ネットワークのみを定義できます。たとえば、プライベート ネットワーク通信のみが許可され、ssh、ipp-client、および dhcpv6-client のみが許可されます。
7. ホーム: このエリアは家庭環境専用です。また、選択された接続 (ssh、ipp-client、mdns、samba-client、dhcpv6-client) のみが許可されます。
8. 内部: このエリアはワークエリア (作業) に似ていますが、ホームエリアと同様に、選択された接続のみを介します。
9. 信頼済み: 信頼済みゾーンでは、すべてのネットワーク通信の通過が許可されます。覚えておいてください。trusted は最も信頼されているため、サービスが設定されていない場合でも、trusted はすべての接続を許可するため、依然として許可されます。

おすすめ

転載: blog.csdn.net/tian830937/article/details/132657710