UFW – IP-Adressbereich zulassen?

UFW – IP-Adressbereich zulassen?

Ich kann mithilfe der UFW-Firewall eine Regel hinzufügen, um einer einzelnen bekannten IP 192.168.1.32den Zugriff auf meinen Test-Webserver ( 192.168.1.48(in einem lokalen, größtenteils vertrauenswürdigen Netzwerk) unter Ubuntu 14.04 zu ermöglichen, indem ich Folgendes verwende:

sudo ufw allow proto tcp from 192.168.1.23 to 192.168.1.48 port 80

Gibt es eine Möglichkeit, einen Adressatenbereich hinzuzufügen?(z. B. 192.168.1.30-192.168.1.50um mehr Maschinen in meinem aktuellen Netzwerk zuzulassen)? Die Verwendung von 192.168.1.30-192.168.1.50und 192.168.1.30-192.168.1.50funktioniert nicht und führt zu ERROR: Bad source address.

Antwort1

Sie müssen eine Binärzahl (2,4,8,16, 32) verwenden, also verwenden Sie entweder einen größeren oder einen kleineren Bereich.genau20 Hosts sind mit einer Bitmaske in einer einzigen Regel einfach nicht möglich:

  • 16 Hosts (192.168.1.16 bis 192.168.1.31):

    sudo ufw allow proto tcp from  192.168.1.16/28 to 192.168.1.48 port 80
    

    Einzelheiten

    Address:   192.168.1.16          11000000.10101000.00000001.0001 0000
    Rule Mask: 255.255.255.240 = 28  11111111.11111111.11111111.1111 0000
    Wildcard:  0.0.0.15              00000000.00000000.00000000.0000 1111
    
    HostMin:   192.168.1.16          11000000.10101000.00000001.0001 0000
    HostMax:   192.168.1.31          11000000.10101000.00000001.0000 1111
    
  • 32 Hosts (192.168.1.0 - 192.168.1.31)

    sudo ufw allow proto tcp from 192.168.1.0/27 to 192.168.1.48 port 80
    

    Einzelheiten

    Address:   192.168.1.0           11000000.10101000.00000001.000 00000
    Rule Mask: 255.255.255.224 = 27  11111111.11111111.11111111.111 00000
    Wildcard:  0.0.0.31              00000000.00000000.00000000.000 11111
    
    HostMin:   192.168.1.0           11000000.10101000.00000001.000 00000
    HostMax:   192.168.1.31          11000000.10101000.00000001.000 11111
    
  • 64 Hosts (192.168.1.0 - 192.168.1.63)

    sudo ufw allow proto tcp from 192.168.1.0/26 to 192.168.1.48 port 80
    

    Einzelheiten

    Address:   192.168.1.0           11000000.10101000.00000001.00 000000
    Rule Mask: 255.255.255.192 = 26  11111111.11111111.11111111.11 000000
    Wildcard:  0.0.0.63              00000000.00000000.00000000.00 111111
    
    HostMin:   192.168.1.0           11000000.10101000.00000001.00 000000
    HostMax:   192.168.1.63          11000000.10101000.00000001.00 111111
    

Erläuterung

Ich kann es nicht besser erklären alsWikipedia

Antwort2

Eingehenden Datenverkehr von einer bestimmten IP-Adresse oder einem bestimmten Subnetz zulassen Um eingehende Verbindungen von einer bestimmten IP-Adresse oder einem bestimmten Subnetz zuzulassen, geben Sie die Quelle an. Führen Sie beispielsweise diesen Befehl aus:

sudo ufw allow from 192.168.1.0/24 to any port 22

ODER

sudo ufw allow from 192.168.1.0/24 to 192.168.1.48 port 80

Antwort3

Ich mag das

sudo ufw allow from 192.168.1.0/24 to any port 22

Ich verwende ufw ständig und mir gefällt auch das Nummerierungsschema, das mir hilft, den Überblick über den Paketfluss zu behalten:

sudo ufw insert 1 allow in proto tcp from 192.168.1.0/24 to any port
22 comment "SSH Network Connection"

Antwort4

ziemlich alte Frage, aber falls sich trotzdem noch jemand fragt, hier ist ein Weg, den ich gefunden habe

cat geolocationIpList.txt | awk '/^[^#]/ { print $1 }' | sudo xargs -I {} ufw deny from {} to any

Es liest jede Zeile des Textes und aktualisiert die Firewall-Regeln

Sie können es ändern, um es zuzulassen, wenn Sie es wieder rückgängig machen möchten ...

verwandte Informationen