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 最適化接続最適化

推薦する

データベースの水平セグメンテーションを実装するための2つのアイデア

導入インターネット アプリケーションの普及に伴い、膨大なデータの保存とアクセスがシステム設計における...

HTML ページ内の js および css ファイルのキャッシュを自動的にクリーンアップします (バージョン番号を自動的に追加します)

Web プロジェクトの開発プロセスでは、CSS ファイルや JS ファイルを参照することがよくあり...

Docker Compose のサイドカーモードの詳細な説明

目次Docker Composeとは要件に不適切な言語が使用されている実装Docker Compos...

Linux rpm および yum コマンドとその使用法の詳細な説明

RPM パッケージ管理インターネット ダウンロード パッケージのパッケージ化およびインストール ツー...

CSS で overflow-y: visible; が機能しない理由の分析と解決

シナリオ最近の要件は、モバイル デバイス用の h5 ページです。これには、選択可能なカードの行が必要...

2つのシンプルなメニューナビゲーションバーの例

メニューバーの例 1: コードをコピーコードは次のとおりです。 <!DOCTYPE html ...

jQuery はパーセンテージスコアリングの進捗バーを実装します

この記事では、パーセンテージスコアリングプログレスバーを実現するためのjQueryの具体的なコードを...

VueでEchartsチャートの幅と高さの適応を実現する実践

目次1. インストールとインポート2. 手ぶれ補正機能を定義する3. チャートコードを描くinit ...

Javascriptで戦略パターンを実装する方法

目次概要コードの実装要約する概要戦略パターンは、JavaScript デザイン パターンにおける動作...

ボックスモデルのサイズの詳細な説明は、パディング、マージン、境界の値によって異なります。

ボックス モデルは、要素ボックスの幅と高さ、パディング、境界線、余白のサイズを指定します。境界線の内...

MySQL ベースのシーケンス実装方法

チームは新しいフレームを交換しました。すべての新しいビジネスでは、新しいフレームワークと新しいデータ...

Vue Element フロントエンドアプリケーション開発のための従来の JS 処理機能

目次1. 従来のコレクションに対するフィルター、マップ、および削減処理方法2. 再帰処理3. for...

WebpackはCSSファイルを読み込み、その設定方法

webpackはCSSファイルとその設定をロードします複数の CSS ファイルを作成した後、HTML...

JavaScript で矢印関数を使用できないシナリオはどれですか

目次1. オブジェクトメソッドを定義する2. プロトタイプメソッドを定義する3. イベントコールバッ...