Linux jako router domowy i firewall – praktyczna konfiguracja krok po kroku
Linux od lat jest fundamentem urządzeń sieciowych: routerów, firewalli, systemów IDS/IPS i bram VPN. Co ważne – ten sam mechanizm możesz wykorzystać na zwykłym PC lub mini-serwerze, tworząc wydajny, bezpieczny router domowy bez zamkniętego firmware’u.
W tym artykule pokażę, jak skonfigurować Linuksa jako router i firewall, używając wyłącznie narzędzi systemowych.
Kiedy warto użyć Linuksa jako routera?
Linux jako router sprawdzi się idealnie, gdy:
- chcesz mieć pełną kontrolę nad ruchem sieciowym
- potrzebujesz zaawansowanego firewalla
- standardowy router ISP jest zbyt ograniczony
- planujesz VLAN, VPN, IDS lub segmentację sieci
- zależy Ci na stabilności i braku „chińskiego firmware’u”
Wymagania sprzętowe i sieciowe
Minimalne wymagania:
- komputer / mini-PC / serwer
- 2 interfejsy sieciowe:
- WAN (Internet)
- LAN (sieć lokalna)
- Linux (Debian / Ubuntu Server – rekomendowane)
Przykład:
| Interfejs | Funkcja | Adres |
|---|---|---|
| eth0 | WAN | DHCP od ISP |
| eth1 | LAN | 192.168.10.1/24 |
Krok 1: Konfiguracja interfejsów sieciowych
Sprawdź interfejsy:
ip a
Przypisz adres LAN:
sudo ip addr add 192.168.10.1/24 dev eth1
sudo ip link set eth1 up
(Produkcja: zrób to w netplan lub /etc/network/interfaces)
Krok 2: Włączenie routingu IP (kluczowe)
Linux domyślnie nie routuje pakietów.
Tymczasowo:
echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward
Na stałe:
sudo nano /etc/sysctl.conf
Dodaj / odkomentuj:
net.ipv4.ip_forward=1
Zastosuj:
sudo sysctl -p
Krok 3: NAT – udostępnianie Internetu (iptables / nftables)
Wariant klasyczny – iptables
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Zezwól na forwarding:
sudo iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
sudo iptables -A FORWARD -i eth0 -o eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT
👉 To rdzeń działania routera.

Krok 4: Firewall – twarde reguły bezpieczeństwa
Domyślna polityka (blokuj wszystko):
sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP
sudo iptables -P OUTPUT ACCEPT
Ruch lokalny i podstawy:
sudo iptables -A INPUT -i lo -j ACCEPT
sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
Dostęp z LAN do routera:
sudo iptables -A INPUT -i eth1 -j ACCEPT
Krok 5: DHCP i DNS dla sieci lokalnej (dnsmasq)
sudo apt install dnsmasq
Edytuj:
sudo nano /etc/dnsmasq.conf
Minimalna konfiguracja:
interface=eth1
dhcp-range=192.168.10.100,192.168.10.200,12h
Restart:
sudo systemctl restart dnsmasq
Krok 6: Ochrona przed skanowaniem i atakami
Blokada pingów z WAN:
sudo iptables -A INPUT -i eth0 -p icmp -j DROP
Limit połączeń:
sudo iptables -A INPUT -p tcp --syn -m limit --limit 2/s -j ACCEPT
Logowanie podejrzanego ruchu:
sudo iptables -A INPUT -j LOG --log-prefix "FW_DROP: "
Krok 7: Zabezpieczenie SSH (jeśli używane)
sudo iptables -A INPUT -p tcp --dport 22 -s 192.168.10.0/24 -j ACCEPT
❌ Nigdy nie wystawiaj SSH na WAN bez:
- kluczy
- fail2ban
- zmiany portu
- VPN
Krok 8: Trwałość reguł firewalla
Debian / Ubuntu:
sudo apt install iptables-persistent
sudo netfilter-persistent save
Co dalej? (rozszerzenia)
Po tej konfiguracji możesz dodać:
- VPN (WireGuard, OpenVPN)
- VLAN (segmentacja IoT / dzieci / goście)
- IDS/IPS (Suricata)
- QoS / kontrola pasma
- IPv6 firewall
- nftables zamiast iptables
👉 Powiązane artykuły na netbe.pl:
- konfiguracja UFW w Linuksie
- Linux jako serwer VPN
- segmentacja sieci domowej VLAN
- bezpieczeństwo usług sieciowych w Linuksie
Najczęstsze błędy
❌ brak ip_forward
❌ otwarty INPUT z WAN
❌ brak polityki DROP
❌ NAT bez FORWARD
❌ brak trwałości reguł
Podsumowanie
Linux jako router i firewall to rozwiązanie:
✔ bezpieczne
✔ stabilne
✔ wydajne
✔ w pełni kontrolowalne
Jeśli skonfigurujesz:
- routing IP
- NAT
- twardy firewall
- DHCP i DNS
👉 otrzymujesz profesjonalną bramę sieciową, lepszą niż większość gotowych routerów SOHO.






