GNU/Linux >> Linux の 問題 >  >> Linux

Linux – LinuxでIptablesを使用して、LAN上の特定のユーザーのインターネットアクセスを制限する方法は?

LAN上にAとBの2人のユーザーがいるとします。iptablesルールを使用してユーザーAのインターネットアクセスを制限し、再起動後も有効になるようにルールを保存するにはどうすればよいですか。また、ある時点でそのユーザーにアクセスを許可したいとします。どうすれば再度有効にできますか? UbuntuLinux10.04を使用しています。私はローカルのsshログインを使用してマシンにログインすることが多いので、誰かがコマンドラインからそれを行う方法を教えてくれるといいでしょう。

承認された回答:

ユーザーAとBは、あなたが管理者である同じLinuxマシンを使用していると思います。 (あなたの質問からは完全には明らかではありません。AとBが管理者である独自のコンピューターを持っている場合、それはまったく別の問題です。)

次のコマンドは、uid1234を使用するユーザーがインターフェースeth0でパケットを送信できないようにします。 :

iptables -t mangle -A OUTPUT -o eth0 -m owner --uid-owner 1234 -j DROP
ip6tables -t mangle -A OUTPUT -o eth0 -m owner --uid-owner 1234 -j DROP

このツールの基本的な知識を得るために、Ubuntu iptablesガイドを読むことをお勧めします(マングルテーブルなどの高度な機能については、manページを参照してください)。

ユーザーは引き続きpingを実行できますが(setuid rootであるため)、それ以外は実行できません。ローカルプロキシが別のユーザーによって開始された場合でも、そのユーザーはローカルプロキシに接続できます。

このルールを削除するには、-Dを追加します 上記のコマンドに移動します。

ルールを永続的にするには、ルールを/etc/network/if-up.d/my-user-restrictionsに追加します (#!/bin/shで始まる実行可能スクリプトを作成します )。または、iptables-saveを使用します (詳細については、Ubuntu iptablesガイドを参照してください)。


Linux
  1. Ansibleを使用してLinuxユーザーを作成する方法

  2. Linux で PATH 変数を変更する方法

  3. Linux で特定のユーザーに対して特定のコマンドを無効にする方法

  1. Linuxでbashスクリプトを使用してインターネットアクセスをチェックするには?

  2. インターネットへの接続に使用しているインターフェイスを確認するにはどうすればよいですか?

  3. Linux + 特定のユーザーだけにファイルの読み取りを許可する方法

  1. Linuxファイアウォールを使用してローカルのなりすましアドレスをブロックする方法

  2. コマンドラインを使用してLinuxでユーザーを削除する方法

  3. LShell(制限付きシェル)を使用してユーザーのSSHアクセスを制限する方法