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

推薦する

MySQLは変数を使用してさまざまなソートを実装します

コアコード -- 以下では、MySQLでのソート列の実装を示します -- テストデータ CREATE...

要素のフォーム要素の使用の概要

フォーム要素はたくさんあります。簡単にまとめると、次のようになります。私のやり方では、主にテキスト ...

MySQL でのテーブルの作成と削除の詳細な例

テーブル作成コマンドには以下が必要です。 テーブルの名前フィールド名各フィールドを定義します(タイ...

Ubuntu は、Mysql+Keepalived の高可用性実装 (デュアルアクティブ ホットスタンバイ) を構築します。

Mysql5.5 デュアルマシン ホットスタンバイ実装 2つのMySQLをインストールするMySQ...

WeChatアプレットがフォーム検証を実装

WeChatアプレットフォームの検証、参考までに具体的な内容は次のとおりです。プラグインWxVali...

Ubuntu 20.04 に cuda10.1 をインストールする手順 (グラフィック チュートリアル)

インストール前の準備CUDA の主な目的はディープラーニングであり、現在主流のディープラーニングフレ...

JavaScript における Arguments オブジェクトの使用に関する詳細な説明

目次序文議論の基本概念議論の役割実パラメータと仮パラメータの数を取得する実際のパラメータ値を変更する...

DockerでNginxサーバーを作成する方法

動作環境: MAC Docker バージョン: Docker version 17.12.0-ce,...

Linuxシステムのログの詳細な紹介

目次1. ログ関連サービス2. システム内の共通ログファイル1. ログ関連サービスCentOS 6....

CSS3 を使用した SVG パス ストロークのアニメーション化入門チュートリアル

JavaScript に依存せず、純粋な CSS を使用してsvgストローク描画アニメーション効果と...

Vue で手ぶれ補正を実装するためのサンプルコード

手ぶれ防止: 繰り返しのクリックによるイベントのトリガーを防止まず、揺れとは何でしょうか? 震えるの...

Jenkins は Docker イメージを構築し、Harbor ウェアハウスにプッシュします

目次DockerファイルドキュメントJenkins の設定Spring Boot プロジェクトでは、...

Nginx は高可用性クラスタ構築を実装します (Keepalived+Haproxy+Nginx)

1. コンポーネントと実装機能Keepalived: Haproxy サービスの高可用性を実現し、...

XHTMLタグには終了タグがある

<br />オリジナルリンク: http://www.dudo.org/article....

Mac Docker x509証明書の問題を解決する

質問最近、プライベートミラーセンターにログインする必要がありましたが、ログイン時にエラーメッセージが...