Instalacja
apt update && apt install -y ufwDomyslne zasady
ufw default deny incoming
ufw default allow outgoing
ufw allow from 192.168.10.0/24 comment 'Pełny dostep z LAN'Włączenie forwardowania
sudo nano /etc/sysctl.confwpisz
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv4.ip_forward=1Zapisz plik i zastosuj zmiany:
sysctl -psudo nano /etc/default/ufwznajdź i zamień linijkę
DEFAULT_FORWARD_POLICY="ACCEPT"Konfiguracja reguł NAT (Masquerade) w UFW
sudo nano /etc/ufw/before.rulesNa samym początku pliku (w pierwszych liniach, przed sekcją *filter) dodaj poniższy blok kodu odpowiedzialny za architekturę NAT:
# *nat - Reguly dla translacji adresow (NAT)
*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
# --- PRZEKIEROWANIE WAN → srv-www ---
# HTTP
-A PREROUTING -i enp4s6 -p tcp --dport 80 -j DNAT --to-destination 192.168.10.202:80
# HTTPS
-A PREROUTING -i enp4s6 -p tcp --dport 443 -j DNAT --to-destination 192.168.10.202:443
# --- NAT LAN → WAN ---
-A POSTROUTING -s 192.168.10.0/24 -o enp4s6 -j MASQUERADE
COMMITDo sekcji filter dopisz
# --- FORWARD LAN → WAN ---
-A ufw-before-forward -i br0 -o enp4s6 -j ACCEPT
# --- FORWARD WAN → LAN (tylko to, co DNAT) ---
-A ufw-before-forward -i enp4s6 -o br0 -p tcp --dport 80 -d 192.168.10.202 -j ACCEPT
-A ufw-before-forward -i enp4s6 -o br0 -p tcp --dport 443 -d 192.168.10.202 -j ACCEPT
# --- FORWARD WAN → LAN (SSH do kontenerów) ---
-A ufw-before-forward -i enp4s6 -o br0 -p tcp --dport 22 -j ACCEPT
Podstawowe zasady
Otwarcie mostka
ufw allow in on br0
ufw allow out on br0Pełen dostęp SSH z zewnątrz
ufw allow in on enp4s6 to any port 22 proto tcp comment 'SSH z zewnątrz'Forwarding 80/443 do Nginx (192.168.10.202)
ufw route allow in on enp4s6 to 192.168.10.202 port 80 proto tcp
ufw route allow in on enp4s6 to 192.168.10.202 port 443 proto tcp
Zastosowanie zmian
ufw reload
ufw enable
ufw status numberedSprawdzenie
lxc-attach -n srv-ad -- ping -c 3 1.1.1.1