GNU/Linux >> Znalost Linux >  >> Linux

Linux – Jak omezit přístup k internetu pro konkrétního uživatele v síti LAN pomocí Iptables v Linuxu?

Řekněme, že v síti LAN jsou dva uživatelé, A a B. Jak omezím uživatele A v přístupu k internetu pomocí pravidel iptables a pravidla uložím tak, aby po restartu byla stále účinná. Předpokládejme také, že chci v určitém okamžiku udělit tomuto uživateli přístup; jak to znovu povolím? Používám Ubuntu Linux 10.04. Bylo by hezké, kdyby mi někdo ukázal, jak to udělat z příkazového řádku, protože se často přihlašuji k počítači pomocí místního přihlášení ssh.

Přijatá odpověď:

Předpokládám, že uživatelé A a B používají stejný počítač se systémem Linux, kde jste správcem. (Z vaší otázky to není úplně jasné. Pokud A a B mají své vlastní počítače, na kterých jsou správci, je to úplně jiný problém.)

Následující příkaz zabrání uživateli s uid 1234 odesílat pakety na rozhraní 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

Doporučuji přečíst si průvodce Ubuntu iptables, abyste se s tímto nástrojem seznámili (a pokročilé věci, jako je mandlová tabulka, najdete v manuálové stránce).

Uživatel bude stále moci spouštět ping (protože je to setuid root), ale ne nic jiného. Uživatel se bude i nadále moci připojit k místnímu proxy, pokud byl tento proxy spuštěn jiným uživatelem.

Chcete-li toto pravidlo odstranit, přidejte -D na příkaz výše.

Aby bylo pravidlo trvalé, přidejte ho do /etc/network/if-up.d/my-user-restrictions (udělejte z toho spustitelný skript začínající #!/bin/sh ). Nebo použijte iptables-save (další informace naleznete v příručce Ubuntu iptables).


Linux
  1. Jak blokovat místní podvržené adresy pomocí firewallu Linux

  2. Jak odebrat uživatele v Linuxu pomocí příkazového řádku

  3. Jak omezit přístup SSH pro uživatele pomocí LShell (Limited Shell)

  1. Jak omezit su přístup pouze uživateli pomocí PAM v Linuxu

  2. Jak změnit proměnnou PATH v Linuxu

  3. Jak zjistit, jaké rozhraní používám pro připojení k internetu?

  1. Jak zakázat konkrétní příkaz pro konkrétního uživatele v Linuxu

  2. Jak zkontrolovat přístup k internetu pomocí bash skriptu v linuxu?

  3. Jak omezit přístup k internetu pro konkrétního uživatele v síti LAN pomocí iptables v Linuxu