ipitables ファイアウォールの概要、ルールやクリーンアップ ルールの表示方法などは以前の記事で説明しましたが、今回はファイアウォール ルールの作成方法をデモンストレーションします。仕事では主にフィルタチェーンのルールを策定するため、ここでは主にフィトラーチェーンをデモンストレーションに使用します。
準備作業
ルールを作成する前に、まず firewalld サービスを終了し、iptables サービスを有効にしてから、既存のルールをクリアします。
# systemctl stop firewalld # systemctl start iptables # iptables -F # iptables -X # iptables -Z
新しいルール チェーンの追加
ルール チェーンを iptables に追加するには、多くのオプションがあります。以下に基本的な使用法を見てみましょう。
iptables [-t tables] -A|I 链名 [-i|o 网络接口] [-m state] [--state 数据包状态] \ > [-p 网络协议] [-s 源地址 --sport 端口范围] [-d 目标地址 --dport 端口范围] \ > -j [ACCEPT|DROP|REJECT]
オプションとパラメータ:
-A|I チェーン名 A は既存のルールの後にルールを追加することを意味し、I はルールを先頭に挿入することを意味します
-i|o ネットワーク インターフェイス i は、データ パケットが入るネットワーク インターフェイスを表し、INPUT チェーンまたは PREROUTING チェーンと組み合わせて使用する必要があります。o は、データ パケットが通過するインターフェイスを表します。データ パケットは送信され、OUTPUT チェーンと組み合わせて使用する必要があります
-p ネットワーク プロトコル 一般的なものには、tcp、upd、icmp、および all
IP、ネットワーク、およびネットワーク カード インターフェイスのルールの定式化
以下に、いくつかのルール チェーンの例を示します。が与えられます。 192.168.1.110 から送信されるデータを許可し、192.168.1.111 から送信されるデータを拒否します。# iptables -A INPUT -s 192.168.1.110 -j ACCEPT # iptables -I INPUT -s 192.168.1.111 -j DROP # iptables -vnL Chain INPUT (policy ACCEPT 33 packets, 3048 bytes) pkts bytes target prot opt in out source destination 0 0 DROP all -- * * 192.168.1.111 0.0.0.0/0 0 0 ACCEPT all -- * * 192.168.1.110 0.0.0.0/0 Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination Chain OUTPUT (policy ACCEPT 18 packets, 1844 bytes) pkts bytes target prot opt in out source destination
# iptables -A INPUT -s 192.168.1.0/24 -j ACCEPT # iptables -vnL Chain INPUT (policy ACCEPT 29 packets, 2328 bytes) pkts bytes target prot opt in out source destination 0 0 DROP all -- * * 192.168.1.111 0.0.0.0/0 0 0 ACCEPT all -- * * 192.168.1.110 0.0.0.0/0 0 0 ACCEPT all -- * * 192.168.1.0/24 0.0.0.0/0 Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination Chain OUTPUT (policy ACCEPT 15 packets, 1460 bytes) pkts bytes target prot opt in out source destination
# iptables -A INPUT -i lo -j ACCEPT
ポートのルール
は、「ポート 21 のすべてのローカル データ パケットをブロックする」# iptables -A INPUT -i eth0 -p tcp --dport 21 -j DROP
# iptables -A INPUT -i eth0 -p tcp --dport 1024:65534 -j ACCEPT
# iptables -A INPUT -i eth0 -s 192.168.1.0/24 -p tcp --dport 3306 -j DROP # iptables -A INPUT -i etc0 -p tcp -s 192.168.1.0/24 \ > --sport 1024:65535 --dport 22 -j DROP
データ パケットの接続ステータスに関するルール
データ パケットの一般的なステータスには、INVALID (無効なデータ パケット)、ESTABLISHED (正常に接続されたステータス)、NEW (新しく確立されたデータ パケット)、RELATED (新しい接続と既存の接続に関連付けられたもの) が含まれます。繋がり)。 ESTABLISHED および RELATED ステータスのすべてのデータ パケットを受け入れ、INVALID ステータスのすべてのデータ パケットを破棄します# iptables -t filter -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT # iptables -A INPUT -m state --state INVALID -j DROP
ルール チェーンを削除します
ルール チェーンの削除は、-A を -D に置き換えることができる点を除いて、ルール チェーンの追加と基本的に同じです。いくつかのルールをまとめて削除しましょう。# iptables-save # Generated by iptables-save v1.4.21 on Sun Nov 15 22:36:41 2020 *filter :INPUT ACCEPT [4:1920] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [16:1380] -A INPUT -s 192.168.1.111/32 -j DROP -A INPUT -s 192.168.1.110/32 -j ACCEPT -A INPUT -s 192.168.1.0/24 -j ACCEPT …… # iptables -t filter -D INPUT -s 192.168.1.111/32 -j DROP # iptables -D INPUT -s 192.168.1.110/32 -j ACCEPT
注: iptables の上記の設定はメモリにのみ保存され、サービスの再起動後にシステムが再起動されると、これらの設定は消えます。したがって、外部から自分自身をブロックしない限り、それを実践してください。
ルールを保存したい場合は、/usr/libexec/iptables/iptables.init save と入力して保存してください。 。 関連する推奨事項: 「Linux ビデオ チュートリアル 」
以上がLinux でのソフトウェア ファイアウォール iptables - ルールの定義と削除の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。