Linuxはiptablesを使用して複数のIPからのサーバーへのアクセスを制限します

Linuxはiptablesを使用して複数のIPからのサーバーへのアクセスを制限します

序文

Linux カーネルでは、netfilter は、パケット フィルタリング、ネットワーク アドレス変換 (NAT)、およびプロトコル タイプに基づく接続追跡を担当するサブシステムです。このサブシステムは、カーネルがパケット フィルタリング処理を制御するために使用するルール セットを含むいくつかのパケット フィルタリング テーブルで構成されています。 iptables は、netfilter を管理するためのツールです。

複数の連続したIP操作

1. 複数のコマンドに分割して実行する

iptables -A 入力 192.168.122.2 -j 受け入れる 
iptables -A 入力 192.168.122.3 -j 受け入れる 
iptables -A 入力 192.168.122.4 -j 受け入れる 
iptables -A 入力 192.168.122.5 -j 受け入れる 
....

この方法では多くのコマンドを記述する必要があり、iptables テーブルが非常に長くなり、管理が困難になります。さらに、コマンドの数が多いと、パフォーマンスにわずかな (無視できる) 影響しか与えません。

2. IPセグメントのIPに対してIP/MASKの形式でアクセス制御を実行できる

iptables -A INPUT 192.168.122.0/24 -j ACCEPT

この方法では、IP 範囲の指定されたソース コードを計算する必要があり、柔軟性がありません。 (利便性からこの方法を使用するユーザーが多いですが、過度な認証はセキュリティ上のリスクをもたらします)

3. iptablesには多くのモジュールがあり、その中でiprangeは連続したIPセグメントのアクセス制御を特に処理するために使用されます。

iptables -A INPUT -m iprange --src-range 192.168.122.2-192.168.122.34 -j ACCEPT #送信元IPに一致
iptables -A INPUT -m iprange --dest-range 8.8.8.2-8.8.8.22 -j DROP #ターゲットIPに一致

この方法はより柔軟です。マスクを計算する必要はなく、範囲を直接指定するだけです。

要約する

現時点では公式では不連続IPには対応していないようですが、不連続IPに対応するモジュールを追加している方もいらっしゃいます。

個人的には、iptables リストをうまく管理したいのであれば、まず整理してから制限する必要があると思います。連続した IP を使用する必要がある場合は、上記の方法を使用します。連続していない場合は、正直に複数のコマンドを記述する必要があります。また、マシンの数が多い場合は、モジュールをインストールする必要があり、システムの安定性に影響を与える可能性があります。

推薦する:

興味のある方は、編集者のWeChat公開アカウント[ Coder’s Stuff ]をフォローして、Webページ制作の特殊効果のソースコードや学習資料をさらに入手してください。 ! !

上記は、Linux で iptables を使用して複数の IP からのサーバーへのアクセスを制限する方法についてご紹介したものです。お役に立てれば幸いです。ご質問がある場合は、メッセージを残していただければ、すぐに返信いたします。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。

以下もご興味があるかもしれません:
  • ファイアウォールの iptables 戦略を使用して Linux サーバー上のポートを転送する方法
  • Linux iptables の一般的なファイアウォール ルールの詳細な説明
  • LINUX での IPTABLES ファイアウォールの基本的な使用方法のチュートリアル
  • Linux iptablesコマンドの詳細な説明
  • Linux ファイアウォールの iptables ルールを表示、追加、削除、変更する方法の概要
  • Linux ファイアウォール iptables で IP を禁止およびブロック解除するための一般的なコマンドの詳細な説明
  • Linux での iptables によるポートのブロックとオープンの例
  • Linux iptables とインターフェースを使用してコンテナ ネットワークを管理する Docker の詳細な説明
  • Linux VPS サーバー共通サービス iptables 戦略
  • iptables を使用して Linux を構成し、すべてのポートのログインを禁止し、指定されたポートを開く方法
  • 新しくインストールした Linux システムの /etc/sysconfig ディレクトリに iptables ファイルが存在しない問題の解決方法
  • Alibaba Cloud Linux サーバーで iptables を使用してセキュリティ ポリシーを設定する方法
  • Linuxはiptablesを通じてTCP接続と周波数を制限することでDDOS攻撃を防御します
  • Linux サーバーで iptables+Denyhost によるブルートフォース攻撃に抵抗する設定方法
  • Linux ファイアウォール iptables 入門チュートリアル
  • Linux で iptables ファイアウォール ルールを追加する例
  • Linuxファイアウォールiptablesの詳細な紹介、設定方法と事例

<<:  JavaScript イベントの概念の詳細な説明 (静的登録と動的登録の区別)

>>:  MySQL 最適化接続最適化

推薦する

CSS の border 属性と display 属性の使い方の簡単な分析

境界プロパティの概要borderプロパティは要素の境界を設定します。境界線の3要素は、太さ、線の種類...

MySQL のデータ型とフィールド属性の原理と使用法の詳細な説明

この記事では、MySQL のデータ型とフィールド属性について説明します。ご参考までに、詳細は以下の通...

jQuery ステップ進行軸プラグインの実装コード

毎日のjQueryプラグイン - ステップ進捗軸 ステップ進捗軸ツール系のサイトでは入門チュートリア...

史上最もクリエイティブな404ページのデザインは、ウェブサイトのユーザーエクスペリエンスを効果的に向上させます

ウェブを閲覧しているときに 404 ページに遭遇することはあまりないので、見落としがちです。しかし、...

HTML の iframe と frame の違いを例を使って説明します

プロジェクトで frameset 属性を使用したことがあるかどうかはわかりません。昨年、オンライン ...

MySQL テーブルをコピーする 3 つの方法 (要約)

テーブル構造とそのデータをコピーする次のステートメントは、データを新しいテーブルにコピーします。注:...

コード分​​析を実現するためのFastDFSとNginxの統合

FastDFSとNginxの統合:トラッカーは、負荷分散と高可用性のために Nginx と組み合わせ...

MySQLのパラメータについてお話しましょう

序文:以前の記事では、特定のパラメータの機能についてよく紹介してきました。しかし、MySQL パラメ...

独自の Docker イメージを作成して Dockerhub にアップロードする方法

1. まず、自分のdockerhubアカウントを登録します。登録アドレス: https://hub....

JSオブジェクトの走査順序の詳細な説明

JavaScript ではオブジェクトを走査する順序は固定されていないと聞いたことがある人もいるかも...

ウェブページ作成における絶対パスと相対パスの違い

1. 絶対パスまず、ローカル コンピューターでは、ファイルの絶対パスは、当然、ハード ディスク上でフ...

LeetCode の SQL 実装 (196. 重複するメールボックスを削除する)

[LeetCode] 196.重複したメールを削除するSQL クエリを記述して、Person とい...

Flex モバイルレイアウトにおけるシングルラインレイアウトとダブルラインレイアウトの違いと使い方

レイアウトにul>liを使用した単一行レイアウトを以下に示します。 <ul class=...

Linux で FTP イメージ サーバーをインストールして展開する方法

Linux で FTP サーバーを設定するためのチュートリアルを参照してください https://w...

Vue Element フロントエンドアプリケーション開発: Vuex での API ストアビューの使用

目次概要1. フロントエンドとバックエンドの分離とWeb APIの優先ルート設計2. Axiosネッ...