Studiennotizen: UOS-Server-Firewall-Einstellungen und Port-80-8080-Zuordnungsmethode

Firewall installieren

apt install ufw

Firewall-Status anzeigen

sudo ufw status verbose

Stellen Sie Port 22 als zulässig ein (wenn Sie über SSH auf den Server zugreifen, muss zuerst Port 22 zugelassen werden, sonst können Sie nach dem Starten der Firewall keine Verbindung zum Server herstellen)

sudo ufw allow 22

Firewall starten

sudo ufw enable

Schalten Sie die Firewall aus

sudo ufw disable

Port 8080 zulassen

sudo ufw allow 8080

Konfigurieren Sie die Zuordnung von Port 80 zu Port 8080.
Schritt 1 Bearbeiten Sie die Datei /etc/default/ufw und ändern Sie die Parameter:
DEFAULT_FORWARD_POLICY="ACCEPT"

sudo vim /etc/default/ufw

Suchen Sie die Zeile DEFAULT_FORWARD_POLICY="DROP" und ändern Sie den Wert in "ACCEPT".

Schritt 2: Konfigurieren Sie /etc/ufw/sysctl.conf, um IPv4- oder IPv6-Weiterleitung zu ermöglichen (standardmäßig sind die Parameter auskommentiert).

sudo vim /etc/ufw/sysctl.conf

Die Datei enthält den folgenden Inhalt. Entfernen Sie bei Bedarf das #-Zeichen

#net/ipv4/ip_forward=1
#net/ipv6/conf/default/forwarding=1
#net/ipv6/conf/all/forwarding=1

Schritt 3: Fügen Sie NAT zur Konfiguration von /etc/ufw/before.rules hinzu. Fügen Sie vor den Filterregeln Folgendes hinzu (*filter)

sudo vim /etc/ufw/before.rules

Die Datei enthält ähnliche Inhalte wie:

#
# rules.before
#
# Rules that should be run before the ufw command line added rules. Custom
# rules should be added to one of these chains:
#   ufw-before-input
#   ufw-before-output
#   ufw-before-forward
#
# Don't delete these required lines, otherwise there will be errors
*filter
:ufw-before-input - [0:0]
:ufw-before-output - [0:0]
:ufw-before-forward - [0:0]
:ufw-not-local - [0:0]
# End required lines

Fügen Sie die NAT-Konfiguration vor *filter hinzu. Nach dem Hinzufügen lautet der Inhalt meiner Datei wie folgt

#
# rules.before
#
# Rules that should be run before the ufw command line added rules. Custom
# rules should be added to one of these chains:
#   ufw-before-input
#   ufw-before-output
#   ufw-before-forward
#

*nat
:PREROUTING ACCEPT [0:0]
-A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
COMMIT

# Don't delete these required lines, otherwise there will be errors
*filter
:ufw-before-input - [0:0]
:ufw-before-output - [0:0]
:ufw-before-forward - [0:0]
:ufw-not-local - [0:0]
# End required lines


# allow all on loopback
-A ufw-before-input -i lo -j ACCEPT
-A ufw-before-output -o lo -j ACCEPT

# quickly process packets for which we already have a connection
-A ufw-before-input -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A ufw-before-output -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A ufw-before-forward -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT

# drop INVALID packets (logs these in loglevel medium and higher)
-A ufw-before-input -m conntrack --ctstate INVALID -j ufw-logging-deny
-A ufw-before-input -m conntrack --ctstate INVALID -j DROP

# ok icmp codes for INPUT
-A ufw-before-input -p icmp --icmp-type destination-unreachable -j ACCEPT
-A ufw-before-input -p icmp --icmp-type time-exceeded -j ACCEPT
-A ufw-before-input -p icmp --icmp-type parameter-problem -j ACCEPT
-A ufw-before-input -p icmp --icmp-type echo-request -j ACCEPT

# ok icmp code for FORWARD
-A ufw-before-forward -p icmp --icmp-type destination-unreachable -j ACCEPT
-A ufw-before-forward -p icmp --icmp-type time-exceeded -j ACCEPT
-A ufw-before-forward -p icmp --icmp-type parameter-problem -j ACCEPT
-A ufw-before-forward -p icmp --icmp-type echo-request -j ACCEPT

# allow dhcp client to work
-A ufw-before-input -p udp --sport 67 --dport 68 -j ACCEPT

#
# ufw-not-local
#
-A ufw-before-input -j ufw-not-local

# if LOCAL, RETURN
-A ufw-not-local -m addrtype --dst-type LOCAL -j RETURN

# if MULTICAST, RETURN
-A ufw-not-local -m addrtype --dst-type MULTICAST -j RETURN

# if BROADCAST, RETURN
-A ufw-not-local -m addrtype --dst-type BROADCAST -j RETURN

# all other non-local packets are dropped
-A ufw-not-local -m limit --limit 3/min --limit-burst 10 -j ufw-logging-deny
-A ufw-not-local -j DROP

# allow MULTICAST mDNS for service discovery (be sure the MULTICAST line above
# is uncommented)
-A ufw-before-input -p udp -d 224.0.0.251 --dport 5353 -j ACCEPT

# allow MULTICAST UPnP for service discovery (be sure the MULTICAST line above
# is uncommented)
-A ufw-before-input -p udp -d 239.255.255.250 --dport 1900 -j ACCEPT

# don't delete the 'COMMIT' line or these rules won't be processed
COMMIT

Schritt 4 Starten Sie die Firewall neu

sudo ufw reload

Referenz

Konfigurieren Sie iptables und die UFW-Portweiterleitung.
Linux UOS-Firewall-Installation
Linux – Kann ich UFW verwenden, um die Portweiterleitung einzurichten?

Guess you like

Origin blog.csdn.net/sinat_37014456/article/details/119488932